From 71161d45eab456d76459614a968953c01e27786a Mon Sep 17 00:00:00 2001 From: kvgkvg Date: Mon, 9 Nov 2026 10:47:59 +0700 Subject: [PATCH 01/17] Add the Cosmos3-Edge world-action model (LIBERO) Cosmos3-Edge-Policy-LIBERO: a 28-layer Mixture-of-Transformers that denoises 4 latent video frames and a 16-step action chunk together, 30 UniPC steps. The five stage graphs (Wan2.2 VAE encoder, prompt prefix, init, one UniPC step, de-normalization) were generated by ggml-compiler and are used as generated: src/models/cosmos3_edge_graphs.cpp, ported by scripts/port_cosmos3_graphs.py. cosmos3_edge_build.h gives them the five runtime calls they use, and cosmos3_edge_ops.h is ggml-compiler's ops header, copied unchanged. cosmos3_edge.cpp is the engine: weights, the stage graphs with a persistent buffer for what crosses stages, the 30-step loop, and the canvas the model expects (two views side by side, bicubic with antialias, reflection padding; or one canvas the caller made). cosmos3_edge_prompt.cpp builds the prompt from the instruction (JSON caption, chat template, a byte-level BPE read from the GGUF; ASCII text only, anything else is refused) and decodes rot6d to LIBERO commands. vla-cli --text and --libero use them. scripts/convert_cosmos3_edge_to_gguf.py turns a `ggml-compiler compile` output into the vla.cpp GGUF, with the tensors copied byte for byte; --policy-dir adds the tokenizer and the caption settings. Verified, bf16 GGUF, CPU and CUDA (RTX 3090) only; no other arch or backend touched, no existing output moved: - given lerobot's canvas, bit-identical to ggml-compiler's runtime: CPU on three prompts of 150, 153 and 161 tokens, CUDA on one (tests/py/cosmos3_edge_parity.py); - captions byte-identical and ids identical to lerobot and Hugging Face for the 40 LIBERO tasks and five edge cases, and for 550 random ASCII and special-token texts; llama.cpp b11223's BPE gave the same ids on 607 of 607 (test_cosmos3_edge_prompt, data in tests/data); rot6d decode within 7e-7 of lerobot's on 62 rows; - libero_spatial, 2 episodes per task, seed 0, CUDA: 18/20 with lerobot's canvas and tokens, 19/20 with the C++ canvas, tokenizer and decode in the loop (0 token mismatches in 168 calls). Twenty episodes do not separate these from each other or from the PyTorch policy; - ctest: 11/11. Not verified: ROCm, SYCL, Metal, OpenVINO, Hexagon, vla-server, a full 50-episode-per-task run through vla.cpp. --- CMakeLists.txt | 3 + scripts/convert_cosmos3_edge_to_gguf.py | 228 + scripts/port_cosmos3_graphs.py | 85 + src/arch.h | 10 + src/model.cpp | 12 +- src/models/cosmos3_edge.cpp | 679 +++ src/models/cosmos3_edge_build.h | 85 + src/models/cosmos3_edge_graphs.cpp | 5068 +++++++++++++++++++++++ src/models/cosmos3_edge_ops.h | 169 + src/models/cosmos3_edge_prompt.cpp | 497 +++ src/models/cosmos3_edge_prompt.h | 77 + src/serving/vla-cli.cpp | 24 +- src/tokenizer.cpp | 14 + tests/CMakeLists.txt | 16 + tests/cosmos3_edge_prompt_check.cpp | 176 + tests/cosmos3_edge_pyshim.cpp | 61 + tests/data/cosmos3_edge_bpe.tsv | 550 +++ tests/data/cosmos3_edge_prompts.tsv | 45 + tests/data/cosmos3_edge_rot6d.tsv | 62 + tests/py/cosmos3_edge_parity.py | 68 + tests/py/make_cosmos3_edge_fixtures.py | 96 + tests/py/test_converters.py | 48 + 22 files changed, 8070 insertions(+), 3 deletions(-) create mode 100644 scripts/convert_cosmos3_edge_to_gguf.py create mode 100644 scripts/port_cosmos3_graphs.py create mode 100644 src/models/cosmos3_edge.cpp create mode 100644 src/models/cosmos3_edge_build.h create mode 100644 src/models/cosmos3_edge_graphs.cpp create mode 100644 src/models/cosmos3_edge_ops.h create mode 100644 src/models/cosmos3_edge_prompt.cpp create mode 100644 src/models/cosmos3_edge_prompt.h create mode 100644 tests/cosmos3_edge_prompt_check.cpp create mode 100644 tests/cosmos3_edge_pyshim.cpp create mode 100644 tests/data/cosmos3_edge_bpe.tsv create mode 100644 tests/data/cosmos3_edge_prompts.tsv create mode 100644 tests/data/cosmos3_edge_rot6d.tsv create mode 100644 tests/py/cosmos3_edge_parity.py create mode 100644 tests/py/make_cosmos3_edge_fixtures.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d78ea00..9adb5ec7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -259,6 +259,9 @@ add_library(vla_core ${VLA_CORE_LIB_TYPE} src/models/turbovla.cpp src/models/act.cpp src/models/octo.cpp + src/models/cosmos3_edge.cpp + src/models/cosmos3_edge_graphs.cpp + src/models/cosmos3_edge_prompt.cpp src/tokenizer.cpp ) target_include_directories(vla_core diff --git a/scripts/convert_cosmos3_edge_to_gguf.py b/scripts/convert_cosmos3_edge_to_gguf.py new file mode 100644 index 00000000..0666b95f --- /dev/null +++ b/scripts/convert_cosmos3_edge_to_gguf.py @@ -0,0 +1,228 @@ +# Copyright 2026 VinRobotics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Cosmos3-Edge-Policy (lerobot/Cosmos3-Edge-Policy-LIBERO) -> vla.cpp GGUF. + +Unlike the other converters this one does not read the safetensors checkpoint. The graphs of +src/models/cosmos3_edge_graphs.cpp were generated by ggml-compiler from a PyTorch re-statement of the +model's inference (ggml/export.py in the port's repo), and they look their weights up by the compiler's +own names (`w.` for parameters, `c.` for constants it folded at compile time: the VAE's 2-D +kernels, the DomainAwareLinear slice of domain 5, mask and RoPE tables). The weights are therefore taken +from the same `ggml-compiler compile` run, so graphs and weights cannot disagree: + + ggml-compiler compile ggml/export.py:program --out out/cosmos3 --emit gguf,cpp --name cosmos3 \\ + --policy ggml/policy-bf16.yaml + python scripts/convert_cosmos3_edge_to_gguf.py --ckpt out/cosmos3/model.gguf --out cosmos3-edge-bf16.gguf + +Tensors are copied byte for byte (BF16 weights stay BF16, the VAE kernels F16, norms and constants F32). +The converter adds the architecture key, the sizes the runtime needs, and `cosmos3_edge.step_scalars` +[n_steps, n_scalars], the per-step UniPC coefficients that the compiler's driver feeds to the denoising stage. + +With `--policy-dir` (the checkpoint's directory: `config.json` and `tokenizer/`) it also embeds the model's +byte-level BPE tokenizer (llama.cpp's `tokenizer.ggml.*` keys) and the caption settings, so `vla-cli --text` +can build the prompt of a task itself (src/models/cosmos3_edge_prompt.cpp). +""" + +from __future__ import annotations + +import json +import math +import sys +from pathlib import Path + +import numpy as np + +import gguf +from gguf_common import ( + F32, + arg_parser, + copy_tensor, + finish, + kv_prefix, + kv_u32, + open_writer, + resolve_out, +) + +ARCH = "cosmos3_edge" +KV = kv_prefix(ARCH) + +# Stage parameters of the compiled driver, in the order the generated builders read them. +STAGES = ("vae_encode", "prefix", "init", "step", "finish") +INPUTS = ("canvas", "input_ids", "attention_mask", "video_noise", "action_noise") +OUTPUTS = ("actions", "xv") +SCALARS = ("t", "sigma", "E", "A", "B", "C", "D", "Fc", "Gc", "Hc") + + +def program_of(reader: gguf.GGUFReader) -> dict: + f = reader.fields.get("ggml_compiler.program") + if f is None: + raise SystemExit("not a ggml-compiler GGUF: no ggml_compiler.program key") + return json.loads(bytes(f.parts[-1]).decode()) + + +def string_of(reader: gguf.GGUFReader, key: str) -> str: + f = reader.fields.get(key) + return bytes(f.parts[-1]).decode() if f is not None else "" + + +def parse_program(prog: dict) -> dict: + """Check that `prog` (the compiler's ggml_compiler.program) is the program the graphs of + src/models/cosmos3_edge_graphs.cpp were generated from, and read the sizes and the per-step scalars out of + it. Pure Python: the scalar table is returned as rows of floats, one per denoising step.""" + stages = [s["name"] for s in prog["stages"]] + if tuple(stages) != STAGES: + raise SystemExit(f"expected stages {STAGES}, the program has {tuple(stages)}") + values = {v["name"]: v for v in prog["values"]} + ins = [v["name"] for v in prog["inputs"]] if prog["inputs"] and isinstance(prog["inputs"][0], dict) else list(prog["inputs"]) + if tuple(ins) != INPUTS: + raise SystemExit(f"expected inputs {INPUTS}, the program has {tuple(ins)}") + + loops = [op for op in prog["driver"] if op["op"] == "loop"] + if len(loops) != 1: + raise SystemExit(f"expected one denoising loop, found {len(loops)}") + loop = loops[0] + names = tuple(s["value"] for s in loop["scalars"]) + if names != SCALARS: + raise SystemExit(f"expected loop scalars {SCALARS}, the program has {names}") + n_steps = int(loop["n"]) + cols = [[float(x) for x in s["values"]] for s in loop["scalars"]] + if any(len(c) != n_steps for c in cols): + raise SystemExit(f"the scalar tables do not all have {n_steps} steps") + table = [[c[k] for c in cols] for k in range(n_steps)] # [n_steps][len(SCALARS)] + + def ne(name: str) -> list[int]: + return [int(x) for x in values[name]["ne"]] # ggml order, innermost first + + canvas_w, canvas_h, _, _ = ne("canvas") + return { + "table": table, "n_steps": n_steps, + "canvas_h": canvas_h, "canvas_w": canvas_w, "prompt_len": ne("input_ids")[0], + "video_tok": ne("video_noise")[1], "video_dim": ne("video_noise")[0], + "horizon": ne("action_noise")[1], "action_dim": ne("action_noise")[0], + } + + +def caption_settings(config: dict, canvas_h: int, canvas_w: int) -> dict: + """The settings of lerobot's Cosmos3PromptProcessorStep, from the policy's config.json.""" + # The aspect ratio the processor puts in the caption: the name of the tier canvas of that size (the 192x320 + # canvas of this model is the 16:9 one), else the reduced width and height. + known = {(320, 192): "16,9"} + ratio = known.get((canvas_w, canvas_h)) + if ratio is None: + d = math.gcd(canvas_w, canvas_h) + ratio = f"{canvas_w // d},{canvas_h // d}" + return { + "view_description": str(config["view_description"]), + "aspect_ratio": ratio, + "fps": float(config["fps"]), + "use_state": 1 if config.get("use_state") else 0, + "chunk_size": int(config["chunk_size"]), + } + + +def add_tokenizer(writer, tok_dir: Path) -> None: + """The BPE of tokenizer.json as llama.cpp's GGUF vocabulary keys (gpt2 model, "tekken" pre-tokenizer).""" + d = json.loads((tok_dir / "tokenizer.json").read_text()) + cfg = json.loads((tok_dir / "tokenizer_config.json").read_text()) + m = d["model"] + if m["type"] != "BPE" or not m.get("ignore_merges") or m.get("byte_fallback"): + raise SystemExit("expected a byte-level BPE tokenizer with ignore_merges, as the Cosmos3 tokenizer is") + vocab = m["vocab"] + tokens = [None] * len(vocab) + for tok, i in vocab.items(): + tokens[i] = tok + if any(t is None for t in tokens): + raise SystemExit("the vocabulary has gaps") + types = [1] * len(tokens) # llama.cpp: 1 normal, 2 unknown, 3 control, 4 user defined + for a in d["added_tokens"]: + types[a["id"]] = 3 if a["special"] else 4 + types[vocab[cfg["unk_token"]]] = 2 + merges = [" ".join(x) if isinstance(x, list) else x for x in m["merges"]] + writer.add_string("tokenizer.ggml.model", "gpt2") + writer.add_string("tokenizer.ggml.pre", "tekken") + writer.add_array("tokenizer.ggml.tokens", tokens) + writer.add_array("tokenizer.ggml.token_type", types) + writer.add_array("tokenizer.ggml.merges", merges) + for key, name in (("bos_token_id", "bos_token"), ("eos_token_id", "eos_token"), ("unknown_token_id", "unk_token"), + ("padding_token_id", "pad_token")): + writer.add_uint32(f"tokenizer.ggml.{key}", vocab[cfg[name]]) + writer.add_bool("tokenizer.ggml.add_bos_token", False) + print(f"tokenizer: {len(tokens)} tokens, {len(merges)} merges, {sum(t in (3, 4) for t in types)} special") + + +def main() -> int: + ap = arg_parser( + ARCH, + "model.gguf written by `ggml-compiler compile` of ggml/export.py (bf16 policy recommended)", + description=__doc__, + ) + ap.add_argument("--policy-dir", type=Path, default=None, + help="the checkpoint's directory (config.json, tokenizer/): embeds the tokenizer and the caption settings") + args = ap.parse_args() + src = args.ckpt.resolve() + if src.is_dir(): + src = src / "model.gguf" + if not src.exists(): + raise SystemExit(f"missing {src}") + out = args.out.resolve() if args.out else resolve_out(args, src.parent, ARCH) + + reader = gguf.GGUFReader(str(src)) + prog = program_of(reader) + + info = parse_program(prog) + table, n_steps = info["table"], info["n_steps"] + canvas_h, canvas_w, prompt_len = info["canvas_h"], info["canvas_w"], info["prompt_len"] + video_tok, video_dim, horizon, action_dim = info["video_tok"], info["video_dim"], info["horizon"], info["action_dim"] + + writer = open_writer(out, ARCH) + kv_u32(writer, KV, { + "canvas_h": canvas_h, "canvas_w": canvas_w, "prompt_len": prompt_len, + "video_noise_tokens": video_tok, "video_noise_dim": video_dim, + "num_steps": n_steps, "chunk_size": horizon, "action_dim": action_dim, + "max_action_dim": 64, "n_scalars": len(SCALARS), "n_layers": 28, + "n_tensors_expected": len(reader.tensors), + }) + writer.add_string(KV("scalars"), json.dumps(list(SCALARS))) + writer.add_string(KV("tensor_names"), string_of(reader, "ggml_compiler.tensor_names")) + writer.add_string(KV("source"), json.dumps({ + "compiler_gguf": src.name, "compiler_source": string_of(reader, "ggml_compiler.source"), + "options": string_of(reader, "ggml_compiler.options"), + "specialized": prog.get("specialized", None), + })) + writer.add_string(KV("io_meta"), string_of(reader, "ggml_compiler.meta")) + + if args.policy_dir is not None: + pdir = args.policy_dir.resolve() + cs = caption_settings(json.loads((pdir / "config.json").read_text()), canvas_h, canvas_w) + if cs["chunk_size"] != horizon: + raise SystemExit(f"config.json chunk_size {cs['chunk_size']} is not the program's {horizon}") + writer.add_string(KV("caption.view_description"), cs["view_description"]) + writer.add_string(KV("caption.aspect_ratio"), cs["aspect_ratio"]) + writer.add_float32(KV("caption.fps"), cs["fps"]) + writer.add_uint32(KV("caption.use_state"), cs["use_state"]) + add_tokenizer(writer, pdir / "tokenizer") + + n = 0 + for t in reader.tensors: + copy_tensor(writer, t) + n += 1 + writer.add_tensor(KV("step_scalars"), np.ascontiguousarray(np.asarray(table, dtype=np.float32)), raw_dtype=F32) + print(f"{n} tensors copied, {n_steps} steps x {len(SCALARS)} scalars, canvas {canvas_h}x{canvas_w}, " + f"prompt {prompt_len}, video noise {video_tok}x{video_dim}, actions {horizon}x{action_dim}") + return finish(writer, out) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/scripts/port_cosmos3_graphs.py b/scripts/port_cosmos3_graphs.py new file mode 100644 index 00000000..ecbaf90d --- /dev/null +++ b/scripts/port_cosmos3_graphs.py @@ -0,0 +1,85 @@ +# Copyright 2026 VinRobotics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Port the C++ that `ggml-compiler compile --emit cpp --name cosmos3` generated into +src/models/cosmos3_edge_graphs.cpp, the one vla.cpp source file that is not hand written. + + python scripts/port_cosmos3_graphs.py --in out/cosmos3/cpp/cosmos3.cpp \\ + --out src/models/cosmos3_edge_graphs.cpp + +Only the frame changes: the include of the generated header becomes cosmos3_edge_build.h, the ops header +becomes cosmos3_edge_ops.h, the anonymous namespace becomes vla::cosmos3_edge_graphs (so the builders can be +declared in the header), and the registration table plus `cosmos3_load` at the end (they bind the generated +code to ggml-compiler's runtime) are dropped. Every ggml call in the five builders is kept as generated. +""" + +import argparse +import re +import sys +from pathlib import Path + +HEADER = """// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// GENERATED by ggml-compiler (`ggml-compiler compile ggml/export.py:program --emit gguf,cpp --name cosmos3 +// --policy ggml/policy-bf16.yaml`) and ported with scripts/port_cosmos3_graphs.py. Do not edit by hand: +// regenerate. One ggml graph builder per stage of the Cosmos3-Edge-Policy world-action model: vae_encode, +// prefix, init, step (one UniPC update, run 30 times), finish. Each line names the PyTorch module it came from. +""" + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--in", dest="src", type=Path, required=True, help="generated cosmos3.cpp") + ap.add_argument("--out", type=Path, required=True, help="src/models/cosmos3_edge_graphs.cpp") + args = ap.parse_args() + + text = args.src.read_text() + # Drop the generated banner (everything before the first #include). + first = text.index("#include") + body = text[first:] + + body, n = re.subn(r'#include "cosmos3\.h"', '#include "cosmos3_edge_build.h"', body) + assert n == 1, "generated header include not found" + body, n = re.subn(r'#include "ggml_compiler_ops\.h"', '#include "cosmos3_edge_ops.h"', body) + assert n == 1, "ops header include not found" + + body, n = re.subn(r"\nnamespace \{\n", "\nnamespace vla::cosmos3_edge_graphs {\n", body, count=1) + assert n == 1, "anonymous namespace not found" + + cut = body.index("const ggml_compiler_builder kBuilders[]") + body = body[:cut].rstrip() + "\n\n} // namespace vla::cosmos3_edge_graphs\n" + + for stage in ("vae_encode", "prefix", "init", "step", "finish"): + assert f"int build_{stage}(ggml_compiler_stage_build * B)" in body, f"missing builder {stage}" + assert "ggml_compiler_load" not in body and "kBuilders" not in body + + args.out.write_text(HEADER + "\n" + body) + print(f"{args.out}: {body.count(chr(10))} lines") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/src/arch.h b/src/arch.h index ddbfcb17..66771aca 100644 --- a/src/arch.h +++ b/src/arch.h @@ -73,6 +73,7 @@ enum class Arch { VLA_JEPA, // LeRobot Qwen3-VL-2B-Instruct+V-JEPÀ+DiT-B FM. TURBOVLA, // TurboVLA (DINOv3 + BERT + VL Fusion + ACT decoder). ACT, // LeRobot ACT (ResNet + transformer encoder-decoder, no language). + COSMOS3_EDGE,// NVIDIA Cosmos3-Edge world-action model (Nemotron MoT + Wan2.2 VAE, UniPC). }; /** @@ -251,6 +252,15 @@ std::unique_ptr act_create(const std::string& mmproj_path, const std::string& config_path, const Options& opts); +/** + * @brief Build a Cosmos3-Edge model (LIBERO). The VAE is baked into @p ckpt_path; the graphs are generated. + * @copydetails smolvla_create + */ +std::unique_ptr cosmos3_edge_create(const std::string& mmproj_path, + const std::string& ckpt_path, + const std::string& config_path, + const Options& opts); + /** * @brief Inspect a GGUF and identify the architecture tag. * diff --git a/src/model.cpp b/src/model.cpp index 8d22246e..7f4e0f64 100644 --- a/src/model.cpp +++ b/src/model.cpp @@ -81,6 +81,7 @@ bool detect_arch_gguf(const std::string& path, Arch* out) { try_str("vla_jepa.architecture", arch_str) || try_str("vla_adapter.architecture", arch_str) || try_str("turbovla.architecture", arch_str) || + try_str("cosmos3_edge.architecture", arch_str) || try_str("act.architecture", arch_str)) { if (arch_str == "smolvla") { *out = Arch::SMOLVLA; @@ -138,6 +139,10 @@ bool detect_arch_gguf(const std::string& path, Arch* out) { *out = Arch::ACT; ok = true; } + else if (arch_str == "cosmos3_edge") { + *out = Arch::COSMOS3_EDGE; + ok = true; + } } gguf_free(gctx); @@ -249,7 +254,8 @@ Model* model_load(const std::string& mmproj_path, const std::string& ckpt_path, : arch == Arch::VLA_ADAPTER ? "vla_adapter" : arch == Arch::OPENVLA_OFT ? "openvla_oft" : arch == Arch::TURBOVLA ? "turbovla" - : arch == Arch::ACT ? "act" : nullptr; + : arch == Arch::ACT ? "act" + : arch == Arch::COSMOS3_EDGE ? "cosmos3_edge" : nullptr; if (name) { std::fprintf(stderr, "vla(%s): num_steps is not supported\n", name); return nullptr; @@ -322,6 +328,10 @@ Model* model_load(const std::string& mmproj_path, const std::string& ckpt_path, std::printf("vla: arch = act\n"); impl = act_create(mmproj_path, ckpt_path, config_path, opts); break; + case Arch::COSMOS3_EDGE: + std::printf("vla: arch = cosmos3_edge\n"); + impl = cosmos3_edge_create(mmproj_path, ckpt_path, config_path, opts); + break; } if (!impl) return nullptr; diff --git a/src/models/cosmos3_edge.cpp b/src/models/cosmos3_edge.cpp new file mode 100644 index 00000000..e00e94b6 --- /dev/null +++ b/src/models/cosmos3_edge.cpp @@ -0,0 +1,679 @@ +// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Cosmos3-Edge-Policy (LIBERO): a world-action model. One 28-layer Mixture-of-Transformers backbone denoises +// 4 latent video frames and a 16-step action chunk together, conditioned on the VAE latent of the current +// frame and on the prompt, with 30 UniPC steps. +// +// The graphs are not written here: src/models/cosmos3_edge_graphs.cpp was generated by ggml-compiler (see +// scripts/port_cosmos3_graphs.py) for five stages, and this file is the engine around them: +// vae_encode(canvas) -> z0 Wan2.2 encoder, one frame +// prefix(input_ids, mask) -> K/V of 28 layers, bias, cos, sin the understanding stream, once +// init(z0, video_noise, action_noise) -> the 8 values the denoising loop carries +// step(carries, K/V, ..., 10 scalars) x 30 one UniPC update, the scalars per step +// finish(xa) -> actions de-normalized (q01/q99), rot6d +// Values that cross stages stay in one device buffer; a graph writes its outputs into it with ggml_cpy. +// +// The input contract is the one of the compiled program (see docs/MODELS.md): two camera views, in the +// order [third person, wrist], composed into the 192x320 canvas here exactly as lerobot's +// Cosmos3VideoCanvasProcessorStep does (or one canvas the caller composed); the prompt as token ids, which +// src/models/cosmos3_edge_prompt.cpp builds from the instruction (vla-cli --text); `Inputs::noise` the 16x10 +// action noise (video noise is drawn here, or read from VLA_COSMOS3_VIDEO_NOISE). The 10 action columns are +// [dpos(3), rot6d(6), gripper]; cosmos3_libero_action (same file) decodes them to a LIBERO command. + +#include "arch.h" +#include "backend.h" +#include "cosmos3_edge_build.h" +#include "gguf_reader.h" +#include "model.h" +#include "options.h" + +#include "ggml.h" +#include "ggml-alloc.h" +#include "ggml-backend.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace vla { +namespace { + +namespace graphs = cosmos3_edge_graphs; + +constexpr int kViews = 2; // [third person, wrist] +constexpr int kViewSize = 256; // each view, square (lerobot view_size) +constexpr int kContentH = 160; // the composed 256x512 frame fit into the canvas, never enlarged +constexpr int kContentW = 320; +constexpr int kCarries = 8; // xv xa lv la m1v m1a m2v m2a +constexpr int kLayers = 28; +constexpr int kPrefixOuts = kLayers * 2 + 3; // K and V per layer, bias, cos, sin +constexpr int kScalars = 10; // t sigma E A B C D Fc Gc Hc +constexpr int kStageCount = 5; +constexpr int kExpectedTensors = 649; + +enum StageId { VAE = 0, PREFIX = 1, INIT = 2, STEP = 3, FINISH = 4 }; + +double now_ms() { + using clock = std::chrono::steady_clock; + return std::chrono::duration(clock::now().time_since_epoch()).count(); +} + +// ------------------------------------------------------------------------------------------------ +// The canvas: lerobot's Cosmos3VideoCanvasProcessorStep for two 256x256 views (LIBERO) +// ------------------------------------------------------------------------------------------------ + +// torch's antialiased resampling (aten UpSampleKernel, align_corners=False): per output index the input +// range and its normalized filter weights. Float arithmetic as in aten, so uint8 results agree. +struct AaTaps { + std::vector xmin, xsize; + std::vector w; // [out][maxk] + int maxk = 0; +}; + +float triangle(float x) { + x = std::fabs(x); + return x < 1.f ? 1.f - x : 0.f; +} + +// Keys' cubic, a = -0.5, written as aten's cubic_convolution1/2 (the same value as the textbook form, but not +// the same float rounding). +float cubic(float x) { + const float a = -0.5f; + x = std::fabs(x); + if (x < 1.f) + return ((a + 2.f) * x - (a + 3.f)) * x * x + 1.f; + if (x < 2.f) + return ((a * x - 5.f * a) * x + 8.f * a) * x - 4.f * a; + return 0.f; +} + +// The types are aten's (_compute_indices_min_size_weights_aa): float values, but sums with the double literals +// 0.5 and 1.0 are done in double, then narrowed. +AaTaps aa_taps(int in, int out, bool bicubic) { + AaTaps t; + const float scale = (float) in / (float) out; + const double interp = bicubic ? 4.0 : 2.0; + const float support = scale >= 1.f ? (float) ((interp * 0.5) * (double) scale) : (float) (interp * 0.5); + const float invscal = scale >= 1.f ? (float) (1.0 / (double) scale) : 1.f; + t.maxk = (int) std::ceil(support) * 2 + 1; + t.xmin.resize((size_t) out); + t.xsize.resize((size_t) out); + t.w.assign((size_t) out * (size_t) t.maxk, 0.f); + for (int i = 0; i < out; i++) { + const float center = (float) ((double) scale * ((double) i + 0.5)); + const int lo = std::max((int) ((double) (center - support) + 0.5), 0); + const int hi = std::min((int) ((double) (center + support) + 0.5), in); + const int n = hi - lo; + float * w = &t.w[(size_t) i * (size_t) t.maxk]; + float total = 0.f; + for (int j = 0; j < n; j++) { + const float d = (float) (j + lo) - center; + const float x = (float) (((double) d + 0.5) * (double) invscal); + w[j] = bicubic ? cubic(x) : triangle(x); + total += w[j]; + } + if (total != 0.f) + for (int j = 0; j < n; j++) + w[j] /= total; + t.xmin[(size_t) i] = lo; + t.xsize[(size_t) i] = n; + } + return t; +} + +// planes: [n_planes][h][w] floats -> [n_planes][oh][ow]; width first, then height, as aten does. +std::vector resize_aa(const std::vector & src, int planes, int h, int w, int oh, int ow, bool bicubic) { + const AaTaps tw = aa_taps(w, ow, bicubic); + const AaTaps th = aa_taps(h, oh, bicubic); + std::vector tmp((size_t) planes * (size_t) h * (size_t) ow); + for (int p = 0; p < planes; p++) + for (int y = 0; y < h; y++) { + const float * row = &src[((size_t) p * h + y) * (size_t) w]; + float * dst = &tmp[((size_t) p * h + y) * (size_t) ow]; + for (int x = 0; x < ow; x++) { + const float * k = &tw.w[(size_t) x * (size_t) tw.maxk]; + float s = 0.f; + for (int j = 0; j < tw.xsize[(size_t) x]; j++) + s = std::fmaf(row[tw.xmin[(size_t) x] + j], k[j], s); + dst[x] = s; + } + } + std::vector out((size_t) planes * (size_t) oh * (size_t) ow); + for (int p = 0; p < planes; p++) + for (int y = 0; y < oh; y++) { + const float * k = &th.w[(size_t) y * (size_t) th.maxk]; + for (int x = 0; x < ow; x++) { + float s = 0.f; + for (int j = 0; j < th.xsize[(size_t) y]; j++) + s = std::fmaf(tmp[((size_t) p * h + (size_t) (th.xmin[(size_t) y] + j)) * (size_t) ow + (size_t) x], k[j], s); + out[((size_t) p * oh + y) * (size_t) ow + (size_t) x] = s; + } + } + return out; +} + +// One camera view as CHW floats in [0, 1], at kViewSize (bilinear with antialias and uint8 rounding when it +// has another size, as the processor's prepare_view does). +bool view_chw(const ImageView & v, std::vector & chw) { + if (!v.data || v.w <= 0 || v.h <= 0) + return false; + const size_t n = (size_t) v.w * (size_t) v.h; + chw.resize(3 * n); + for (size_t i = 0; i < n; i++) + for (int c = 0; c < 3; c++) { + const float x = v.format == PixelFormat::U8 ? (float) ((const uint8_t *) v.data)[i * 3 + (size_t) c] / 255.f + : ((const float *) v.data)[i * 3 + (size_t) c]; + chw[(size_t) c * n + i] = x; + } + if (v.w != kViewSize || v.h != kViewSize) { + std::vector scaled(chw.size()); + for (size_t i = 0; i < chw.size(); i++) + scaled[i] = chw[i] * 255.f; + std::vector r = resize_aa(scaled, 3, v.h, v.w, kViewSize, kViewSize, false); + for (float & x : r) + x = std::min(std::max(std::nearbyint(x), 0.f), 255.f) / 255.f; + chw = std::move(r); + } + return true; +} + +// Two views -> the float canvas [3][canvas_h][canvas_w] in uint8 levels. +bool make_canvas(const ImageView * images, int n_images, int canvas_h, int canvas_w, std::vector & canvas) { + // A caller that composes the canvas itself (lerobot's processor in Python) sends it as the one image. + if (n_images == 1 && images[0].data && images[0].w == canvas_w && images[0].h == canvas_h) { + const size_t n = (size_t) canvas_w * (size_t) canvas_h; + canvas.resize(3 * n); + for (size_t i = 0; i < n; i++) + for (size_t c = 0; c < 3; c++) { + const size_t k = i * 3 + c; + canvas[c * n + i] = images[0].format == PixelFormat::U8 + ? (float) ((const uint8_t *) images[0].data)[k] + : std::nearbyint(((const float *) images[0].data)[k] * 255.f); + } + return true; + } + if (n_images != kViews) { + std::fprintf(stderr, "vla(cosmos3_edge): expected %d views [third person, wrist] or one %dx%d canvas, got %d images\n", kViews, canvas_w, canvas_h, n_images); + return false; + } + if (canvas_h != kContentH + 32 || canvas_w != kContentW) { + std::fprintf(stderr, "vla(cosmos3_edge): the canvas layout is compiled for 192x320\n"); + return false; + } + std::vector views[kViews]; + for (int i = 0; i < kViews; i++) + if (!view_chw(images[i], views[i])) { + std::fprintf(stderr, "vla(cosmos3_edge): view %d is empty\n", i); + return false; + } + // Side by side, to uint8 by truncation (the processor does (frame * 255).clamp(0, 255).to(uint8)). + const int fw = kViewSize * kViews, fh = kViewSize; + std::vector frame((size_t) 3 * (size_t) fh * (size_t) fw); + for (int c = 0; c < 3; c++) + for (int y = 0; y < fh; y++) + for (int v = 0; v < kViews; v++) + for (int x = 0; x < kViewSize; x++) { + const float f = views[v][((size_t) c * fh + y) * kViewSize + (size_t) x] * 255.f; + frame[((size_t) c * fh + y) * (size_t) fw + (size_t) (v * kViewSize + x)] = + std::trunc(std::min(std::max(f, 0.f), 255.f)); + } + // Bicubic with antialias into the content area (rounded to even, as torch.round), then the canvas rows + // below it by reflection. + std::vector content = resize_aa(frame, 3, fh, fw, kContentH, kContentW, true); + for (float & x : content) + x = std::nearbyint(std::min(std::max(x, 0.f), 255.f)); + canvas.assign((size_t) 3 * (size_t) canvas_h * (size_t) canvas_w, 0.f); + for (int c = 0; c < 3; c++) + for (int y = 0; y < canvas_h; y++) { + const int sy = y < kContentH ? y : 2 * (kContentH - 1) - y; // reflect without repeating the edge row + std::memcpy(&canvas[((size_t) c * canvas_h + y) * (size_t) canvas_w], + &content[((size_t) c * kContentH + (size_t) sy) * kContentW], sizeof(float) * kContentW); + } + return true; +} + +// ------------------------------------------------------------------------------------------------ +// The architecture +// ------------------------------------------------------------------------------------------------ + +struct Cosmos3EdgeModelArch : public ModelArchBase { + Cosmos3EdgeModelArch() : ModelArchBase(Arch::COSMOS3_EDGE) {} + ~Cosmos3EdgeModelArch() override; + + ggml_backend_t backend = nullptr; + bool gpu = false; + int n_threads = default_cpu_threads(); + + // Sizes, from the GGUF. + int canvas_h = 192, canvas_w = 320, prompt_len = 192; + int vn_tokens = 200, vn_dim = 192; // video noise [tokens, dim] + int steps = 30, horizon = 16, adim = 10; + + ggml_context * ctx_w = nullptr; // weights + ggml_backend_buffer_t buf_w = nullptr; + std::unordered_map W; + + ggml_context * ctx_s = nullptr; // values that live across stages + ggml_backend_buffer_t buf_s = nullptr; + + struct Stage { + ggml_context * ctx = nullptr; + ggml_cgraph * gf = nullptr; + ggml_gallocr_t galloc = nullptr; + } stage[kStageCount]; + + // Inputs of the program. + ggml_tensor *canvas = nullptr, *ids = nullptr, *mask = nullptr, *vnoise = nullptr, *anoise = nullptr; + // Between stages. + ggml_tensor * z0 = nullptr; + std::vector prefix_out; // kPrefixOuts + ggml_tensor * carry_in[kCarries] = {}; + ggml_tensor * carry_out[kCarries] = {}; + ggml_tensor * scalar[kScalars] = {}; + ggml_tensor * actions_out = nullptr; + + std::vector step_scalars; // [steps][kScalars] + std::string video_noise_file; + uint64_t calls = 0; + + bool load_weights(gguf_reader & g); + bool build_stage(StageId id, int (*fn)(graphs::ggml_compiler_stage_build *), std::vector params, + size_t n_out, std::vector & outs); + bool build_all(); + ggml_tensor * state(ggml_type type, int64_t n0, int64_t n1 = 1, int64_t n2 = 1, int64_t n3 = 1); + ggml_tensor * state_like(const ggml_tensor * t); + bool run(StageId id); + + std::vector predict(const Inputs & in) override; +}; + +Cosmos3EdgeModelArch::~Cosmos3EdgeModelArch() { + for (auto & s : stage) { + if (s.galloc) + ggml_gallocr_free(s.galloc); + if (s.ctx) + ggml_free(s.ctx); + } + if (buf_s) + ggml_backend_buffer_free(buf_s); + if (ctx_s) + ggml_free(ctx_s); + if (buf_w) + ggml_backend_buffer_free(buf_w); + if (ctx_w) + ggml_free(ctx_w); + if (backend) + ggml_backend_free(backend); +} + +ggml_tensor * Cosmos3EdgeModelArch::state(ggml_type type, int64_t n0, int64_t n1, int64_t n2, int64_t n3) { + return ggml_new_tensor_4d(ctx_s, type, n0, n1, n2, n3); +} + +ggml_tensor * Cosmos3EdgeModelArch::state_like(const ggml_tensor * t) { + return ggml_new_tensor(ctx_s, t->type, ggml_n_dims(t), t->ne); +} + +bool Cosmos3EdgeModelArch::load_weights(gguf_reader & g) { + const int64_t n = gguf_get_n_tensors(g.gctx); + ggml_init_params p = { (size_t) (n + 8) * ggml_tensor_overhead(), nullptr, true }; + ctx_w = ggml_init(p); + if (!ctx_w) + return false; + std::vector names; + for (int64_t i = 0; i < n; i++) { + const std::string name = gguf_get_tensor_name(g.gctx, i); + if (name.rfind("cosmos3_edge.", 0) == 0) // metadata tensors, not weights + continue; + const ggml_tensor * m = g.meta(name.c_str()); + if (!m) { + std::fprintf(stderr, "vla(cosmos3_edge): no metadata for tensor %s\n", name.c_str()); + return false; + } + ggml_tensor * t = ggml_new_tensor(ctx_w, m->type, ggml_n_dims(m), m->ne); + ggml_set_name(t, name.c_str()); + W[name] = t; + names.push_back(name); + } + if ((int) names.size() != kExpectedTensors) { + std::fprintf(stderr, "vla(cosmos3_edge): %zu weight tensors, the graphs were generated for %d; " + "regenerate them with scripts/port_cosmos3_graphs.py\n", names.size(), kExpectedTensors); + return false; + } + buf_w = alloc_weights(ctx_w, backend); + if (!buf_w) { + std::fprintf(stderr, "vla(cosmos3_edge): cannot allocate the weights (%zu tensors)\n", names.size()); + return false; + } + std::vector tmp; + for (const std::string & name : names) { + ggml_tensor * t = W[name]; + tmp.resize(ggml_nbytes(t)); + if (!g.read_raw(name.c_str(), tmp.data(), tmp.size())) + return false; + ggml_backend_tensor_set(t, tmp.data(), 0, tmp.size()); + } + return true; +} + +// Build one stage's graph: the generated builder, then a ggml_cpy of every output into a persistent tensor +// (created by the caller through `outs`, which receives the builder's output nodes). +bool Cosmos3EdgeModelArch::build_stage(StageId id, int (*fn)(graphs::ggml_compiler_stage_build *), + std::vector params, size_t n_out, + std::vector & outs) { + Stage & s = stage[id]; + ggml_init_params p = { (size_t) 96 << 20, nullptr, true }; + s.ctx = ggml_init(p); + if (!s.ctx) + return false; + graphs::ggml_compiler_stage_build b; + b.ctx = s.ctx; + b.gpu = gpu; + b.params = std::move(params); + b.weights = &W; + if (fn(&b) != 0 || !b.error.empty()) { + std::fprintf(stderr, "vla(cosmos3_edge): stage %d: %s\n", (int) id, b.error.empty() ? "builder failed" : b.error.c_str()); + return false; + } + if (b.outputs.size() != n_out) { + std::fprintf(stderr, "vla(cosmos3_edge): stage %d returned %zu outputs, expected %zu\n", (int) id, b.outputs.size(), n_out); + return false; + } + outs = std::move(b.outputs); + return true; +} + +bool Cosmos3EdgeModelArch::build_all() { + ggml_init_params p = { (size_t) 512 * ggml_tensor_overhead(), nullptr, true }; + ctx_s = ggml_init(p); + if (!ctx_s) + return false; + + // Inputs (ggml order: innermost first). + canvas = state(GGML_TYPE_F32, canvas_w, canvas_h, 3, 1); + ids = state(GGML_TYPE_I32, prompt_len, 1); + mask = state(GGML_TYPE_F32, prompt_len, 1); + vnoise = state(GGML_TYPE_F32, vn_dim, vn_tokens, 1); + anoise = state(GGML_TYPE_F32, adim, horizon, 1); + for (auto & t : scalar) + t = state(GGML_TYPE_F32, 1); + + // Each stage: build, give every output a persistent home, add the copies to the graph. + auto finish_graph = [&](StageId id, const std::vector & outs, const std::vector & dsts) { + Stage & s = stage[id]; + s.gf = ggml_new_graph_custom(s.ctx, 16384, false); + for (size_t i = 0; i < outs.size(); i++) + ggml_build_forward_expand(s.gf, ggml_cpy(s.ctx, outs[i], dsts[i])); + }; + + std::vector outs; + if (!build_stage(VAE, graphs::build_vae_encode, { canvas }, 1, outs)) + return false; + z0 = state_like(outs[0]); + finish_graph(VAE, outs, { z0 }); + + if (!build_stage(PREFIX, graphs::build_prefix, { ids, mask }, kPrefixOuts, outs)) + return false; + prefix_out.clear(); + for (ggml_tensor * o : outs) + prefix_out.push_back(state_like(o)); + finish_graph(PREFIX, outs, prefix_out); + + if (!build_stage(INIT, graphs::build_init, { z0, vnoise, anoise }, kCarries, outs)) + return false; + for (int i = 0; i < kCarries; i++) + carry_in[i] = state_like(outs[(size_t) i]); + finish_graph(INIT, outs, std::vector(carry_in, carry_in + kCarries)); + + { + std::vector params(carry_in, carry_in + kCarries); + params.insert(params.end(), prefix_out.begin(), prefix_out.end()); + params.insert(params.end(), scalar, scalar + kScalars); + if (!build_stage(STEP, graphs::build_step, params, kCarries, outs)) + return false; + for (int i = 0; i < kCarries; i++) { + if (!ggml_are_same_shape(outs[(size_t) i], carry_in[i])) { + std::fprintf(stderr, "vla(cosmos3_edge): step output %d does not match its carry\n", i); + return false; + } + carry_out[i] = state_like(outs[(size_t) i]); + } + finish_graph(STEP, outs, std::vector(carry_out, carry_out + kCarries)); + } + + // finish reads xa, the second carry. + if (!build_stage(FINISH, graphs::build_finish, { carry_in[1] }, 1, outs)) + return false; + actions_out = state_like(outs[0]); + finish_graph(FINISH, outs, { actions_out }); + + buf_s = alloc_weights(ctx_s, backend); + if (!buf_s) + return false; + for (int i = 0; i < kStageCount; i++) { + Stage & s = stage[i]; + s.galloc = ggml_gallocr_new(ggml_backend_get_default_buffer_type(backend)); + if (!s.galloc || !ggml_gallocr_alloc_graph(s.galloc, s.gf)) { + std::fprintf(stderr, "vla(cosmos3_edge): cannot allocate the compute buffer of stage %d\n", i); + return false; + } + } + return true; +} + +bool Cosmos3EdgeModelArch::run(StageId id) { + return ggml_backend_graph_compute(backend, stage[id].gf) == GGML_STATUS_SUCCESS; +} + +std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { + const double t0 = now_ms(); + stats = Stats{}; + + // --- inputs --------------------------------------------------------------------------------- + std::vector canvas_f; + if (!make_canvas(in.images, in.n_images, canvas_h, canvas_w, canvas_f)) + return {}; + // Debugging: the canvas as the graphs read it (CHW floats in uint8 levels), for comparing with the + // lerobot processor's. + if (const char * dump = std::getenv("VLA_COSMOS3_DUMP_CANVAS")) { + if (FILE * f = std::fopen(dump, "wb")) { + std::fwrite(canvas_f.data(), sizeof(float), canvas_f.size(), f); + std::fclose(f); + } + } + if (!in.lang_tokens || in.n_lang <= 0) { + std::fprintf(stderr, "vla(cosmos3_edge): no prompt tokens (build them with the lerobot prompt and tokenizer steps)\n"); + return {}; + } + std::vector ids_f((size_t) prompt_len, 0); + std::vector mask_f((size_t) prompt_len, 0.f); + int n_real = 0; + for (int i = 0; i < in.n_lang; i++) { + if (in.attention_mask && i < in.attention_mask_n && in.attention_mask[i] == 0) + continue; // padding: only the real tokens go in, in order + if (n_real >= prompt_len) { + std::fprintf(stderr, "vla(cosmos3_edge): prompt of more than %d tokens\n", prompt_len); + return {}; + } + ids_f[(size_t) n_real] = in.lang_tokens[i]; + mask_f[(size_t) n_real] = 1.f; + n_real++; + } + if (n_real == 0) + return {}; + + // Action noise from the caller; the video noise is drawn here from a seed that follows it, or read from + // a file of vn_tokens*vn_dim floats (VLA_COSMOS3_VIDEO_NOISE: for comparing with another implementation). + std::vector an((size_t) horizon * (size_t) adim, 0.f); + uint64_t seed = 1469598103934665603ull; // FNV-1a over the action noise, else a fixed seed + if (in.noise) { + std::memcpy(an.data(), in.noise, sizeof(float) * an.size()); + const auto * bytes = (const uint8_t *) in.noise; + for (size_t i = 0; i < sizeof(float) * an.size(); i++) + seed = (seed ^ bytes[i]) * 1099511628211ull; + } else { + // No noise given: sample it like the other archs do, from VLA_COSMOS3_SEED when set (reproducible). + std::random_device rd; + const char * env = std::getenv("VLA_COSMOS3_SEED"); + std::mt19937_64 rng(env ? (uint64_t) std::strtoull(env, nullptr, 10) + calls : ((uint64_t) rd() << 32) ^ rd()); + std::normal_distribution nd(0.f, 1.f); + for (float & x : an) + x = nd(rng); + seed = rng(); // the video noise follows the action noise just drawn + } + std::vector vn((size_t) vn_tokens * (size_t) vn_dim); + if (!video_noise_file.empty()) { + FILE * f = std::fopen(video_noise_file.c_str(), "rb"); + if (!f || std::fread(vn.data(), sizeof(float), vn.size(), f) != vn.size()) { + std::fprintf(stderr, "vla(cosmos3_edge): cannot read %zu floats from %s\n", vn.size(), video_noise_file.c_str()); + if (f) + std::fclose(f); + return {}; + } + std::fclose(f); + } else { + std::mt19937_64 rng(seed); + std::normal_distribution nd(0.f, 1.f); + for (float & x : vn) + x = nd(rng); + } + calls++; + + ggml_backend_tensor_set(canvas, canvas_f.data(), 0, ggml_nbytes(canvas)); + ggml_backend_tensor_set(ids, ids_f.data(), 0, ggml_nbytes(ids)); + ggml_backend_tensor_set(mask, mask_f.data(), 0, ggml_nbytes(mask)); + ggml_backend_tensor_set(vnoise, vn.data(), 0, ggml_nbytes(vnoise)); + ggml_backend_tensor_set(anoise, an.data(), 0, ggml_nbytes(anoise)); + + // --- stages --------------------------------------------------------------------------------- + const double t1 = now_ms(); + if (!run(VAE)) + return {}; + const double t2 = now_ms(); + if (!run(PREFIX) || !run(INIT)) + return {}; + const double t3 = now_ms(); + for (int k = 0; k < steps; k++) { + for (int j = 0; j < kScalars; j++) + ggml_backend_tensor_set(scalar[j], &step_scalars[(size_t) k * kScalars + (size_t) j], 0, sizeof(float)); + if (!run(STEP)) + return {}; + for (int i = 0; i < kCarries; i++) + ggml_backend_tensor_copy(carry_out[i], carry_in[i]); + } + const double t4 = now_ms(); + if (!run(FINISH)) + return {}; + + std::vector actions((size_t) horizon * (size_t) adim); + ggml_backend_tensor_get(actions_out, actions.data(), 0, sizeof(float) * actions.size()); + const double t5 = now_ms(); + + stats.ms_vision = (float) (t2 - t1); + stats.ms_prefill = (float) (t3 - t2); + stats.ms_denoise = (float) (t4 - t3); + stats.ms_inference = stats.ms_prefill + stats.ms_denoise; + stats.ms_total = (float) (t5 - t0); + return actions; +} + +} // namespace + +std::unique_ptr cosmos3_edge_create(const std::string & mmproj_path, const std::string & ckpt_path, + const std::string &, const Options & opts) { + if (!mmproj_path.empty()) + std::printf("vla(cosmos3_edge): note - mmproj '%s' is ignored (the VAE is baked into the GGUF)\n", mmproj_path.c_str()); + // Weight types, the activation path and the solver are fixed by the compiled graphs and the GGUF. + if (opts.weight_dtype || opts.act_dtype || opts.flash_attn || opts.mm_prec_f32) { + std::fprintf(stderr, "vla(cosmos3_edge): --weight-dtype, --act-dtype, --flash-attn and --mm-prec-f32 are not supported " + "(the types are those of the GGUF; the graphs are compiled)\n"); + return nullptr; + } + + auto m = std::make_unique(); + gguf_reader g("cosmos3_edge"); + if (!g.open(ckpt_path)) + return nullptr; + if (!g.has("cosmos3_edge.architecture")) { + std::fprintf(stderr, "vla(cosmos3_edge): %s is not a Cosmos3-Edge GGUF\n", ckpt_path.c_str()); + return nullptr; + } + m->canvas_h = (int) g.u32("cosmos3_edge.canvas_h"); + m->canvas_w = (int) g.u32("cosmos3_edge.canvas_w"); + m->prompt_len = (int) g.u32("cosmos3_edge.prompt_len"); + m->vn_tokens = (int) g.u32("cosmos3_edge.video_noise_tokens"); + m->vn_dim = (int) g.u32("cosmos3_edge.video_noise_dim"); + m->steps = (int) g.u32("cosmos3_edge.num_steps"); + m->horizon = (int) g.u32("cosmos3_edge.chunk_size"); + m->adim = (int) g.u32("cosmos3_edge.action_dim"); + const int nsc = (int) g.u32("cosmos3_edge.n_scalars"); + if (m->canvas_h <= 0 || m->canvas_w <= 0 || m->prompt_len <= 0 || m->vn_tokens <= 0 || m->vn_dim <= 0 || + m->steps <= 0 || m->horizon <= 0 || m->adim <= 0 || nsc != kScalars) { + std::fprintf(stderr, "vla(cosmos3_edge): the GGUF has no valid sizes (converted with an older script?)\n"); + return nullptr; + } + m->step_scalars = g.read_f32("cosmos3_edge.step_scalars"); + if ((int) m->step_scalars.size() != m->steps * kScalars) { + std::fprintf(stderr, "vla(cosmos3_edge): step_scalars has %zu values, expected %d\n", m->step_scalars.size(), m->steps * kScalars); + return nullptr; + } + if (const char * f = std::getenv("VLA_COSMOS3_VIDEO_NOISE")) + m->video_noise_file = f; + + const Backend b = backend_init("vla(cosmos3_edge)", m->n_threads); + if (!b.handle) + return nullptr; + m->backend = b.handle; + if (ggml_backend_dev_t dev = ggml_backend_get_device(b.handle)) + m->gpu = ggml_backend_dev_type(dev) == GGML_BACKEND_DEVICE_TYPE_GPU; + + if (!m->load_weights(g) || !m->build_all()) + return nullptr; + + Config & c = m->cfg; + c.n_img = (int64_t) m->vn_tokens + 50; // the video tokens of the generation stream + c.n_lang = m->prompt_len; + c.n_state = 0; + c.n_prefix = m->prompt_len; + c.n_suffix = m->horizon; + c.n_full = c.n_prefix + c.n_img + c.n_suffix; + c.n_layers = kLayers; + c.max_state_dim = 0; + c.real_state_dim = 0; + c.max_action_dim = m->adim; // the actions the program returns; the model's 64 padded channels are dropped + c.real_action_dim = m->adim; + c.num_steps = m->steps; + c.denormalized = true; // dataset units: [dpos(3), rot6d(6), gripper] + + std::printf("vla(cosmos3_edge): weights resident %.1f MiB, %d stages, canvas %dx%d, prompt <= %d tokens, " + "%d UniPC steps, chunk %dx%d (%s)\n", + ggml_backend_buffer_get_size(m->buf_w) / (1024.0 * 1024.0), kStageCount, m->canvas_h, m->canvas_w, + m->prompt_len, m->steps, m->horizon, m->adim, m->gpu ? "GPU" : "CPU"); + std::printf("vla(cosmos3_edge): send 2 views in this order: third person, wrist (or one %dx%d canvas); the " + "instruction as --text (ASCII; needs the tokenizer in the GGUF) or as token ids; noise = %dx%d floats\n", + m->canvas_w, m->canvas_h, m->horizon, m->adim); + return m; +} + +} // namespace vla diff --git a/src/models/cosmos3_edge_build.h b/src/models/cosmos3_edge_build.h new file mode 100644 index 00000000..77c5e581 --- /dev/null +++ b/src/models/cosmos3_edge_build.h @@ -0,0 +1,85 @@ +// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// What the ggml graph builders of cosmos3_edge_graphs.cpp need from their host. +// +// Those builders were generated by ggml-compiler (`ggml-compiler compile --emit cpp`). They reach their +// host through five calls: the graph context, whether the backend is a GPU, the stage's parameters, a +// weight by GGUF name, and the stage's outputs. ggml-compiler's runtime provides them; this header +// provides them for vla.cpp, so the generated code is used as it is (see scripts/port_cosmos3_graphs.py). + +#pragma once + +#include "ggml.h" + +#include +#include +#include + +namespace vla::cosmos3_edge_graphs { + +// What one stage builder is given and returns. The arch fills `params` (in the order of the stage's +// parameters in the compiled driver), reads `outputs` back after the call, and checks `error`. +struct ggml_compiler_stage_build { + ggml_context * ctx = nullptr; + bool gpu = false; + std::vector params; + std::vector outputs; + const std::unordered_map * weights = nullptr; + std::string error; // first problem, empty when none +}; + +inline ggml_context * ggml_compiler_build_ctx(ggml_compiler_stage_build * b) { + return b->ctx; +} + +inline bool ggml_compiler_build_gpu(ggml_compiler_stage_build * b) { + return b->gpu; +} + +// A missing parameter or weight is recorded and answered with a 1-element tensor so the builder can run to +// the end; the arch refuses the stage afterwards. +inline ggml_tensor * ggml_compiler_build_param(ggml_compiler_stage_build * b, int i) { + if (i >= 0 && (size_t) i < b->params.size() && b->params[(size_t) i]) + return b->params[(size_t) i]; + if (b->error.empty()) + b->error = "missing stage parameter " + std::to_string(i); + return ggml_new_tensor_1d(b->ctx, GGML_TYPE_F32, 1); +} + +inline ggml_tensor * ggml_compiler_build_weight(ggml_compiler_stage_build * b, const char * name) { + const auto it = b->weights->find(name); + if (it != b->weights->end()) + return it->second; + if (b->error.empty()) + b->error = std::string("missing weight ") + name; + return ggml_new_tensor_1d(b->ctx, GGML_TYPE_F32, 1); +} + +inline void ggml_compiler_build_output(ggml_compiler_stage_build * b, int i, ggml_tensor * t) { + if (i < 0) + return; + if ((size_t) i >= b->outputs.size()) + b->outputs.resize((size_t) i + 1, nullptr); + b->outputs[(size_t) i] = t; +} + +// The five stage builders, in the order of the compiled driver. 0 on success. +int build_vae_encode(ggml_compiler_stage_build * B); +int build_prefix(ggml_compiler_stage_build * B); +int build_init(ggml_compiler_stage_build * B); +int build_step(ggml_compiler_stage_build * B); +int build_finish(ggml_compiler_stage_build * B); + +} // namespace vla::cosmos3_edge_graphs diff --git a/src/models/cosmos3_edge_graphs.cpp b/src/models/cosmos3_edge_graphs.cpp new file mode 100644 index 00000000..a2583b4a --- /dev/null +++ b/src/models/cosmos3_edge_graphs.cpp @@ -0,0 +1,5068 @@ +// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// GENERATED by ggml-compiler (`ggml-compiler compile ggml/export.py:program --emit gguf,cpp --name cosmos3 +// --policy ggml/policy-bf16.yaml`) and ported with scripts/port_cosmos3_graphs.py. Do not edit by hand: +// regenerate. One ggml graph builder per stage of the Cosmos3-Edge-Policy world-action model: vae_encode, +// prefix, init, step (one UniPC update, run 30 times), finish. Each line names the PyTorch module it came from. + +#include "cosmos3_edge_build.h" + +#include + +#include "ggml.h" +#include "cosmos3_edge_ops.h" + +namespace vla::cosmos3_edge_graphs { + + +// Stage 'vae_encode': 511 nodes. +int build_vae_encode(ggml_compiler_stage_build * B) { + ggml_context * ctx = ggml_compiler_build_ctx(B); + const bool gpu = ggml_compiler_build_gpu(B); + (void) gpu; + + // Parameters + ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 3, 192, 320] + + // Weights and constants, by GGUF name + ggml_tensor * const_0 = ggml_compiler_build_weight(B, "c.0"); + ggml_tensor * net_vae_encoder_conv_in_weight = ggml_compiler_build_weight(B, "w.0"); + ggml_tensor * net_vae_encoder_conv_in_bias = ggml_compiler_build_weight(B, "w.1"); + ggml_tensor * const_1 = ggml_compiler_build_weight(B, "c.1"); + ggml_tensor * const_2 = ggml_compiler_build_weight(B, "c.2"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.2"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.3"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.4"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.5"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.6"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.7"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.8"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.9"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.10"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.11"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.12"); + ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.13"); + ggml_tensor * const_3 = ggml_compiler_build_weight(B, "c.3"); + ggml_tensor * const_4 = ggml_compiler_build_weight(B, "c.4"); + ggml_tensor * net_vae_encoder_down_blocks_0_downsampler_resample_1_weight = ggml_compiler_build_weight(B, "w.14"); + ggml_tensor * net_vae_encoder_down_blocks_0_downsampler_resample_1_bias = ggml_compiler_build_weight(B, "w.15"); + ggml_tensor * const_5 = ggml_compiler_build_weight(B, "c.5"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_weight = ggml_compiler_build_weight(B, "w.16"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_bias = ggml_compiler_build_weight(B, "w.17"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.18"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.19"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.20"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.21"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.22"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.23"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.24"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.25"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.26"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.27"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.28"); + ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.29"); + ggml_tensor * const_6 = ggml_compiler_build_weight(B, "c.6"); + ggml_tensor * const_7 = ggml_compiler_build_weight(B, "c.7"); + ggml_tensor * net_vae_encoder_down_blocks_1_downsampler_resample_1_weight = ggml_compiler_build_weight(B, "w.30"); + ggml_tensor * net_vae_encoder_down_blocks_1_downsampler_resample_1_bias = ggml_compiler_build_weight(B, "w.31"); + ggml_tensor * const_8 = ggml_compiler_build_weight(B, "c.8"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_weight = ggml_compiler_build_weight(B, "w.32"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_bias = ggml_compiler_build_weight(B, "w.33"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.34"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.35"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.36"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.37"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.38"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.39"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.40"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.41"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.42"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.43"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.44"); + ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.45"); + ggml_tensor * const_9 = ggml_compiler_build_weight(B, "c.9"); + ggml_tensor * const_10 = ggml_compiler_build_weight(B, "c.10"); + ggml_tensor * net_vae_encoder_down_blocks_2_downsampler_resample_1_weight = ggml_compiler_build_weight(B, "w.46"); + ggml_tensor * net_vae_encoder_down_blocks_2_downsampler_resample_1_bias = ggml_compiler_build_weight(B, "w.47"); + ggml_tensor * const_11 = ggml_compiler_build_weight(B, "c.11"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.48"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.49"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.50"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.51"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.52"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.53"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.54"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.55"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.56"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.57"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.58"); + ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.59"); + ggml_tensor * net_vae_encoder_mid_block_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.60"); + ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.61"); + ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.62"); + ggml_tensor * net_vae_encoder_mid_block_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.63"); + ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.64"); + ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.65"); + ggml_tensor * net_vae_encoder_mid_block_attentions_0_norm_gamma_scale = ggml_compiler_build_weight(B, "w.66"); + ggml_tensor * net_vae_encoder_mid_block_attentions_0_to_qkv_weight = ggml_compiler_build_weight(B, "w.67"); + ggml_tensor * net_vae_encoder_mid_block_attentions_0_to_qkv_bias = ggml_compiler_build_weight(B, "w.68"); + ggml_tensor * net_vae_encoder_mid_block_attentions_0_proj_weight = ggml_compiler_build_weight(B, "w.69"); + ggml_tensor * net_vae_encoder_mid_block_attentions_0_proj_bias = ggml_compiler_build_weight(B, "w.70"); + ggml_tensor * net_vae_encoder_mid_block_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.71"); + ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.72"); + ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.73"); + ggml_tensor * net_vae_encoder_mid_block_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.74"); + ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.75"); + ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.76"); + ggml_tensor * net_vae_encoder_norm_out_gamma_scale = ggml_compiler_build_weight(B, "w.77"); + ggml_tensor * net_vae_encoder_conv_out_weight = ggml_compiler_build_weight(B, "w.78"); + ggml_tensor * net_vae_encoder_conv_out_bias = ggml_compiler_build_weight(B, "w.79"); + ggml_tensor * net_vae_quant_conv_weight = ggml_compiler_build_weight(B, "w.80"); + ggml_tensor * net_vae_quant_conv_bias = ggml_compiler_build_weight(B, "w.81"); + ggml_tensor * const_12 = ggml_compiler_build_weight(B, "c.12"); + ggml_tensor * const_13 = ggml_compiler_build_weight(B, "c.13"); + + // Graph + ggml_tensor * t0 = ggml_compiler::ops::scale(ctx, in0, 0.00784313772f, 0.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1 = ggml_compiler::ops::scale(ctx, t0, 1.0f, -1.0f); // scale torch_export.py:54 in forward + ggml_tensor * t2 = ggml_compiler::ops::conv_2d(ctx, const_0, t1, nullptr, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t3 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_conv_in_weight, t2, net_vae_encoder_conv_in_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t4 = ggml_compiler::ops::reshape(ctx, t3, 160, 2, 48, 160); // reshape torch_export.py:54 in forward + ggml_tensor * t5 = ggml_compiler::ops::slice(ctx, t4, 1, 0, 160, 1, 48, 160); // view torch_export.py:54 in forward + ggml_tensor * t6 = ggml_compiler::ops::reshape(ctx, t5, 160, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t7 = ggml_compiler::ops::reshape(ctx, t6, 160, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t8 = ggml_cont(ctx, t7); // cont torch_export.py:54 in forward + ggml_tensor * t9 = ggml_compiler::ops::reshape(ctx, t8, 2, 80, 48, 160); // reshape torch_export.py:54 in forward + ggml_tensor * t10 = ggml_compiler::ops::slice(ctx, t9, 0, 0, 1, 80, 48, 160); // view torch_export.py:54 in forward + ggml_tensor * t11 = ggml_cont(ctx, t10); // cont torch_export.py:54 in forward + ggml_tensor * t12 = ggml_compiler::ops::reshape(ctx, t11, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t13 = ggml_compiler::ops::reshape(ctx, t12, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t14 = ggml_compiler::ops::reshape(ctx, t13, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t15 = ggml_compiler::ops::slice(ctx, t9, 0, 1, 1, 80, 48, 160); // view torch_export.py:54 in forward + ggml_tensor * t16 = ggml_cont(ctx, t15); // cont torch_export.py:54 in forward + ggml_tensor * t17 = ggml_compiler::ops::reshape(ctx, t16, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t18 = ggml_compiler::ops::reshape(ctx, t17, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t19 = ggml_compiler::ops::reshape(ctx, t18, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t20 = ggml_compiler::ops::slice(ctx, t4, 1, 1, 160, 1, 48, 160); // view torch_export.py:54 in forward + ggml_tensor * t21 = ggml_compiler::ops::reshape(ctx, t20, 160, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t22 = ggml_compiler::ops::reshape(ctx, t21, 160, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t23 = ggml_cont(ctx, t22); // cont torch_export.py:54 in forward + ggml_tensor * t24 = ggml_compiler::ops::reshape(ctx, t23, 2, 80, 48, 160); // reshape torch_export.py:54 in forward + ggml_tensor * t25 = ggml_compiler::ops::slice(ctx, t24, 0, 0, 1, 80, 48, 160); // view torch_export.py:54 in forward + ggml_tensor * t26 = ggml_cont(ctx, t25); // cont torch_export.py:54 in forward + ggml_tensor * t27 = ggml_compiler::ops::reshape(ctx, t26, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t28 = ggml_compiler::ops::reshape(ctx, t27, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t29 = ggml_compiler::ops::reshape(ctx, t28, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t30 = ggml_compiler::ops::slice(ctx, t24, 0, 1, 1, 80, 48, 160); // view torch_export.py:54 in forward + ggml_tensor * t31 = ggml_cont(ctx, t30); // cont torch_export.py:54 in forward + ggml_tensor * t32 = ggml_compiler::ops::reshape(ctx, t31, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t33 = ggml_compiler::ops::reshape(ctx, t32, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t34 = ggml_compiler::ops::reshape(ctx, t33, 80, 48, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t35 = ggml_concat(ctx, t14, t19, 2); // concat torch_export.py:54 in forward + ggml_tensor * t36 = ggml_concat(ctx, t35, t29, 2); // concat torch_export.py:54 in forward + ggml_tensor * t37 = ggml_concat(ctx, t36, t34, 2); // concat torch_export.py:54 in forward + ggml_tensor * t38 = ggml_compiler::ops::conv_2d(ctx, const_1, t37, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t39 = ggml_permute(ctx, t3, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t40 = ggml_cont(ctx, t39); // cont torch_export.py:54 in forward + ggml_tensor * t41 = ggml_mul(ctx, t40, t40); // mul torch_export.py:54 in forward + ggml_tensor * t42 = ggml_sum_rows(ctx, t41); // sum_rows torch_export.py:54 in forward + ggml_tensor * t43 = ggml_clamp(ctx, t42, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t44 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t45 = ggml_sqrt(ctx, t43); // sqrt torch_export.py:54 in forward + ggml_tensor * t46 = ggml_div(ctx, t44, t45); // div torch_export.py:54 in forward + ggml_tensor * t47 = ggml_mul(ctx, t40, t46); // mul torch_export.py:54 in forward + ggml_tensor * t48 = ggml_mul(ctx, t47, net_vae_encoder_down_blocks_0_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t49 = ggml_permute(ctx, t48, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t50 = ggml_cont(ctx, t49); // cont torch_export.py:54 in forward + ggml_tensor * t51 = ggml_silu(ctx, t50); // silu torch_export.py:54 in forward + ggml_tensor * t52 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_0_conv1_weight, t51, net_vae_encoder_down_blocks_0_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t53 = ggml_permute(ctx, t52, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t54 = ggml_cont(ctx, t53); // cont torch_export.py:54 in forward + ggml_tensor * t55 = ggml_mul(ctx, t54, t54); // mul torch_export.py:54 in forward + ggml_tensor * t56 = ggml_sum_rows(ctx, t55); // sum_rows torch_export.py:54 in forward + ggml_tensor * t57 = ggml_clamp(ctx, t56, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t58 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t59 = ggml_sqrt(ctx, t57); // sqrt torch_export.py:54 in forward + ggml_tensor * t60 = ggml_div(ctx, t58, t59); // div torch_export.py:54 in forward + ggml_tensor * t61 = ggml_mul(ctx, t54, t60); // mul torch_export.py:54 in forward + ggml_tensor * t62 = ggml_mul(ctx, t61, net_vae_encoder_down_blocks_0_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t63 = ggml_permute(ctx, t62, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t64 = ggml_cont(ctx, t63); // cont torch_export.py:54 in forward + ggml_tensor * t65 = ggml_silu(ctx, t64); // silu torch_export.py:54 in forward + ggml_tensor * t66 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_0_conv2_weight, t65, net_vae_encoder_down_blocks_0_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t67 = ggml_add(ctx, t66, t3); // add torch_export.py:54 in forward + ggml_tensor * t68 = ggml_permute(ctx, t67, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t69 = ggml_cont(ctx, t68); // cont torch_export.py:54 in forward + ggml_tensor * t70 = ggml_mul(ctx, t69, t69); // mul torch_export.py:54 in forward + ggml_tensor * t71 = ggml_sum_rows(ctx, t70); // sum_rows torch_export.py:54 in forward + ggml_tensor * t72 = ggml_clamp(ctx, t71, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t73 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t74 = ggml_sqrt(ctx, t72); // sqrt torch_export.py:54 in forward + ggml_tensor * t75 = ggml_div(ctx, t73, t74); // div torch_export.py:54 in forward + ggml_tensor * t76 = ggml_mul(ctx, t69, t75); // mul torch_export.py:54 in forward + ggml_tensor * t77 = ggml_mul(ctx, t76, net_vae_encoder_down_blocks_0_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t78 = ggml_permute(ctx, t77, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t79 = ggml_cont(ctx, t78); // cont torch_export.py:54 in forward + ggml_tensor * t80 = ggml_silu(ctx, t79); // silu torch_export.py:54 in forward + ggml_tensor * t81 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_1_conv1_weight, t80, net_vae_encoder_down_blocks_0_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t82 = ggml_permute(ctx, t81, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t83 = ggml_cont(ctx, t82); // cont torch_export.py:54 in forward + ggml_tensor * t84 = ggml_mul(ctx, t83, t83); // mul torch_export.py:54 in forward + ggml_tensor * t85 = ggml_sum_rows(ctx, t84); // sum_rows torch_export.py:54 in forward + ggml_tensor * t86 = ggml_clamp(ctx, t85, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t87 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t88 = ggml_sqrt(ctx, t86); // sqrt torch_export.py:54 in forward + ggml_tensor * t89 = ggml_div(ctx, t87, t88); // div torch_export.py:54 in forward + ggml_tensor * t90 = ggml_mul(ctx, t83, t89); // mul torch_export.py:54 in forward + ggml_tensor * t91 = ggml_mul(ctx, t90, net_vae_encoder_down_blocks_0_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t92 = ggml_permute(ctx, t91, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t93 = ggml_cont(ctx, t92); // cont torch_export.py:54 in forward + ggml_tensor * t94 = ggml_silu(ctx, t93); // silu torch_export.py:54 in forward + ggml_tensor * t95 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_1_conv2_weight, t94, net_vae_encoder_down_blocks_0_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t96 = ggml_add(ctx, t95, t67); // add torch_export.py:54 in forward + ggml_tensor * t97 = ggml_concat(ctx, t96, const_3, 1); // concat torch_export.py:54 in forward + ggml_tensor * t98 = ggml_concat(ctx, t97, const_4, 0); // concat torch_export.py:54 in forward + ggml_tensor * t99 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_downsampler_resample_1_weight, t98, net_vae_encoder_down_blocks_0_downsampler_resample_1_bias, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t100 = ggml_add(ctx, t99, t38); // add torch_export.py:54 in forward + ggml_tensor * t101 = ggml_compiler::ops::reshape(ctx, t100, 80, 2, 24, 160); // reshape torch_export.py:54 in forward + ggml_tensor * t102 = ggml_compiler::ops::slice(ctx, t101, 1, 0, 80, 1, 24, 160); // view torch_export.py:54 in forward + ggml_tensor * t103 = ggml_compiler::ops::reshape(ctx, t102, 80, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t104 = ggml_compiler::ops::reshape(ctx, t103, 80, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t105 = ggml_cont(ctx, t104); // cont torch_export.py:54 in forward + ggml_tensor * t106 = ggml_compiler::ops::reshape(ctx, t105, 2, 40, 24, 160); // reshape torch_export.py:54 in forward + ggml_tensor * t107 = ggml_compiler::ops::slice(ctx, t106, 0, 0, 1, 40, 24, 160); // view torch_export.py:54 in forward + ggml_tensor * t108 = ggml_cont(ctx, t107); // cont torch_export.py:54 in forward + ggml_tensor * t109 = ggml_compiler::ops::reshape(ctx, t108, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t110 = ggml_compiler::ops::reshape(ctx, t109, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t111 = ggml_compiler::ops::reshape(ctx, t110, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t112 = ggml_compiler::ops::slice(ctx, t106, 0, 1, 1, 40, 24, 160); // view torch_export.py:54 in forward + ggml_tensor * t113 = ggml_cont(ctx, t112); // cont torch_export.py:54 in forward + ggml_tensor * t114 = ggml_compiler::ops::reshape(ctx, t113, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t115 = ggml_compiler::ops::reshape(ctx, t114, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t116 = ggml_compiler::ops::reshape(ctx, t115, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t117 = ggml_compiler::ops::slice(ctx, t101, 1, 1, 80, 1, 24, 160); // view torch_export.py:54 in forward + ggml_tensor * t118 = ggml_compiler::ops::reshape(ctx, t117, 80, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t119 = ggml_compiler::ops::reshape(ctx, t118, 80, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t120 = ggml_cont(ctx, t119); // cont torch_export.py:54 in forward + ggml_tensor * t121 = ggml_compiler::ops::reshape(ctx, t120, 2, 40, 24, 160); // reshape torch_export.py:54 in forward + ggml_tensor * t122 = ggml_compiler::ops::slice(ctx, t121, 0, 0, 1, 40, 24, 160); // view torch_export.py:54 in forward + ggml_tensor * t123 = ggml_cont(ctx, t122); // cont torch_export.py:54 in forward + ggml_tensor * t124 = ggml_compiler::ops::reshape(ctx, t123, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t125 = ggml_compiler::ops::reshape(ctx, t124, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t126 = ggml_compiler::ops::reshape(ctx, t125, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t127 = ggml_compiler::ops::slice(ctx, t121, 0, 1, 1, 40, 24, 160); // view torch_export.py:54 in forward + ggml_tensor * t128 = ggml_cont(ctx, t127); // cont torch_export.py:54 in forward + ggml_tensor * t129 = ggml_compiler::ops::reshape(ctx, t128, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t130 = ggml_compiler::ops::reshape(ctx, t129, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t131 = ggml_compiler::ops::reshape(ctx, t130, 40, 24, 160, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t132 = ggml_concat(ctx, t111, t116, 2); // concat torch_export.py:54 in forward + ggml_tensor * t133 = ggml_concat(ctx, t132, t126, 2); // concat torch_export.py:54 in forward + ggml_tensor * t134 = ggml_concat(ctx, t133, t131, 2); // concat torch_export.py:54 in forward + ggml_tensor * t135 = ggml_compiler::ops::conv_2d(ctx, const_5, t134, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t136 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_weight, t100, net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t137 = ggml_permute(ctx, t100, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t138 = ggml_cont(ctx, t137); // cont torch_export.py:54 in forward + ggml_tensor * t139 = ggml_mul(ctx, t138, t138); // mul torch_export.py:54 in forward + ggml_tensor * t140 = ggml_sum_rows(ctx, t139); // sum_rows torch_export.py:54 in forward + ggml_tensor * t141 = ggml_clamp(ctx, t140, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t142 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t143 = ggml_sqrt(ctx, t141); // sqrt torch_export.py:54 in forward + ggml_tensor * t144 = ggml_div(ctx, t142, t143); // div torch_export.py:54 in forward + ggml_tensor * t145 = ggml_mul(ctx, t138, t144); // mul torch_export.py:54 in forward + ggml_tensor * t146 = ggml_mul(ctx, t145, net_vae_encoder_down_blocks_1_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t147 = ggml_permute(ctx, t146, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t148 = ggml_cont(ctx, t147); // cont torch_export.py:54 in forward + ggml_tensor * t149 = ggml_silu(ctx, t148); // silu torch_export.py:54 in forward + ggml_tensor * t150 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_0_conv1_weight, t149, net_vae_encoder_down_blocks_1_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t151 = ggml_permute(ctx, t150, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t152 = ggml_cont(ctx, t151); // cont torch_export.py:54 in forward + ggml_tensor * t153 = ggml_mul(ctx, t152, t152); // mul torch_export.py:54 in forward + ggml_tensor * t154 = ggml_sum_rows(ctx, t153); // sum_rows torch_export.py:54 in forward + ggml_tensor * t155 = ggml_clamp(ctx, t154, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t156 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t157 = ggml_sqrt(ctx, t155); // sqrt torch_export.py:54 in forward + ggml_tensor * t158 = ggml_div(ctx, t156, t157); // div torch_export.py:54 in forward + ggml_tensor * t159 = ggml_mul(ctx, t152, t158); // mul torch_export.py:54 in forward + ggml_tensor * t160 = ggml_mul(ctx, t159, net_vae_encoder_down_blocks_1_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t161 = ggml_permute(ctx, t160, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t162 = ggml_cont(ctx, t161); // cont torch_export.py:54 in forward + ggml_tensor * t163 = ggml_silu(ctx, t162); // silu torch_export.py:54 in forward + ggml_tensor * t164 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_0_conv2_weight, t163, net_vae_encoder_down_blocks_1_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t165 = ggml_add(ctx, t164, t136); // add torch_export.py:54 in forward + ggml_tensor * t166 = ggml_permute(ctx, t165, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t167 = ggml_cont(ctx, t166); // cont torch_export.py:54 in forward + ggml_tensor * t168 = ggml_mul(ctx, t167, t167); // mul torch_export.py:54 in forward + ggml_tensor * t169 = ggml_sum_rows(ctx, t168); // sum_rows torch_export.py:54 in forward + ggml_tensor * t170 = ggml_clamp(ctx, t169, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t171 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t172 = ggml_sqrt(ctx, t170); // sqrt torch_export.py:54 in forward + ggml_tensor * t173 = ggml_div(ctx, t171, t172); // div torch_export.py:54 in forward + ggml_tensor * t174 = ggml_mul(ctx, t167, t173); // mul torch_export.py:54 in forward + ggml_tensor * t175 = ggml_mul(ctx, t174, net_vae_encoder_down_blocks_1_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t176 = ggml_permute(ctx, t175, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t177 = ggml_cont(ctx, t176); // cont torch_export.py:54 in forward + ggml_tensor * t178 = ggml_silu(ctx, t177); // silu torch_export.py:54 in forward + ggml_tensor * t179 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_1_conv1_weight, t178, net_vae_encoder_down_blocks_1_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t180 = ggml_permute(ctx, t179, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t181 = ggml_cont(ctx, t180); // cont torch_export.py:54 in forward + ggml_tensor * t182 = ggml_mul(ctx, t181, t181); // mul torch_export.py:54 in forward + ggml_tensor * t183 = ggml_sum_rows(ctx, t182); // sum_rows torch_export.py:54 in forward + ggml_tensor * t184 = ggml_clamp(ctx, t183, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t185 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t186 = ggml_sqrt(ctx, t184); // sqrt torch_export.py:54 in forward + ggml_tensor * t187 = ggml_div(ctx, t185, t186); // div torch_export.py:54 in forward + ggml_tensor * t188 = ggml_mul(ctx, t181, t187); // mul torch_export.py:54 in forward + ggml_tensor * t189 = ggml_mul(ctx, t188, net_vae_encoder_down_blocks_1_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t190 = ggml_permute(ctx, t189, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t191 = ggml_cont(ctx, t190); // cont torch_export.py:54 in forward + ggml_tensor * t192 = ggml_silu(ctx, t191); // silu torch_export.py:54 in forward + ggml_tensor * t193 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_1_conv2_weight, t192, net_vae_encoder_down_blocks_1_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t194 = ggml_add(ctx, t193, t165); // add torch_export.py:54 in forward + ggml_tensor * t195 = ggml_concat(ctx, t194, const_6, 1); // concat torch_export.py:54 in forward + ggml_tensor * t196 = ggml_concat(ctx, t195, const_7, 0); // concat torch_export.py:54 in forward + ggml_tensor * t197 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_downsampler_resample_1_weight, t196, net_vae_encoder_down_blocks_1_downsampler_resample_1_bias, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t198 = ggml_add(ctx, t197, t135); // add torch_export.py:54 in forward + ggml_tensor * t199 = ggml_compiler::ops::reshape(ctx, t198, 40, 2, 12, 320); // reshape torch_export.py:54 in forward + ggml_tensor * t200 = ggml_compiler::ops::slice(ctx, t199, 1, 0, 40, 1, 12, 320); // view torch_export.py:54 in forward + ggml_tensor * t201 = ggml_compiler::ops::reshape(ctx, t200, 40, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t202 = ggml_compiler::ops::reshape(ctx, t201, 40, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t203 = ggml_cont(ctx, t202); // cont torch_export.py:54 in forward + ggml_tensor * t204 = ggml_compiler::ops::reshape(ctx, t203, 2, 20, 12, 320); // reshape torch_export.py:54 in forward + ggml_tensor * t205 = ggml_compiler::ops::slice(ctx, t204, 0, 0, 1, 20, 12, 320); // view torch_export.py:54 in forward + ggml_tensor * t206 = ggml_cont(ctx, t205); // cont torch_export.py:54 in forward + ggml_tensor * t207 = ggml_compiler::ops::reshape(ctx, t206, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t208 = ggml_compiler::ops::reshape(ctx, t207, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t209 = ggml_compiler::ops::reshape(ctx, t208, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t210 = ggml_compiler::ops::slice(ctx, t204, 0, 1, 1, 20, 12, 320); // view torch_export.py:54 in forward + ggml_tensor * t211 = ggml_cont(ctx, t210); // cont torch_export.py:54 in forward + ggml_tensor * t212 = ggml_compiler::ops::reshape(ctx, t211, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t213 = ggml_compiler::ops::reshape(ctx, t212, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t214 = ggml_compiler::ops::reshape(ctx, t213, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t215 = ggml_compiler::ops::slice(ctx, t199, 1, 1, 40, 1, 12, 320); // view torch_export.py:54 in forward + ggml_tensor * t216 = ggml_compiler::ops::reshape(ctx, t215, 40, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t217 = ggml_compiler::ops::reshape(ctx, t216, 40, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t218 = ggml_cont(ctx, t217); // cont torch_export.py:54 in forward + ggml_tensor * t219 = ggml_compiler::ops::reshape(ctx, t218, 2, 20, 12, 320); // reshape torch_export.py:54 in forward + ggml_tensor * t220 = ggml_compiler::ops::slice(ctx, t219, 0, 0, 1, 20, 12, 320); // view torch_export.py:54 in forward + ggml_tensor * t221 = ggml_cont(ctx, t220); // cont torch_export.py:54 in forward + ggml_tensor * t222 = ggml_compiler::ops::reshape(ctx, t221, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t223 = ggml_compiler::ops::reshape(ctx, t222, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t224 = ggml_compiler::ops::reshape(ctx, t223, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t225 = ggml_compiler::ops::slice(ctx, t219, 0, 1, 1, 20, 12, 320); // view torch_export.py:54 in forward + ggml_tensor * t226 = ggml_cont(ctx, t225); // cont torch_export.py:54 in forward + ggml_tensor * t227 = ggml_compiler::ops::reshape(ctx, t226, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t228 = ggml_compiler::ops::reshape(ctx, t227, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t229 = ggml_compiler::ops::reshape(ctx, t228, 20, 12, 320, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t230 = ggml_concat(ctx, t209, t214, 2); // concat torch_export.py:54 in forward + ggml_tensor * t231 = ggml_concat(ctx, t230, t224, 2); // concat torch_export.py:54 in forward + ggml_tensor * t232 = ggml_concat(ctx, t231, t229, 2); // concat torch_export.py:54 in forward + ggml_tensor * t233 = ggml_compiler::ops::conv_2d(ctx, const_8, t232, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t234 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_weight, t198, net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t235 = ggml_permute(ctx, t198, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t236 = ggml_cont(ctx, t235); // cont torch_export.py:54 in forward + ggml_tensor * t237 = ggml_mul(ctx, t236, t236); // mul torch_export.py:54 in forward + ggml_tensor * t238 = ggml_sum_rows(ctx, t237); // sum_rows torch_export.py:54 in forward + ggml_tensor * t239 = ggml_clamp(ctx, t238, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t240 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t241 = ggml_sqrt(ctx, t239); // sqrt torch_export.py:54 in forward + ggml_tensor * t242 = ggml_div(ctx, t240, t241); // div torch_export.py:54 in forward + ggml_tensor * t243 = ggml_mul(ctx, t236, t242); // mul torch_export.py:54 in forward + ggml_tensor * t244 = ggml_mul(ctx, t243, net_vae_encoder_down_blocks_2_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t245 = ggml_permute(ctx, t244, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t246 = ggml_cont(ctx, t245); // cont torch_export.py:54 in forward + ggml_tensor * t247 = ggml_silu(ctx, t246); // silu torch_export.py:54 in forward + ggml_tensor * t248 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_0_conv1_weight, t247, net_vae_encoder_down_blocks_2_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t249 = ggml_permute(ctx, t248, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t250 = ggml_cont(ctx, t249); // cont torch_export.py:54 in forward + ggml_tensor * t251 = ggml_mul(ctx, t250, t250); // mul torch_export.py:54 in forward + ggml_tensor * t252 = ggml_sum_rows(ctx, t251); // sum_rows torch_export.py:54 in forward + ggml_tensor * t253 = ggml_clamp(ctx, t252, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t254 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t255 = ggml_sqrt(ctx, t253); // sqrt torch_export.py:54 in forward + ggml_tensor * t256 = ggml_div(ctx, t254, t255); // div torch_export.py:54 in forward + ggml_tensor * t257 = ggml_mul(ctx, t250, t256); // mul torch_export.py:54 in forward + ggml_tensor * t258 = ggml_mul(ctx, t257, net_vae_encoder_down_blocks_2_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t259 = ggml_permute(ctx, t258, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t260 = ggml_cont(ctx, t259); // cont torch_export.py:54 in forward + ggml_tensor * t261 = ggml_silu(ctx, t260); // silu torch_export.py:54 in forward + ggml_tensor * t262 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_0_conv2_weight, t261, net_vae_encoder_down_blocks_2_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t263 = ggml_add(ctx, t262, t234); // add torch_export.py:54 in forward + ggml_tensor * t264 = ggml_permute(ctx, t263, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t265 = ggml_cont(ctx, t264); // cont torch_export.py:54 in forward + ggml_tensor * t266 = ggml_mul(ctx, t265, t265); // mul torch_export.py:54 in forward + ggml_tensor * t267 = ggml_sum_rows(ctx, t266); // sum_rows torch_export.py:54 in forward + ggml_tensor * t268 = ggml_clamp(ctx, t267, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t269 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t270 = ggml_sqrt(ctx, t268); // sqrt torch_export.py:54 in forward + ggml_tensor * t271 = ggml_div(ctx, t269, t270); // div torch_export.py:54 in forward + ggml_tensor * t272 = ggml_mul(ctx, t265, t271); // mul torch_export.py:54 in forward + ggml_tensor * t273 = ggml_mul(ctx, t272, net_vae_encoder_down_blocks_2_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t274 = ggml_permute(ctx, t273, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t275 = ggml_cont(ctx, t274); // cont torch_export.py:54 in forward + ggml_tensor * t276 = ggml_silu(ctx, t275); // silu torch_export.py:54 in forward + ggml_tensor * t277 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_1_conv1_weight, t276, net_vae_encoder_down_blocks_2_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t278 = ggml_permute(ctx, t277, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t279 = ggml_cont(ctx, t278); // cont torch_export.py:54 in forward + ggml_tensor * t280 = ggml_mul(ctx, t279, t279); // mul torch_export.py:54 in forward + ggml_tensor * t281 = ggml_sum_rows(ctx, t280); // sum_rows torch_export.py:54 in forward + ggml_tensor * t282 = ggml_clamp(ctx, t281, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t283 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t284 = ggml_sqrt(ctx, t282); // sqrt torch_export.py:54 in forward + ggml_tensor * t285 = ggml_div(ctx, t283, t284); // div torch_export.py:54 in forward + ggml_tensor * t286 = ggml_mul(ctx, t279, t285); // mul torch_export.py:54 in forward + ggml_tensor * t287 = ggml_mul(ctx, t286, net_vae_encoder_down_blocks_2_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t288 = ggml_permute(ctx, t287, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t289 = ggml_cont(ctx, t288); // cont torch_export.py:54 in forward + ggml_tensor * t290 = ggml_silu(ctx, t289); // silu torch_export.py:54 in forward + ggml_tensor * t291 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_1_conv2_weight, t290, net_vae_encoder_down_blocks_2_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t292 = ggml_add(ctx, t291, t263); // add torch_export.py:54 in forward + ggml_tensor * t293 = ggml_concat(ctx, t292, const_9, 1); // concat torch_export.py:54 in forward + ggml_tensor * t294 = ggml_concat(ctx, t293, const_10, 0); // concat torch_export.py:54 in forward + ggml_tensor * t295 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_downsampler_resample_1_weight, t294, net_vae_encoder_down_blocks_2_downsampler_resample_1_bias, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t296 = ggml_add(ctx, t295, t233); // add torch_export.py:54 in forward + ggml_tensor * t297 = ggml_compiler::ops::conv_2d(ctx, const_11, t296, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t298 = ggml_permute(ctx, t296, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t299 = ggml_cont(ctx, t298); // cont torch_export.py:54 in forward + ggml_tensor * t300 = ggml_mul(ctx, t299, t299); // mul torch_export.py:54 in forward + ggml_tensor * t301 = ggml_sum_rows(ctx, t300); // sum_rows torch_export.py:54 in forward + ggml_tensor * t302 = ggml_clamp(ctx, t301, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t303 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t304 = ggml_sqrt(ctx, t302); // sqrt torch_export.py:54 in forward + ggml_tensor * t305 = ggml_div(ctx, t303, t304); // div torch_export.py:54 in forward + ggml_tensor * t306 = ggml_mul(ctx, t299, t305); // mul torch_export.py:54 in forward + ggml_tensor * t307 = ggml_mul(ctx, t306, net_vae_encoder_down_blocks_3_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t308 = ggml_permute(ctx, t307, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t309 = ggml_cont(ctx, t308); // cont torch_export.py:54 in forward + ggml_tensor * t310 = ggml_silu(ctx, t309); // silu torch_export.py:54 in forward + ggml_tensor * t311 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_0_conv1_weight, t310, net_vae_encoder_down_blocks_3_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t312 = ggml_permute(ctx, t311, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t313 = ggml_cont(ctx, t312); // cont torch_export.py:54 in forward + ggml_tensor * t314 = ggml_mul(ctx, t313, t313); // mul torch_export.py:54 in forward + ggml_tensor * t315 = ggml_sum_rows(ctx, t314); // sum_rows torch_export.py:54 in forward + ggml_tensor * t316 = ggml_clamp(ctx, t315, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t317 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t318 = ggml_sqrt(ctx, t316); // sqrt torch_export.py:54 in forward + ggml_tensor * t319 = ggml_div(ctx, t317, t318); // div torch_export.py:54 in forward + ggml_tensor * t320 = ggml_mul(ctx, t313, t319); // mul torch_export.py:54 in forward + ggml_tensor * t321 = ggml_mul(ctx, t320, net_vae_encoder_down_blocks_3_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t322 = ggml_permute(ctx, t321, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t323 = ggml_cont(ctx, t322); // cont torch_export.py:54 in forward + ggml_tensor * t324 = ggml_silu(ctx, t323); // silu torch_export.py:54 in forward + ggml_tensor * t325 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_0_conv2_weight, t324, net_vae_encoder_down_blocks_3_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t326 = ggml_add(ctx, t325, t296); // add torch_export.py:54 in forward + ggml_tensor * t327 = ggml_permute(ctx, t326, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t328 = ggml_cont(ctx, t327); // cont torch_export.py:54 in forward + ggml_tensor * t329 = ggml_mul(ctx, t328, t328); // mul torch_export.py:54 in forward + ggml_tensor * t330 = ggml_sum_rows(ctx, t329); // sum_rows torch_export.py:54 in forward + ggml_tensor * t331 = ggml_clamp(ctx, t330, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t332 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t333 = ggml_sqrt(ctx, t331); // sqrt torch_export.py:54 in forward + ggml_tensor * t334 = ggml_div(ctx, t332, t333); // div torch_export.py:54 in forward + ggml_tensor * t335 = ggml_mul(ctx, t328, t334); // mul torch_export.py:54 in forward + ggml_tensor * t336 = ggml_mul(ctx, t335, net_vae_encoder_down_blocks_3_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t337 = ggml_permute(ctx, t336, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t338 = ggml_cont(ctx, t337); // cont torch_export.py:54 in forward + ggml_tensor * t339 = ggml_silu(ctx, t338); // silu torch_export.py:54 in forward + ggml_tensor * t340 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_1_conv1_weight, t339, net_vae_encoder_down_blocks_3_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t341 = ggml_permute(ctx, t340, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t342 = ggml_cont(ctx, t341); // cont torch_export.py:54 in forward + ggml_tensor * t343 = ggml_mul(ctx, t342, t342); // mul torch_export.py:54 in forward + ggml_tensor * t344 = ggml_sum_rows(ctx, t343); // sum_rows torch_export.py:54 in forward + ggml_tensor * t345 = ggml_clamp(ctx, t344, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t346 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t347 = ggml_sqrt(ctx, t345); // sqrt torch_export.py:54 in forward + ggml_tensor * t348 = ggml_div(ctx, t346, t347); // div torch_export.py:54 in forward + ggml_tensor * t349 = ggml_mul(ctx, t342, t348); // mul torch_export.py:54 in forward + ggml_tensor * t350 = ggml_mul(ctx, t349, net_vae_encoder_down_blocks_3_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t351 = ggml_permute(ctx, t350, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t352 = ggml_cont(ctx, t351); // cont torch_export.py:54 in forward + ggml_tensor * t353 = ggml_silu(ctx, t352); // silu torch_export.py:54 in forward + ggml_tensor * t354 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_1_conv2_weight, t353, net_vae_encoder_down_blocks_3_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t355 = ggml_add(ctx, t354, t326); // add torch_export.py:54 in forward + ggml_tensor * t356 = ggml_add(ctx, t355, t297); // add torch_export.py:54 in forward + ggml_tensor * t357 = ggml_permute(ctx, t356, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t358 = ggml_cont(ctx, t357); // cont torch_export.py:54 in forward + ggml_tensor * t359 = ggml_mul(ctx, t358, t358); // mul torch_export.py:54 in forward + ggml_tensor * t360 = ggml_sum_rows(ctx, t359); // sum_rows torch_export.py:54 in forward + ggml_tensor * t361 = ggml_clamp(ctx, t360, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t362 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t363 = ggml_sqrt(ctx, t361); // sqrt torch_export.py:54 in forward + ggml_tensor * t364 = ggml_div(ctx, t362, t363); // div torch_export.py:54 in forward + ggml_tensor * t365 = ggml_mul(ctx, t358, t364); // mul torch_export.py:54 in forward + ggml_tensor * t366 = ggml_mul(ctx, t365, net_vae_encoder_mid_block_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t367 = ggml_permute(ctx, t366, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t368 = ggml_cont(ctx, t367); // cont torch_export.py:54 in forward + ggml_tensor * t369 = ggml_silu(ctx, t368); // silu torch_export.py:54 in forward + ggml_tensor * t370 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_0_conv1_weight, t369, net_vae_encoder_mid_block_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t371 = ggml_permute(ctx, t370, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t372 = ggml_cont(ctx, t371); // cont torch_export.py:54 in forward + ggml_tensor * t373 = ggml_mul(ctx, t372, t372); // mul torch_export.py:54 in forward + ggml_tensor * t374 = ggml_sum_rows(ctx, t373); // sum_rows torch_export.py:54 in forward + ggml_tensor * t375 = ggml_clamp(ctx, t374, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t376 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t377 = ggml_sqrt(ctx, t375); // sqrt torch_export.py:54 in forward + ggml_tensor * t378 = ggml_div(ctx, t376, t377); // div torch_export.py:54 in forward + ggml_tensor * t379 = ggml_mul(ctx, t372, t378); // mul torch_export.py:54 in forward + ggml_tensor * t380 = ggml_mul(ctx, t379, net_vae_encoder_mid_block_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t381 = ggml_permute(ctx, t380, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t382 = ggml_cont(ctx, t381); // cont torch_export.py:54 in forward + ggml_tensor * t383 = ggml_silu(ctx, t382); // silu torch_export.py:54 in forward + ggml_tensor * t384 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_0_conv2_weight, t383, net_vae_encoder_mid_block_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t385 = ggml_add(ctx, t384, t356); // add torch_export.py:54 in forward + ggml_tensor * t386 = ggml_permute(ctx, t385, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t387 = ggml_cont(ctx, t386); // cont torch_export.py:54 in forward + ggml_tensor * t388 = ggml_mul(ctx, t387, t387); // mul torch_export.py:54 in forward + ggml_tensor * t389 = ggml_sum_rows(ctx, t388); // sum_rows torch_export.py:54 in forward + ggml_tensor * t390 = ggml_clamp(ctx, t389, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t391 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t392 = ggml_sqrt(ctx, t390); // sqrt torch_export.py:54 in forward + ggml_tensor * t393 = ggml_div(ctx, t391, t392); // div torch_export.py:54 in forward + ggml_tensor * t394 = ggml_mul(ctx, t387, t393); // mul torch_export.py:54 in forward + ggml_tensor * t395 = ggml_mul(ctx, t394, net_vae_encoder_mid_block_attentions_0_norm_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t396 = ggml_permute(ctx, t395, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t397 = ggml_cont(ctx, t396); // cont torch_export.py:54 in forward + ggml_tensor * t398 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_attentions_0_to_qkv_weight, t397, net_vae_encoder_mid_block_attentions_0_to_qkv_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t399 = ggml_compiler::ops::slice(ctx, t398, 2, 0, 20, 12, 640, 1); // view torch_export.py:54 in forward + ggml_tensor * t400 = ggml_compiler::ops::reshape(ctx, t399, 240, 640, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t401 = ggml_permute(ctx, t400, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t402 = ggml_compiler::ops::slice(ctx, t398, 2, 640, 20, 12, 640, 1); // view torch_export.py:54 in forward + ggml_tensor * t403 = ggml_compiler::ops::reshape(ctx, t402, 240, 640, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t404 = ggml_permute(ctx, t403, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t405 = ggml_compiler::ops::slice(ctx, t398, 2, 1280, 20, 12, 640, 1); // view torch_export.py:54 in forward + ggml_tensor * t406 = ggml_compiler::ops::reshape(ctx, t405, 240, 640, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t407 = ggml_permute(ctx, t406, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t408 = ggml_cont(ctx, t401); // cont torch_export.py:54 in forward + ggml_tensor * t409 = ggml_compiler::ops::reshape(ctx, t408, 640, 240, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t410 = ggml_cont(ctx, t404); // cont torch_export.py:54 in forward + ggml_tensor * t411 = ggml_compiler::ops::reshape(ctx, t410, 640, 240, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t412 = ggml_cont(ctx, t407); // cont torch_export.py:54 in forward + ggml_tensor * t413 = ggml_compiler::ops::reshape(ctx, t412, 640, 240, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t414 = ggml_compiler::ops::mul_mat(ctx, t411, t409, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t415 = ggml_soft_max_ext(ctx, t414, nullptr, 0.0395284705f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t416 = ggml_permute(ctx, t413, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t417 = ggml_cont(ctx, t416); // cont torch_export.py:54 in forward + ggml_tensor * t418 = ggml_compiler::ops::mul_mat(ctx, t417, t415, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t419 = ggml_compiler::ops::slice(ctx, t418, 2, 0, 640, 240, 1, 1); // view torch_export.py:54 in forward + ggml_tensor * t420 = ggml_compiler::ops::reshape(ctx, t419, 640, 240, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t421 = ggml_permute(ctx, t420, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t422 = ggml_cont(ctx, t421); // cont torch_export.py:54 in forward + ggml_tensor * t423 = ggml_compiler::ops::reshape(ctx, t422, 20, 12, 640, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t424 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_attentions_0_proj_weight, t423, net_vae_encoder_mid_block_attentions_0_proj_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t425 = ggml_add(ctx, t424, t385); // add torch_export.py:54 in forward + ggml_tensor * t426 = ggml_permute(ctx, t425, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t427 = ggml_cont(ctx, t426); // cont torch_export.py:54 in forward + ggml_tensor * t428 = ggml_mul(ctx, t427, t427); // mul torch_export.py:54 in forward + ggml_tensor * t429 = ggml_sum_rows(ctx, t428); // sum_rows torch_export.py:54 in forward + ggml_tensor * t430 = ggml_clamp(ctx, t429, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t431 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t432 = ggml_sqrt(ctx, t430); // sqrt torch_export.py:54 in forward + ggml_tensor * t433 = ggml_div(ctx, t431, t432); // div torch_export.py:54 in forward + ggml_tensor * t434 = ggml_mul(ctx, t427, t433); // mul torch_export.py:54 in forward + ggml_tensor * t435 = ggml_mul(ctx, t434, net_vae_encoder_mid_block_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t436 = ggml_permute(ctx, t435, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t437 = ggml_cont(ctx, t436); // cont torch_export.py:54 in forward + ggml_tensor * t438 = ggml_silu(ctx, t437); // silu torch_export.py:54 in forward + ggml_tensor * t439 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_1_conv1_weight, t438, net_vae_encoder_mid_block_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t440 = ggml_permute(ctx, t439, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t441 = ggml_cont(ctx, t440); // cont torch_export.py:54 in forward + ggml_tensor * t442 = ggml_mul(ctx, t441, t441); // mul torch_export.py:54 in forward + ggml_tensor * t443 = ggml_sum_rows(ctx, t442); // sum_rows torch_export.py:54 in forward + ggml_tensor * t444 = ggml_clamp(ctx, t443, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t445 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t446 = ggml_sqrt(ctx, t444); // sqrt torch_export.py:54 in forward + ggml_tensor * t447 = ggml_div(ctx, t445, t446); // div torch_export.py:54 in forward + ggml_tensor * t448 = ggml_mul(ctx, t441, t447); // mul torch_export.py:54 in forward + ggml_tensor * t449 = ggml_mul(ctx, t448, net_vae_encoder_mid_block_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t450 = ggml_permute(ctx, t449, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t451 = ggml_cont(ctx, t450); // cont torch_export.py:54 in forward + ggml_tensor * t452 = ggml_silu(ctx, t451); // silu torch_export.py:54 in forward + ggml_tensor * t453 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_1_conv2_weight, t452, net_vae_encoder_mid_block_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t454 = ggml_add(ctx, t453, t425); // add torch_export.py:54 in forward + ggml_tensor * t455 = ggml_permute(ctx, t454, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t456 = ggml_cont(ctx, t455); // cont torch_export.py:54 in forward + ggml_tensor * t457 = ggml_mul(ctx, t456, t456); // mul torch_export.py:54 in forward + ggml_tensor * t458 = ggml_sum_rows(ctx, t457); // sum_rows torch_export.py:54 in forward + ggml_tensor * t459 = ggml_clamp(ctx, t458, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward + ggml_tensor * t460 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t461 = ggml_sqrt(ctx, t459); // sqrt torch_export.py:54 in forward + ggml_tensor * t462 = ggml_div(ctx, t460, t461); // div torch_export.py:54 in forward + ggml_tensor * t463 = ggml_mul(ctx, t456, t462); // mul torch_export.py:54 in forward + ggml_tensor * t464 = ggml_mul(ctx, t463, net_vae_encoder_norm_out_gamma_scale); // mul torch_export.py:54 in forward + ggml_tensor * t465 = ggml_permute(ctx, t464, 2, 0, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t466 = ggml_cont(ctx, t465); // cont torch_export.py:54 in forward + ggml_tensor * t467 = ggml_silu(ctx, t466); // silu torch_export.py:54 in forward + ggml_tensor * t468 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_conv_out_weight, t467, net_vae_encoder_conv_out_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t469 = ggml_compiler::ops::conv_2d(ctx, net_vae_quant_conv_weight, t468, net_vae_quant_conv_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward + ggml_tensor * t470 = ggml_compiler::ops::slice(ctx, t469, 2, 0, 20, 12, 48, 1); // view torch_export.py:54 in forward + ggml_tensor * t471 = ggml_compiler::ops::slice(ctx, t470, 1, 0, 20, 10, 48, 1); // view torch_export.py:54 in forward + ggml_tensor * t472 = ggml_cont(ctx, t471); // cont torch_export.py:54 in forward + ggml_tensor * t473 = ggml_sub(ctx, t472, const_12); // sub torch_export.py:54 in forward + ggml_tensor * t474 = ggml_mul(ctx, t473, const_13); // mul torch_export.py:54 in forward + ggml_tensor * t475 = ggml_compiler::ops::reshape(ctx, t474, 20, 2, 5, 48); // reshape torch_export.py:54 in forward + ggml_tensor * t476 = ggml_compiler::ops::slice(ctx, t475, 1, 0, 20, 1, 5, 48); // view torch_export.py:54 in forward + ggml_tensor * t477 = ggml_compiler::ops::reshape(ctx, t476, 20, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t478 = ggml_compiler::ops::reshape(ctx, t477, 20, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t479 = ggml_cont(ctx, t478); // cont torch_export.py:54 in forward + ggml_tensor * t480 = ggml_compiler::ops::reshape(ctx, t479, 2, 10, 5, 48); // reshape torch_export.py:54 in forward + ggml_tensor * t481 = ggml_compiler::ops::slice(ctx, t480, 0, 0, 1, 10, 5, 48); // view torch_export.py:54 in forward + ggml_tensor * t482 = ggml_cont(ctx, t481); // cont torch_export.py:54 in forward + ggml_tensor * t483 = ggml_compiler::ops::reshape(ctx, t482, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t484 = ggml_compiler::ops::reshape(ctx, t483, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t485 = ggml_compiler::ops::reshape(ctx, t484, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t486 = ggml_compiler::ops::slice(ctx, t480, 0, 1, 1, 10, 5, 48); // view torch_export.py:54 in forward + ggml_tensor * t487 = ggml_cont(ctx, t486); // cont torch_export.py:54 in forward + ggml_tensor * t488 = ggml_compiler::ops::reshape(ctx, t487, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t489 = ggml_compiler::ops::reshape(ctx, t488, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t490 = ggml_compiler::ops::reshape(ctx, t489, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t491 = ggml_compiler::ops::slice(ctx, t475, 1, 1, 20, 1, 5, 48); // view torch_export.py:54 in forward + ggml_tensor * t492 = ggml_compiler::ops::reshape(ctx, t491, 20, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t493 = ggml_compiler::ops::reshape(ctx, t492, 20, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t494 = ggml_cont(ctx, t493); // cont torch_export.py:54 in forward + ggml_tensor * t495 = ggml_compiler::ops::reshape(ctx, t494, 2, 10, 5, 48); // reshape torch_export.py:54 in forward + ggml_tensor * t496 = ggml_compiler::ops::slice(ctx, t495, 0, 0, 1, 10, 5, 48); // view torch_export.py:54 in forward + ggml_tensor * t497 = ggml_cont(ctx, t496); // cont torch_export.py:54 in forward + ggml_tensor * t498 = ggml_compiler::ops::reshape(ctx, t497, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t499 = ggml_compiler::ops::reshape(ctx, t498, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t500 = ggml_compiler::ops::reshape(ctx, t499, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t501 = ggml_compiler::ops::slice(ctx, t495, 0, 1, 1, 10, 5, 48); // view torch_export.py:54 in forward + ggml_tensor * t502 = ggml_cont(ctx, t501); // cont torch_export.py:54 in forward + ggml_tensor * t503 = ggml_compiler::ops::reshape(ctx, t502, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t504 = ggml_compiler::ops::reshape(ctx, t503, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t505 = ggml_compiler::ops::reshape(ctx, t504, 10, 5, 48, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t506 = ggml_concat(ctx, t485, t490, 2); // concat torch_export.py:54 in forward + ggml_tensor * t507 = ggml_concat(ctx, t506, t500, 2); // concat torch_export.py:54 in forward + ggml_tensor * t508 = ggml_concat(ctx, t507, t505, 2); // concat torch_export.py:54 in forward + ggml_tensor * t509 = ggml_compiler::ops::reshape(ctx, t508, 50, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t510 = ggml_permute(ctx, t509, 1, 0, 2, 3); // permute torch_export.py:54 in forward + + ggml_compiler_build_output(B, 0, t510); + return 0; +} + +// Stage 'prefix': 1824 nodes. +int build_prefix(ggml_compiler_stage_build * B) { + ggml_context * ctx = ggml_compiler_build_ctx(B); + const bool gpu = ggml_compiler_build_gpu(B); + (void) gpu; + + // Parameters + ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // i32 [1, 192] + ggml_tensor * in1 = ggml_compiler_build_param(B, 1); // f32 [1, 192] + + // Weights and constants, by GGUF name + ggml_tensor * net_mot_backbone_model_language_model_embed_tokens_weight = ggml_compiler_build_weight(B, "w.82"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_input_layernorm_weight = ggml_compiler_build_weight(B, "w.83"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.84"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.85"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.86"); + ggml_tensor * const_14 = ggml_compiler_build_weight(B, "c.14"); + ggml_tensor * const_15 = ggml_compiler_build_weight(B, "c.15"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.87"); + ggml_tensor * const_16 = ggml_compiler_build_weight(B, "c.16"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.88"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.89"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.90"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.91"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_input_layernorm_weight = ggml_compiler_build_weight(B, "w.92"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.93"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.94"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.95"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.96"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.97"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.98"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.99"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.100"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_input_layernorm_weight = ggml_compiler_build_weight(B, "w.101"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.102"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.103"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.104"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.105"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.106"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.107"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.108"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.109"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_input_layernorm_weight = ggml_compiler_build_weight(B, "w.110"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.111"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.112"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.113"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.114"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.115"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.116"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.117"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.118"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_input_layernorm_weight = ggml_compiler_build_weight(B, "w.119"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.120"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.121"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.122"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.123"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.124"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.125"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.126"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.127"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_input_layernorm_weight = ggml_compiler_build_weight(B, "w.128"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.129"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.130"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.131"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.132"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.133"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.134"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.135"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.136"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_input_layernorm_weight = ggml_compiler_build_weight(B, "w.137"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.138"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.139"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.140"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.141"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.142"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.143"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.144"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.145"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_input_layernorm_weight = ggml_compiler_build_weight(B, "w.146"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.147"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.148"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.149"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.150"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.151"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.152"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.153"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.154"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_input_layernorm_weight = ggml_compiler_build_weight(B, "w.155"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.156"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.157"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.158"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.159"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.160"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.161"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.162"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.163"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_input_layernorm_weight = ggml_compiler_build_weight(B, "w.164"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.165"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.166"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.167"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.168"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.169"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.170"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.171"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.172"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_input_layernorm_weight = ggml_compiler_build_weight(B, "w.173"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.174"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.175"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.176"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.177"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.178"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.179"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.180"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.181"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_input_layernorm_weight = ggml_compiler_build_weight(B, "w.182"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.183"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.184"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.185"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.186"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.187"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.188"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.189"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.190"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_input_layernorm_weight = ggml_compiler_build_weight(B, "w.191"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.192"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.193"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.194"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.195"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.196"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.197"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.198"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.199"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_input_layernorm_weight = ggml_compiler_build_weight(B, "w.200"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.201"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.202"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.203"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.204"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.205"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.206"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.207"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.208"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_input_layernorm_weight = ggml_compiler_build_weight(B, "w.209"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.210"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.211"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.212"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.213"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.214"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.215"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.216"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.217"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_input_layernorm_weight = ggml_compiler_build_weight(B, "w.218"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.219"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.220"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.221"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.222"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.223"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.224"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.225"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.226"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_input_layernorm_weight = ggml_compiler_build_weight(B, "w.227"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.228"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.229"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.230"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.231"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.232"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.233"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.234"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.235"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_input_layernorm_weight = ggml_compiler_build_weight(B, "w.236"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.237"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.238"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.239"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.240"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.241"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.242"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.243"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.244"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_input_layernorm_weight = ggml_compiler_build_weight(B, "w.245"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.246"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.247"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.248"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.249"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.250"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.251"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.252"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.253"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_input_layernorm_weight = ggml_compiler_build_weight(B, "w.254"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.255"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.256"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.257"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.258"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.259"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.260"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.261"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.262"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_input_layernorm_weight = ggml_compiler_build_weight(B, "w.263"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.264"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.265"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.266"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.267"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.268"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.269"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.270"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.271"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_input_layernorm_weight = ggml_compiler_build_weight(B, "w.272"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.273"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.274"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.275"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.276"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.277"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.278"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.279"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.280"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_input_layernorm_weight = ggml_compiler_build_weight(B, "w.281"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.282"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.283"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.284"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.285"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.286"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.287"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.288"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.289"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_input_layernorm_weight = ggml_compiler_build_weight(B, "w.290"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.291"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.292"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.293"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.294"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.295"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.296"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.297"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.298"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_input_layernorm_weight = ggml_compiler_build_weight(B, "w.299"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.300"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.301"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.302"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.303"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.304"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.305"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.306"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.307"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_input_layernorm_weight = ggml_compiler_build_weight(B, "w.308"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.309"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.310"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.311"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.312"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.313"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.314"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.315"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.316"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_input_layernorm_weight = ggml_compiler_build_weight(B, "w.317"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.318"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.319"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.320"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.321"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.322"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.323"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.324"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.325"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_input_layernorm_weight = ggml_compiler_build_weight(B, "w.326"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.327"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.328"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.329"); + ggml_tensor * const_17 = ggml_compiler_build_weight(B, "c.17"); + ggml_tensor * const_18 = ggml_compiler_build_weight(B, "c.18"); + ggml_tensor * const_19 = ggml_compiler_build_weight(B, "c.19"); + ggml_tensor * const_20 = ggml_compiler_build_weight(B, "c.20"); + + // Graph + ggml_tensor * t0 = ggml_compiler::ops::reshape(ctx, in0, 192, 1, 1, 1); // reshape net.mot_backbone.model.language_model.embed_tokens sparse.py:189 in forward + ggml_tensor * t1 = ggml_get_rows(ctx, net_mot_backbone_model_language_model_embed_tokens_weight, t0); // get_rows net.mot_backbone.model.language_model.embed_tokens sparse.py:189 in forward + ggml_tensor * t2 = ggml_compiler::ops::reshape(ctx, t1, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.embed_tokens sparse.py:189 in forward + ggml_tensor * t3 = ggml_rms_norm(ctx, t2, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t4 = ggml_mul(ctx, t3, net_mot_backbone_model_language_model_layers_0_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.0.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t5 = ggml_compiler::ops::reshape(ctx, t4, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t6 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_weight, t5); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t7 = ggml_compiler::ops::reshape(ctx, t6, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t8 = ggml_permute(ctx, t7, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t9 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_weight, t5); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t10 = ggml_compiler::ops::reshape(ctx, t9, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t11 = ggml_permute(ctx, t10, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t12 = ggml_cont(ctx, t8); // cont net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t13 = ggml_rms_norm(ctx, t12, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t14 = ggml_mul(ctx, t13, net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t15 = ggml_mul(ctx, t14, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t16 = ggml_compiler::ops::slice(ctx, t14, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t17 = ggml_cont(ctx, t16); // cont torch_export.py:54 in forward + ggml_tensor * t18 = ggml_neg(ctx, t17); // neg torch_export.py:54 in forward + ggml_tensor * t19 = ggml_compiler::ops::slice(ctx, t14, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t20 = ggml_cont(ctx, t19); // cont torch_export.py:54 in forward + ggml_tensor * t21 = ggml_concat(ctx, t18, t20, 0); // concat torch_export.py:54 in forward + ggml_tensor * t22 = ggml_mul(ctx, t21, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t23 = ggml_add(ctx, t15, t22); // add torch_export.py:54 in forward + ggml_tensor * t24 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_weight, t5); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t25 = ggml_compiler::ops::reshape(ctx, t24, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t26 = ggml_permute(ctx, t25, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t27 = ggml_cont(ctx, t26); // cont torch_export.py:54 in forward + ggml_tensor * t28 = ggml_mul(ctx, t27, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t29 = ggml_compiler::ops::slice(ctx, t26, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t30 = ggml_cont(ctx, t29); // cont torch_export.py:54 in forward + ggml_tensor * t31 = ggml_neg(ctx, t30); // neg torch_export.py:54 in forward + ggml_tensor * t32 = ggml_compiler::ops::slice(ctx, t26, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t33 = ggml_cont(ctx, t32); // cont torch_export.py:54 in forward + ggml_tensor * t34 = ggml_concat(ctx, t31, t33, 0); // concat torch_export.py:54 in forward + ggml_tensor * t35 = ggml_mul(ctx, t34, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t36 = ggml_add(ctx, t28, t35); // add torch_export.py:54 in forward + ggml_tensor * t37 = ggml_mul(ctx, t12, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t38 = ggml_compiler::ops::slice(ctx, t8, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t39 = ggml_cont(ctx, t38); // cont torch_export.py:54 in forward + ggml_tensor * t40 = ggml_neg(ctx, t39); // neg torch_export.py:54 in forward + ggml_tensor * t41 = ggml_compiler::ops::slice(ctx, t8, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t42 = ggml_cont(ctx, t41); // cont torch_export.py:54 in forward + ggml_tensor * t43 = ggml_concat(ctx, t40, t42, 0); // concat torch_export.py:54 in forward + ggml_tensor * t44 = ggml_mul(ctx, t43, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t45 = ggml_add(ctx, t37, t44); // add torch_export.py:54 in forward + ggml_tensor * t46 = ggml_compiler::ops::mul_mat(ctx, t45, t36, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t47 = ggml_soft_max_ext(ctx, t46, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t48 = ggml_permute(ctx, t10, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t49 = ggml_cont(ctx, t48); // cont torch_export.py:54 in forward + ggml_tensor * t50 = ggml_compiler::ops::mul_mat(ctx, t49, t47, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t51 = ggml_permute(ctx, t50, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t52 = ggml_cont(ctx, t51); // cont torch_export.py:54 in forward + ggml_tensor * t53 = ggml_compiler::ops::reshape(ctx, t52, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t54 = ggml_compiler::ops::reshape(ctx, t53, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t55 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_weight, t54); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t56 = ggml_compiler::ops::reshape(ctx, t55, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t57 = ggml_add(ctx, t2, t56); // add torch_export.py:54 in forward + ggml_tensor * t58 = ggml_rms_norm(ctx, t57, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t59 = ggml_mul(ctx, t58, net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.0.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t60 = ggml_compiler::ops::reshape(ctx, t59, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.up_proj linear.py:134 in forward + ggml_tensor * t61 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_up_proj_weight, t60); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp.up_proj linear.py:134 in forward + ggml_tensor * t62 = ggml_compiler::ops::reshape(ctx, t61, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.up_proj linear.py:134 in forward + ggml_tensor * t63 = ggml_relu(ctx, t62); // relu net.mot_backbone.model.language_model.layers.0.mlp.act_fn activations.py:212 in forward + ggml_tensor * t64 = ggml_sqr(ctx, t63); // sqr net.mot_backbone.model.language_model.layers.0.mlp.act_fn activations.py:213 in forward + ggml_tensor * t65 = ggml_compiler::ops::reshape(ctx, t64, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.down_proj linear.py:134 in forward + ggml_tensor * t66 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_down_proj_weight, t65); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp.down_proj linear.py:134 in forward + ggml_tensor * t67 = ggml_compiler::ops::reshape(ctx, t66, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.down_proj linear.py:134 in forward + ggml_tensor * t68 = ggml_add(ctx, t57, t67); // add torch_export.py:54 in forward + ggml_tensor * t69 = ggml_rms_norm(ctx, t68, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t70 = ggml_mul(ctx, t69, net_mot_backbone_model_language_model_layers_1_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.1.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t71 = ggml_compiler::ops::reshape(ctx, t70, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t72 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_weight, t71); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t73 = ggml_compiler::ops::reshape(ctx, t72, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t74 = ggml_permute(ctx, t73, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t75 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_weight, t71); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t76 = ggml_compiler::ops::reshape(ctx, t75, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t77 = ggml_permute(ctx, t76, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t78 = ggml_cont(ctx, t74); // cont net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t79 = ggml_rms_norm(ctx, t78, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t80 = ggml_mul(ctx, t79, net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t81 = ggml_mul(ctx, t80, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t82 = ggml_compiler::ops::slice(ctx, t80, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t83 = ggml_cont(ctx, t82); // cont torch_export.py:54 in forward + ggml_tensor * t84 = ggml_neg(ctx, t83); // neg torch_export.py:54 in forward + ggml_tensor * t85 = ggml_compiler::ops::slice(ctx, t80, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t86 = ggml_cont(ctx, t85); // cont torch_export.py:54 in forward + ggml_tensor * t87 = ggml_concat(ctx, t84, t86, 0); // concat torch_export.py:54 in forward + ggml_tensor * t88 = ggml_mul(ctx, t87, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t89 = ggml_add(ctx, t81, t88); // add torch_export.py:54 in forward + ggml_tensor * t90 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_weight, t71); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t91 = ggml_compiler::ops::reshape(ctx, t90, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t92 = ggml_permute(ctx, t91, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t93 = ggml_cont(ctx, t92); // cont torch_export.py:54 in forward + ggml_tensor * t94 = ggml_mul(ctx, t93, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t95 = ggml_compiler::ops::slice(ctx, t92, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t96 = ggml_cont(ctx, t95); // cont torch_export.py:54 in forward + ggml_tensor * t97 = ggml_neg(ctx, t96); // neg torch_export.py:54 in forward + ggml_tensor * t98 = ggml_compiler::ops::slice(ctx, t92, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t99 = ggml_cont(ctx, t98); // cont torch_export.py:54 in forward + ggml_tensor * t100 = ggml_concat(ctx, t97, t99, 0); // concat torch_export.py:54 in forward + ggml_tensor * t101 = ggml_mul(ctx, t100, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t102 = ggml_add(ctx, t94, t101); // add torch_export.py:54 in forward + ggml_tensor * t103 = ggml_mul(ctx, t78, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t104 = ggml_compiler::ops::slice(ctx, t74, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t105 = ggml_cont(ctx, t104); // cont torch_export.py:54 in forward + ggml_tensor * t106 = ggml_neg(ctx, t105); // neg torch_export.py:54 in forward + ggml_tensor * t107 = ggml_compiler::ops::slice(ctx, t74, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t108 = ggml_cont(ctx, t107); // cont torch_export.py:54 in forward + ggml_tensor * t109 = ggml_concat(ctx, t106, t108, 0); // concat torch_export.py:54 in forward + ggml_tensor * t110 = ggml_mul(ctx, t109, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t111 = ggml_add(ctx, t103, t110); // add torch_export.py:54 in forward + ggml_tensor * t112 = ggml_compiler::ops::mul_mat(ctx, t111, t102, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t113 = ggml_soft_max_ext(ctx, t112, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t114 = ggml_permute(ctx, t76, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t115 = ggml_cont(ctx, t114); // cont torch_export.py:54 in forward + ggml_tensor * t116 = ggml_compiler::ops::mul_mat(ctx, t115, t113, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t117 = ggml_permute(ctx, t116, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t118 = ggml_cont(ctx, t117); // cont torch_export.py:54 in forward + ggml_tensor * t119 = ggml_compiler::ops::reshape(ctx, t118, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t120 = ggml_compiler::ops::reshape(ctx, t119, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t121 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_weight, t120); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t122 = ggml_compiler::ops::reshape(ctx, t121, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t123 = ggml_add(ctx, t68, t122); // add torch_export.py:54 in forward + ggml_tensor * t124 = ggml_rms_norm(ctx, t123, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t125 = ggml_mul(ctx, t124, net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.1.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t126 = ggml_compiler::ops::reshape(ctx, t125, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.up_proj linear.py:134 in forward + ggml_tensor * t127 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_up_proj_weight, t126); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp.up_proj linear.py:134 in forward + ggml_tensor * t128 = ggml_compiler::ops::reshape(ctx, t127, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.up_proj linear.py:134 in forward + ggml_tensor * t129 = ggml_relu(ctx, t128); // relu net.mot_backbone.model.language_model.layers.1.mlp.act_fn activations.py:212 in forward + ggml_tensor * t130 = ggml_sqr(ctx, t129); // sqr net.mot_backbone.model.language_model.layers.1.mlp.act_fn activations.py:213 in forward + ggml_tensor * t131 = ggml_compiler::ops::reshape(ctx, t130, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.down_proj linear.py:134 in forward + ggml_tensor * t132 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_down_proj_weight, t131); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp.down_proj linear.py:134 in forward + ggml_tensor * t133 = ggml_compiler::ops::reshape(ctx, t132, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.down_proj linear.py:134 in forward + ggml_tensor * t134 = ggml_add(ctx, t123, t133); // add torch_export.py:54 in forward + ggml_tensor * t135 = ggml_rms_norm(ctx, t134, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t136 = ggml_mul(ctx, t135, net_mot_backbone_model_language_model_layers_2_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.2.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t137 = ggml_compiler::ops::reshape(ctx, t136, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t138 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t139 = ggml_compiler::ops::reshape(ctx, t138, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t140 = ggml_permute(ctx, t139, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t141 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t142 = ggml_compiler::ops::reshape(ctx, t141, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t143 = ggml_permute(ctx, t142, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t144 = ggml_cont(ctx, t140); // cont net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t145 = ggml_rms_norm(ctx, t144, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t146 = ggml_mul(ctx, t145, net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t147 = ggml_mul(ctx, t146, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t148 = ggml_compiler::ops::slice(ctx, t146, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t149 = ggml_cont(ctx, t148); // cont torch_export.py:54 in forward + ggml_tensor * t150 = ggml_neg(ctx, t149); // neg torch_export.py:54 in forward + ggml_tensor * t151 = ggml_compiler::ops::slice(ctx, t146, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t152 = ggml_cont(ctx, t151); // cont torch_export.py:54 in forward + ggml_tensor * t153 = ggml_concat(ctx, t150, t152, 0); // concat torch_export.py:54 in forward + ggml_tensor * t154 = ggml_mul(ctx, t153, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t155 = ggml_add(ctx, t147, t154); // add torch_export.py:54 in forward + ggml_tensor * t156 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t157 = ggml_compiler::ops::reshape(ctx, t156, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t158 = ggml_permute(ctx, t157, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t159 = ggml_cont(ctx, t158); // cont torch_export.py:54 in forward + ggml_tensor * t160 = ggml_mul(ctx, t159, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t161 = ggml_compiler::ops::slice(ctx, t158, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t162 = ggml_cont(ctx, t161); // cont torch_export.py:54 in forward + ggml_tensor * t163 = ggml_neg(ctx, t162); // neg torch_export.py:54 in forward + ggml_tensor * t164 = ggml_compiler::ops::slice(ctx, t158, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t165 = ggml_cont(ctx, t164); // cont torch_export.py:54 in forward + ggml_tensor * t166 = ggml_concat(ctx, t163, t165, 0); // concat torch_export.py:54 in forward + ggml_tensor * t167 = ggml_mul(ctx, t166, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t168 = ggml_add(ctx, t160, t167); // add torch_export.py:54 in forward + ggml_tensor * t169 = ggml_mul(ctx, t144, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t170 = ggml_compiler::ops::slice(ctx, t140, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t171 = ggml_cont(ctx, t170); // cont torch_export.py:54 in forward + ggml_tensor * t172 = ggml_neg(ctx, t171); // neg torch_export.py:54 in forward + ggml_tensor * t173 = ggml_compiler::ops::slice(ctx, t140, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t174 = ggml_cont(ctx, t173); // cont torch_export.py:54 in forward + ggml_tensor * t175 = ggml_concat(ctx, t172, t174, 0); // concat torch_export.py:54 in forward + ggml_tensor * t176 = ggml_mul(ctx, t175, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t177 = ggml_add(ctx, t169, t176); // add torch_export.py:54 in forward + ggml_tensor * t178 = ggml_compiler::ops::mul_mat(ctx, t177, t168, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t179 = ggml_soft_max_ext(ctx, t178, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t180 = ggml_permute(ctx, t142, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t181 = ggml_cont(ctx, t180); // cont torch_export.py:54 in forward + ggml_tensor * t182 = ggml_compiler::ops::mul_mat(ctx, t181, t179, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t183 = ggml_permute(ctx, t182, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t184 = ggml_cont(ctx, t183); // cont torch_export.py:54 in forward + ggml_tensor * t185 = ggml_compiler::ops::reshape(ctx, t184, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t186 = ggml_compiler::ops::reshape(ctx, t185, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t187 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_weight, t186); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t188 = ggml_compiler::ops::reshape(ctx, t187, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t189 = ggml_add(ctx, t134, t188); // add torch_export.py:54 in forward + ggml_tensor * t190 = ggml_rms_norm(ctx, t189, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t191 = ggml_mul(ctx, t190, net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.2.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t192 = ggml_compiler::ops::reshape(ctx, t191, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.up_proj linear.py:134 in forward + ggml_tensor * t193 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_up_proj_weight, t192); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp.up_proj linear.py:134 in forward + ggml_tensor * t194 = ggml_compiler::ops::reshape(ctx, t193, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.up_proj linear.py:134 in forward + ggml_tensor * t195 = ggml_relu(ctx, t194); // relu net.mot_backbone.model.language_model.layers.2.mlp.act_fn activations.py:212 in forward + ggml_tensor * t196 = ggml_sqr(ctx, t195); // sqr net.mot_backbone.model.language_model.layers.2.mlp.act_fn activations.py:213 in forward + ggml_tensor * t197 = ggml_compiler::ops::reshape(ctx, t196, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.down_proj linear.py:134 in forward + ggml_tensor * t198 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_down_proj_weight, t197); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp.down_proj linear.py:134 in forward + ggml_tensor * t199 = ggml_compiler::ops::reshape(ctx, t198, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.down_proj linear.py:134 in forward + ggml_tensor * t200 = ggml_add(ctx, t189, t199); // add torch_export.py:54 in forward + ggml_tensor * t201 = ggml_rms_norm(ctx, t200, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t202 = ggml_mul(ctx, t201, net_mot_backbone_model_language_model_layers_3_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.3.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t203 = ggml_compiler::ops::reshape(ctx, t202, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t204 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_weight, t203); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t205 = ggml_compiler::ops::reshape(ctx, t204, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t206 = ggml_permute(ctx, t205, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t207 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_weight, t203); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t208 = ggml_compiler::ops::reshape(ctx, t207, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t209 = ggml_permute(ctx, t208, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t210 = ggml_cont(ctx, t206); // cont net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t211 = ggml_rms_norm(ctx, t210, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t212 = ggml_mul(ctx, t211, net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t213 = ggml_mul(ctx, t212, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t214 = ggml_compiler::ops::slice(ctx, t212, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t215 = ggml_cont(ctx, t214); // cont torch_export.py:54 in forward + ggml_tensor * t216 = ggml_neg(ctx, t215); // neg torch_export.py:54 in forward + ggml_tensor * t217 = ggml_compiler::ops::slice(ctx, t212, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t218 = ggml_cont(ctx, t217); // cont torch_export.py:54 in forward + ggml_tensor * t219 = ggml_concat(ctx, t216, t218, 0); // concat torch_export.py:54 in forward + ggml_tensor * t220 = ggml_mul(ctx, t219, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t221 = ggml_add(ctx, t213, t220); // add torch_export.py:54 in forward + ggml_tensor * t222 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_weight, t203); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t223 = ggml_compiler::ops::reshape(ctx, t222, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t224 = ggml_permute(ctx, t223, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t225 = ggml_cont(ctx, t224); // cont torch_export.py:54 in forward + ggml_tensor * t226 = ggml_mul(ctx, t225, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t227 = ggml_compiler::ops::slice(ctx, t224, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t228 = ggml_cont(ctx, t227); // cont torch_export.py:54 in forward + ggml_tensor * t229 = ggml_neg(ctx, t228); // neg torch_export.py:54 in forward + ggml_tensor * t230 = ggml_compiler::ops::slice(ctx, t224, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t231 = ggml_cont(ctx, t230); // cont torch_export.py:54 in forward + ggml_tensor * t232 = ggml_concat(ctx, t229, t231, 0); // concat torch_export.py:54 in forward + ggml_tensor * t233 = ggml_mul(ctx, t232, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t234 = ggml_add(ctx, t226, t233); // add torch_export.py:54 in forward + ggml_tensor * t235 = ggml_mul(ctx, t210, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t236 = ggml_compiler::ops::slice(ctx, t206, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t237 = ggml_cont(ctx, t236); // cont torch_export.py:54 in forward + ggml_tensor * t238 = ggml_neg(ctx, t237); // neg torch_export.py:54 in forward + ggml_tensor * t239 = ggml_compiler::ops::slice(ctx, t206, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t240 = ggml_cont(ctx, t239); // cont torch_export.py:54 in forward + ggml_tensor * t241 = ggml_concat(ctx, t238, t240, 0); // concat torch_export.py:54 in forward + ggml_tensor * t242 = ggml_mul(ctx, t241, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t243 = ggml_add(ctx, t235, t242); // add torch_export.py:54 in forward + ggml_tensor * t244 = ggml_compiler::ops::mul_mat(ctx, t243, t234, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t245 = ggml_soft_max_ext(ctx, t244, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t246 = ggml_permute(ctx, t208, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t247 = ggml_cont(ctx, t246); // cont torch_export.py:54 in forward + ggml_tensor * t248 = ggml_compiler::ops::mul_mat(ctx, t247, t245, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t249 = ggml_permute(ctx, t248, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t250 = ggml_cont(ctx, t249); // cont torch_export.py:54 in forward + ggml_tensor * t251 = ggml_compiler::ops::reshape(ctx, t250, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t252 = ggml_compiler::ops::reshape(ctx, t251, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t253 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_weight, t252); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t254 = ggml_compiler::ops::reshape(ctx, t253, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t255 = ggml_add(ctx, t200, t254); // add torch_export.py:54 in forward + ggml_tensor * t256 = ggml_rms_norm(ctx, t255, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t257 = ggml_mul(ctx, t256, net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.3.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t258 = ggml_compiler::ops::reshape(ctx, t257, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.up_proj linear.py:134 in forward + ggml_tensor * t259 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_up_proj_weight, t258); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp.up_proj linear.py:134 in forward + ggml_tensor * t260 = ggml_compiler::ops::reshape(ctx, t259, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.up_proj linear.py:134 in forward + ggml_tensor * t261 = ggml_relu(ctx, t260); // relu net.mot_backbone.model.language_model.layers.3.mlp.act_fn activations.py:212 in forward + ggml_tensor * t262 = ggml_sqr(ctx, t261); // sqr net.mot_backbone.model.language_model.layers.3.mlp.act_fn activations.py:213 in forward + ggml_tensor * t263 = ggml_compiler::ops::reshape(ctx, t262, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.down_proj linear.py:134 in forward + ggml_tensor * t264 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_down_proj_weight, t263); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp.down_proj linear.py:134 in forward + ggml_tensor * t265 = ggml_compiler::ops::reshape(ctx, t264, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.down_proj linear.py:134 in forward + ggml_tensor * t266 = ggml_add(ctx, t255, t265); // add torch_export.py:54 in forward + ggml_tensor * t267 = ggml_rms_norm(ctx, t266, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t268 = ggml_mul(ctx, t267, net_mot_backbone_model_language_model_layers_4_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.4.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t269 = ggml_compiler::ops::reshape(ctx, t268, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t270 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_weight, t269); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t271 = ggml_compiler::ops::reshape(ctx, t270, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t272 = ggml_permute(ctx, t271, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t273 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_weight, t269); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t274 = ggml_compiler::ops::reshape(ctx, t273, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t275 = ggml_permute(ctx, t274, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t276 = ggml_cont(ctx, t272); // cont net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t277 = ggml_rms_norm(ctx, t276, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t278 = ggml_mul(ctx, t277, net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t279 = ggml_mul(ctx, t278, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t280 = ggml_compiler::ops::slice(ctx, t278, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t281 = ggml_cont(ctx, t280); // cont torch_export.py:54 in forward + ggml_tensor * t282 = ggml_neg(ctx, t281); // neg torch_export.py:54 in forward + ggml_tensor * t283 = ggml_compiler::ops::slice(ctx, t278, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t284 = ggml_cont(ctx, t283); // cont torch_export.py:54 in forward + ggml_tensor * t285 = ggml_concat(ctx, t282, t284, 0); // concat torch_export.py:54 in forward + ggml_tensor * t286 = ggml_mul(ctx, t285, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t287 = ggml_add(ctx, t279, t286); // add torch_export.py:54 in forward + ggml_tensor * t288 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_weight, t269); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t289 = ggml_compiler::ops::reshape(ctx, t288, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t290 = ggml_permute(ctx, t289, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t291 = ggml_cont(ctx, t290); // cont torch_export.py:54 in forward + ggml_tensor * t292 = ggml_mul(ctx, t291, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t293 = ggml_compiler::ops::slice(ctx, t290, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t294 = ggml_cont(ctx, t293); // cont torch_export.py:54 in forward + ggml_tensor * t295 = ggml_neg(ctx, t294); // neg torch_export.py:54 in forward + ggml_tensor * t296 = ggml_compiler::ops::slice(ctx, t290, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t297 = ggml_cont(ctx, t296); // cont torch_export.py:54 in forward + ggml_tensor * t298 = ggml_concat(ctx, t295, t297, 0); // concat torch_export.py:54 in forward + ggml_tensor * t299 = ggml_mul(ctx, t298, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t300 = ggml_add(ctx, t292, t299); // add torch_export.py:54 in forward + ggml_tensor * t301 = ggml_mul(ctx, t276, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t302 = ggml_compiler::ops::slice(ctx, t272, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t303 = ggml_cont(ctx, t302); // cont torch_export.py:54 in forward + ggml_tensor * t304 = ggml_neg(ctx, t303); // neg torch_export.py:54 in forward + ggml_tensor * t305 = ggml_compiler::ops::slice(ctx, t272, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t306 = ggml_cont(ctx, t305); // cont torch_export.py:54 in forward + ggml_tensor * t307 = ggml_concat(ctx, t304, t306, 0); // concat torch_export.py:54 in forward + ggml_tensor * t308 = ggml_mul(ctx, t307, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t309 = ggml_add(ctx, t301, t308); // add torch_export.py:54 in forward + ggml_tensor * t310 = ggml_compiler::ops::mul_mat(ctx, t309, t300, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t311 = ggml_soft_max_ext(ctx, t310, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t312 = ggml_permute(ctx, t274, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t313 = ggml_cont(ctx, t312); // cont torch_export.py:54 in forward + ggml_tensor * t314 = ggml_compiler::ops::mul_mat(ctx, t313, t311, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t315 = ggml_permute(ctx, t314, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t316 = ggml_cont(ctx, t315); // cont torch_export.py:54 in forward + ggml_tensor * t317 = ggml_compiler::ops::reshape(ctx, t316, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t318 = ggml_compiler::ops::reshape(ctx, t317, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t319 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_weight, t318); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t320 = ggml_compiler::ops::reshape(ctx, t319, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t321 = ggml_add(ctx, t266, t320); // add torch_export.py:54 in forward + ggml_tensor * t322 = ggml_rms_norm(ctx, t321, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t323 = ggml_mul(ctx, t322, net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.4.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t324 = ggml_compiler::ops::reshape(ctx, t323, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.up_proj linear.py:134 in forward + ggml_tensor * t325 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_up_proj_weight, t324); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp.up_proj linear.py:134 in forward + ggml_tensor * t326 = ggml_compiler::ops::reshape(ctx, t325, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.up_proj linear.py:134 in forward + ggml_tensor * t327 = ggml_relu(ctx, t326); // relu net.mot_backbone.model.language_model.layers.4.mlp.act_fn activations.py:212 in forward + ggml_tensor * t328 = ggml_sqr(ctx, t327); // sqr net.mot_backbone.model.language_model.layers.4.mlp.act_fn activations.py:213 in forward + ggml_tensor * t329 = ggml_compiler::ops::reshape(ctx, t328, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.down_proj linear.py:134 in forward + ggml_tensor * t330 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_down_proj_weight, t329); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp.down_proj linear.py:134 in forward + ggml_tensor * t331 = ggml_compiler::ops::reshape(ctx, t330, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.down_proj linear.py:134 in forward + ggml_tensor * t332 = ggml_add(ctx, t321, t331); // add torch_export.py:54 in forward + ggml_tensor * t333 = ggml_rms_norm(ctx, t332, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t334 = ggml_mul(ctx, t333, net_mot_backbone_model_language_model_layers_5_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.5.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t335 = ggml_compiler::ops::reshape(ctx, t334, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t336 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_weight, t335); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t337 = ggml_compiler::ops::reshape(ctx, t336, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t338 = ggml_permute(ctx, t337, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t339 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_weight, t335); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t340 = ggml_compiler::ops::reshape(ctx, t339, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t341 = ggml_permute(ctx, t340, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t342 = ggml_cont(ctx, t338); // cont net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t343 = ggml_rms_norm(ctx, t342, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t344 = ggml_mul(ctx, t343, net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t345 = ggml_mul(ctx, t344, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t346 = ggml_compiler::ops::slice(ctx, t344, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t347 = ggml_cont(ctx, t346); // cont torch_export.py:54 in forward + ggml_tensor * t348 = ggml_neg(ctx, t347); // neg torch_export.py:54 in forward + ggml_tensor * t349 = ggml_compiler::ops::slice(ctx, t344, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t350 = ggml_cont(ctx, t349); // cont torch_export.py:54 in forward + ggml_tensor * t351 = ggml_concat(ctx, t348, t350, 0); // concat torch_export.py:54 in forward + ggml_tensor * t352 = ggml_mul(ctx, t351, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t353 = ggml_add(ctx, t345, t352); // add torch_export.py:54 in forward + ggml_tensor * t354 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_weight, t335); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t355 = ggml_compiler::ops::reshape(ctx, t354, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t356 = ggml_permute(ctx, t355, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t357 = ggml_cont(ctx, t356); // cont torch_export.py:54 in forward + ggml_tensor * t358 = ggml_mul(ctx, t357, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t359 = ggml_compiler::ops::slice(ctx, t356, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t360 = ggml_cont(ctx, t359); // cont torch_export.py:54 in forward + ggml_tensor * t361 = ggml_neg(ctx, t360); // neg torch_export.py:54 in forward + ggml_tensor * t362 = ggml_compiler::ops::slice(ctx, t356, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t363 = ggml_cont(ctx, t362); // cont torch_export.py:54 in forward + ggml_tensor * t364 = ggml_concat(ctx, t361, t363, 0); // concat torch_export.py:54 in forward + ggml_tensor * t365 = ggml_mul(ctx, t364, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t366 = ggml_add(ctx, t358, t365); // add torch_export.py:54 in forward + ggml_tensor * t367 = ggml_mul(ctx, t342, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t368 = ggml_compiler::ops::slice(ctx, t338, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t369 = ggml_cont(ctx, t368); // cont torch_export.py:54 in forward + ggml_tensor * t370 = ggml_neg(ctx, t369); // neg torch_export.py:54 in forward + ggml_tensor * t371 = ggml_compiler::ops::slice(ctx, t338, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t372 = ggml_cont(ctx, t371); // cont torch_export.py:54 in forward + ggml_tensor * t373 = ggml_concat(ctx, t370, t372, 0); // concat torch_export.py:54 in forward + ggml_tensor * t374 = ggml_mul(ctx, t373, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t375 = ggml_add(ctx, t367, t374); // add torch_export.py:54 in forward + ggml_tensor * t376 = ggml_compiler::ops::mul_mat(ctx, t375, t366, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t377 = ggml_soft_max_ext(ctx, t376, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t378 = ggml_permute(ctx, t340, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t379 = ggml_cont(ctx, t378); // cont torch_export.py:54 in forward + ggml_tensor * t380 = ggml_compiler::ops::mul_mat(ctx, t379, t377, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t381 = ggml_permute(ctx, t380, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t382 = ggml_cont(ctx, t381); // cont torch_export.py:54 in forward + ggml_tensor * t383 = ggml_compiler::ops::reshape(ctx, t382, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t384 = ggml_compiler::ops::reshape(ctx, t383, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t385 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_weight, t384); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t386 = ggml_compiler::ops::reshape(ctx, t385, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t387 = ggml_add(ctx, t332, t386); // add torch_export.py:54 in forward + ggml_tensor * t388 = ggml_rms_norm(ctx, t387, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t389 = ggml_mul(ctx, t388, net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.5.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t390 = ggml_compiler::ops::reshape(ctx, t389, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.up_proj linear.py:134 in forward + ggml_tensor * t391 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_up_proj_weight, t390); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp.up_proj linear.py:134 in forward + ggml_tensor * t392 = ggml_compiler::ops::reshape(ctx, t391, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.up_proj linear.py:134 in forward + ggml_tensor * t393 = ggml_relu(ctx, t392); // relu net.mot_backbone.model.language_model.layers.5.mlp.act_fn activations.py:212 in forward + ggml_tensor * t394 = ggml_sqr(ctx, t393); // sqr net.mot_backbone.model.language_model.layers.5.mlp.act_fn activations.py:213 in forward + ggml_tensor * t395 = ggml_compiler::ops::reshape(ctx, t394, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.down_proj linear.py:134 in forward + ggml_tensor * t396 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_down_proj_weight, t395); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp.down_proj linear.py:134 in forward + ggml_tensor * t397 = ggml_compiler::ops::reshape(ctx, t396, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.down_proj linear.py:134 in forward + ggml_tensor * t398 = ggml_add(ctx, t387, t397); // add torch_export.py:54 in forward + ggml_tensor * t399 = ggml_rms_norm(ctx, t398, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t400 = ggml_mul(ctx, t399, net_mot_backbone_model_language_model_layers_6_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.6.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t401 = ggml_compiler::ops::reshape(ctx, t400, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t402 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_weight, t401); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t403 = ggml_compiler::ops::reshape(ctx, t402, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t404 = ggml_permute(ctx, t403, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t405 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_weight, t401); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t406 = ggml_compiler::ops::reshape(ctx, t405, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t407 = ggml_permute(ctx, t406, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t408 = ggml_cont(ctx, t404); // cont net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t409 = ggml_rms_norm(ctx, t408, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t410 = ggml_mul(ctx, t409, net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t411 = ggml_mul(ctx, t410, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t412 = ggml_compiler::ops::slice(ctx, t410, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t413 = ggml_cont(ctx, t412); // cont torch_export.py:54 in forward + ggml_tensor * t414 = ggml_neg(ctx, t413); // neg torch_export.py:54 in forward + ggml_tensor * t415 = ggml_compiler::ops::slice(ctx, t410, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t416 = ggml_cont(ctx, t415); // cont torch_export.py:54 in forward + ggml_tensor * t417 = ggml_concat(ctx, t414, t416, 0); // concat torch_export.py:54 in forward + ggml_tensor * t418 = ggml_mul(ctx, t417, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t419 = ggml_add(ctx, t411, t418); // add torch_export.py:54 in forward + ggml_tensor * t420 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_weight, t401); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t421 = ggml_compiler::ops::reshape(ctx, t420, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t422 = ggml_permute(ctx, t421, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t423 = ggml_cont(ctx, t422); // cont torch_export.py:54 in forward + ggml_tensor * t424 = ggml_mul(ctx, t423, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t425 = ggml_compiler::ops::slice(ctx, t422, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t426 = ggml_cont(ctx, t425); // cont torch_export.py:54 in forward + ggml_tensor * t427 = ggml_neg(ctx, t426); // neg torch_export.py:54 in forward + ggml_tensor * t428 = ggml_compiler::ops::slice(ctx, t422, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t429 = ggml_cont(ctx, t428); // cont torch_export.py:54 in forward + ggml_tensor * t430 = ggml_concat(ctx, t427, t429, 0); // concat torch_export.py:54 in forward + ggml_tensor * t431 = ggml_mul(ctx, t430, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t432 = ggml_add(ctx, t424, t431); // add torch_export.py:54 in forward + ggml_tensor * t433 = ggml_mul(ctx, t408, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t434 = ggml_compiler::ops::slice(ctx, t404, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t435 = ggml_cont(ctx, t434); // cont torch_export.py:54 in forward + ggml_tensor * t436 = ggml_neg(ctx, t435); // neg torch_export.py:54 in forward + ggml_tensor * t437 = ggml_compiler::ops::slice(ctx, t404, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t438 = ggml_cont(ctx, t437); // cont torch_export.py:54 in forward + ggml_tensor * t439 = ggml_concat(ctx, t436, t438, 0); // concat torch_export.py:54 in forward + ggml_tensor * t440 = ggml_mul(ctx, t439, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t441 = ggml_add(ctx, t433, t440); // add torch_export.py:54 in forward + ggml_tensor * t442 = ggml_compiler::ops::mul_mat(ctx, t441, t432, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t443 = ggml_soft_max_ext(ctx, t442, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t444 = ggml_permute(ctx, t406, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t445 = ggml_cont(ctx, t444); // cont torch_export.py:54 in forward + ggml_tensor * t446 = ggml_compiler::ops::mul_mat(ctx, t445, t443, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t447 = ggml_permute(ctx, t446, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t448 = ggml_cont(ctx, t447); // cont torch_export.py:54 in forward + ggml_tensor * t449 = ggml_compiler::ops::reshape(ctx, t448, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t450 = ggml_compiler::ops::reshape(ctx, t449, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t451 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_weight, t450); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t452 = ggml_compiler::ops::reshape(ctx, t451, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t453 = ggml_add(ctx, t398, t452); // add torch_export.py:54 in forward + ggml_tensor * t454 = ggml_rms_norm(ctx, t453, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t455 = ggml_mul(ctx, t454, net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.6.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t456 = ggml_compiler::ops::reshape(ctx, t455, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.up_proj linear.py:134 in forward + ggml_tensor * t457 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_up_proj_weight, t456); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp.up_proj linear.py:134 in forward + ggml_tensor * t458 = ggml_compiler::ops::reshape(ctx, t457, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.up_proj linear.py:134 in forward + ggml_tensor * t459 = ggml_relu(ctx, t458); // relu net.mot_backbone.model.language_model.layers.6.mlp.act_fn activations.py:212 in forward + ggml_tensor * t460 = ggml_sqr(ctx, t459); // sqr net.mot_backbone.model.language_model.layers.6.mlp.act_fn activations.py:213 in forward + ggml_tensor * t461 = ggml_compiler::ops::reshape(ctx, t460, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.down_proj linear.py:134 in forward + ggml_tensor * t462 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_down_proj_weight, t461); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp.down_proj linear.py:134 in forward + ggml_tensor * t463 = ggml_compiler::ops::reshape(ctx, t462, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.down_proj linear.py:134 in forward + ggml_tensor * t464 = ggml_add(ctx, t453, t463); // add torch_export.py:54 in forward + ggml_tensor * t465 = ggml_rms_norm(ctx, t464, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t466 = ggml_mul(ctx, t465, net_mot_backbone_model_language_model_layers_7_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.7.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t467 = ggml_compiler::ops::reshape(ctx, t466, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t468 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_weight, t467); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t469 = ggml_compiler::ops::reshape(ctx, t468, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t470 = ggml_permute(ctx, t469, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t471 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_weight, t467); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t472 = ggml_compiler::ops::reshape(ctx, t471, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t473 = ggml_permute(ctx, t472, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t474 = ggml_cont(ctx, t470); // cont net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t475 = ggml_rms_norm(ctx, t474, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t476 = ggml_mul(ctx, t475, net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t477 = ggml_mul(ctx, t476, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t478 = ggml_compiler::ops::slice(ctx, t476, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t479 = ggml_cont(ctx, t478); // cont torch_export.py:54 in forward + ggml_tensor * t480 = ggml_neg(ctx, t479); // neg torch_export.py:54 in forward + ggml_tensor * t481 = ggml_compiler::ops::slice(ctx, t476, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t482 = ggml_cont(ctx, t481); // cont torch_export.py:54 in forward + ggml_tensor * t483 = ggml_concat(ctx, t480, t482, 0); // concat torch_export.py:54 in forward + ggml_tensor * t484 = ggml_mul(ctx, t483, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t485 = ggml_add(ctx, t477, t484); // add torch_export.py:54 in forward + ggml_tensor * t486 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_weight, t467); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t487 = ggml_compiler::ops::reshape(ctx, t486, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t488 = ggml_permute(ctx, t487, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t489 = ggml_cont(ctx, t488); // cont torch_export.py:54 in forward + ggml_tensor * t490 = ggml_mul(ctx, t489, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t491 = ggml_compiler::ops::slice(ctx, t488, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t492 = ggml_cont(ctx, t491); // cont torch_export.py:54 in forward + ggml_tensor * t493 = ggml_neg(ctx, t492); // neg torch_export.py:54 in forward + ggml_tensor * t494 = ggml_compiler::ops::slice(ctx, t488, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t495 = ggml_cont(ctx, t494); // cont torch_export.py:54 in forward + ggml_tensor * t496 = ggml_concat(ctx, t493, t495, 0); // concat torch_export.py:54 in forward + ggml_tensor * t497 = ggml_mul(ctx, t496, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t498 = ggml_add(ctx, t490, t497); // add torch_export.py:54 in forward + ggml_tensor * t499 = ggml_mul(ctx, t474, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t500 = ggml_compiler::ops::slice(ctx, t470, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t501 = ggml_cont(ctx, t500); // cont torch_export.py:54 in forward + ggml_tensor * t502 = ggml_neg(ctx, t501); // neg torch_export.py:54 in forward + ggml_tensor * t503 = ggml_compiler::ops::slice(ctx, t470, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t504 = ggml_cont(ctx, t503); // cont torch_export.py:54 in forward + ggml_tensor * t505 = ggml_concat(ctx, t502, t504, 0); // concat torch_export.py:54 in forward + ggml_tensor * t506 = ggml_mul(ctx, t505, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t507 = ggml_add(ctx, t499, t506); // add torch_export.py:54 in forward + ggml_tensor * t508 = ggml_compiler::ops::mul_mat(ctx, t507, t498, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t509 = ggml_soft_max_ext(ctx, t508, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t510 = ggml_permute(ctx, t472, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t511 = ggml_cont(ctx, t510); // cont torch_export.py:54 in forward + ggml_tensor * t512 = ggml_compiler::ops::mul_mat(ctx, t511, t509, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t513 = ggml_permute(ctx, t512, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t514 = ggml_cont(ctx, t513); // cont torch_export.py:54 in forward + ggml_tensor * t515 = ggml_compiler::ops::reshape(ctx, t514, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t516 = ggml_compiler::ops::reshape(ctx, t515, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t517 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_weight, t516); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t518 = ggml_compiler::ops::reshape(ctx, t517, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t519 = ggml_add(ctx, t464, t518); // add torch_export.py:54 in forward + ggml_tensor * t520 = ggml_rms_norm(ctx, t519, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t521 = ggml_mul(ctx, t520, net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.7.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t522 = ggml_compiler::ops::reshape(ctx, t521, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.up_proj linear.py:134 in forward + ggml_tensor * t523 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_up_proj_weight, t522); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp.up_proj linear.py:134 in forward + ggml_tensor * t524 = ggml_compiler::ops::reshape(ctx, t523, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.up_proj linear.py:134 in forward + ggml_tensor * t525 = ggml_relu(ctx, t524); // relu net.mot_backbone.model.language_model.layers.7.mlp.act_fn activations.py:212 in forward + ggml_tensor * t526 = ggml_sqr(ctx, t525); // sqr net.mot_backbone.model.language_model.layers.7.mlp.act_fn activations.py:213 in forward + ggml_tensor * t527 = ggml_compiler::ops::reshape(ctx, t526, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.down_proj linear.py:134 in forward + ggml_tensor * t528 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_down_proj_weight, t527); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp.down_proj linear.py:134 in forward + ggml_tensor * t529 = ggml_compiler::ops::reshape(ctx, t528, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.down_proj linear.py:134 in forward + ggml_tensor * t530 = ggml_add(ctx, t519, t529); // add torch_export.py:54 in forward + ggml_tensor * t531 = ggml_rms_norm(ctx, t530, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t532 = ggml_mul(ctx, t531, net_mot_backbone_model_language_model_layers_8_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.8.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t533 = ggml_compiler::ops::reshape(ctx, t532, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t534 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_weight, t533); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t535 = ggml_compiler::ops::reshape(ctx, t534, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t536 = ggml_permute(ctx, t535, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t537 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_weight, t533); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t538 = ggml_compiler::ops::reshape(ctx, t537, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t539 = ggml_permute(ctx, t538, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t540 = ggml_cont(ctx, t536); // cont net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t541 = ggml_rms_norm(ctx, t540, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t542 = ggml_mul(ctx, t541, net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t543 = ggml_mul(ctx, t542, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t544 = ggml_compiler::ops::slice(ctx, t542, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t545 = ggml_cont(ctx, t544); // cont torch_export.py:54 in forward + ggml_tensor * t546 = ggml_neg(ctx, t545); // neg torch_export.py:54 in forward + ggml_tensor * t547 = ggml_compiler::ops::slice(ctx, t542, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t548 = ggml_cont(ctx, t547); // cont torch_export.py:54 in forward + ggml_tensor * t549 = ggml_concat(ctx, t546, t548, 0); // concat torch_export.py:54 in forward + ggml_tensor * t550 = ggml_mul(ctx, t549, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t551 = ggml_add(ctx, t543, t550); // add torch_export.py:54 in forward + ggml_tensor * t552 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_weight, t533); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t553 = ggml_compiler::ops::reshape(ctx, t552, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t554 = ggml_permute(ctx, t553, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t555 = ggml_cont(ctx, t554); // cont torch_export.py:54 in forward + ggml_tensor * t556 = ggml_mul(ctx, t555, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t557 = ggml_compiler::ops::slice(ctx, t554, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t558 = ggml_cont(ctx, t557); // cont torch_export.py:54 in forward + ggml_tensor * t559 = ggml_neg(ctx, t558); // neg torch_export.py:54 in forward + ggml_tensor * t560 = ggml_compiler::ops::slice(ctx, t554, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t561 = ggml_cont(ctx, t560); // cont torch_export.py:54 in forward + ggml_tensor * t562 = ggml_concat(ctx, t559, t561, 0); // concat torch_export.py:54 in forward + ggml_tensor * t563 = ggml_mul(ctx, t562, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t564 = ggml_add(ctx, t556, t563); // add torch_export.py:54 in forward + ggml_tensor * t565 = ggml_mul(ctx, t540, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t566 = ggml_compiler::ops::slice(ctx, t536, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t567 = ggml_cont(ctx, t566); // cont torch_export.py:54 in forward + ggml_tensor * t568 = ggml_neg(ctx, t567); // neg torch_export.py:54 in forward + ggml_tensor * t569 = ggml_compiler::ops::slice(ctx, t536, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t570 = ggml_cont(ctx, t569); // cont torch_export.py:54 in forward + ggml_tensor * t571 = ggml_concat(ctx, t568, t570, 0); // concat torch_export.py:54 in forward + ggml_tensor * t572 = ggml_mul(ctx, t571, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t573 = ggml_add(ctx, t565, t572); // add torch_export.py:54 in forward + ggml_tensor * t574 = ggml_compiler::ops::mul_mat(ctx, t573, t564, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t575 = ggml_soft_max_ext(ctx, t574, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t576 = ggml_permute(ctx, t538, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t577 = ggml_cont(ctx, t576); // cont torch_export.py:54 in forward + ggml_tensor * t578 = ggml_compiler::ops::mul_mat(ctx, t577, t575, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t579 = ggml_permute(ctx, t578, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t580 = ggml_cont(ctx, t579); // cont torch_export.py:54 in forward + ggml_tensor * t581 = ggml_compiler::ops::reshape(ctx, t580, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t582 = ggml_compiler::ops::reshape(ctx, t581, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t583 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_weight, t582); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t584 = ggml_compiler::ops::reshape(ctx, t583, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t585 = ggml_add(ctx, t530, t584); // add torch_export.py:54 in forward + ggml_tensor * t586 = ggml_rms_norm(ctx, t585, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t587 = ggml_mul(ctx, t586, net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.8.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t588 = ggml_compiler::ops::reshape(ctx, t587, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.up_proj linear.py:134 in forward + ggml_tensor * t589 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_up_proj_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp.up_proj linear.py:134 in forward + ggml_tensor * t590 = ggml_compiler::ops::reshape(ctx, t589, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.up_proj linear.py:134 in forward + ggml_tensor * t591 = ggml_relu(ctx, t590); // relu net.mot_backbone.model.language_model.layers.8.mlp.act_fn activations.py:212 in forward + ggml_tensor * t592 = ggml_sqr(ctx, t591); // sqr net.mot_backbone.model.language_model.layers.8.mlp.act_fn activations.py:213 in forward + ggml_tensor * t593 = ggml_compiler::ops::reshape(ctx, t592, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.down_proj linear.py:134 in forward + ggml_tensor * t594 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_down_proj_weight, t593); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp.down_proj linear.py:134 in forward + ggml_tensor * t595 = ggml_compiler::ops::reshape(ctx, t594, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.down_proj linear.py:134 in forward + ggml_tensor * t596 = ggml_add(ctx, t585, t595); // add torch_export.py:54 in forward + ggml_tensor * t597 = ggml_rms_norm(ctx, t596, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t598 = ggml_mul(ctx, t597, net_mot_backbone_model_language_model_layers_9_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.9.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t599 = ggml_compiler::ops::reshape(ctx, t598, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t600 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_weight, t599); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t601 = ggml_compiler::ops::reshape(ctx, t600, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t602 = ggml_permute(ctx, t601, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t603 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_weight, t599); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t604 = ggml_compiler::ops::reshape(ctx, t603, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t605 = ggml_permute(ctx, t604, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t606 = ggml_cont(ctx, t602); // cont net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t607 = ggml_rms_norm(ctx, t606, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t608 = ggml_mul(ctx, t607, net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t609 = ggml_mul(ctx, t608, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t610 = ggml_compiler::ops::slice(ctx, t608, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t611 = ggml_cont(ctx, t610); // cont torch_export.py:54 in forward + ggml_tensor * t612 = ggml_neg(ctx, t611); // neg torch_export.py:54 in forward + ggml_tensor * t613 = ggml_compiler::ops::slice(ctx, t608, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t614 = ggml_cont(ctx, t613); // cont torch_export.py:54 in forward + ggml_tensor * t615 = ggml_concat(ctx, t612, t614, 0); // concat torch_export.py:54 in forward + ggml_tensor * t616 = ggml_mul(ctx, t615, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t617 = ggml_add(ctx, t609, t616); // add torch_export.py:54 in forward + ggml_tensor * t618 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_weight, t599); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t619 = ggml_compiler::ops::reshape(ctx, t618, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t620 = ggml_permute(ctx, t619, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t621 = ggml_cont(ctx, t620); // cont torch_export.py:54 in forward + ggml_tensor * t622 = ggml_mul(ctx, t621, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t623 = ggml_compiler::ops::slice(ctx, t620, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t624 = ggml_cont(ctx, t623); // cont torch_export.py:54 in forward + ggml_tensor * t625 = ggml_neg(ctx, t624); // neg torch_export.py:54 in forward + ggml_tensor * t626 = ggml_compiler::ops::slice(ctx, t620, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t627 = ggml_cont(ctx, t626); // cont torch_export.py:54 in forward + ggml_tensor * t628 = ggml_concat(ctx, t625, t627, 0); // concat torch_export.py:54 in forward + ggml_tensor * t629 = ggml_mul(ctx, t628, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t630 = ggml_add(ctx, t622, t629); // add torch_export.py:54 in forward + ggml_tensor * t631 = ggml_mul(ctx, t606, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t632 = ggml_compiler::ops::slice(ctx, t602, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t633 = ggml_cont(ctx, t632); // cont torch_export.py:54 in forward + ggml_tensor * t634 = ggml_neg(ctx, t633); // neg torch_export.py:54 in forward + ggml_tensor * t635 = ggml_compiler::ops::slice(ctx, t602, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t636 = ggml_cont(ctx, t635); // cont torch_export.py:54 in forward + ggml_tensor * t637 = ggml_concat(ctx, t634, t636, 0); // concat torch_export.py:54 in forward + ggml_tensor * t638 = ggml_mul(ctx, t637, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t639 = ggml_add(ctx, t631, t638); // add torch_export.py:54 in forward + ggml_tensor * t640 = ggml_compiler::ops::mul_mat(ctx, t639, t630, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t641 = ggml_soft_max_ext(ctx, t640, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t642 = ggml_permute(ctx, t604, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t643 = ggml_cont(ctx, t642); // cont torch_export.py:54 in forward + ggml_tensor * t644 = ggml_compiler::ops::mul_mat(ctx, t643, t641, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t645 = ggml_permute(ctx, t644, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t646 = ggml_cont(ctx, t645); // cont torch_export.py:54 in forward + ggml_tensor * t647 = ggml_compiler::ops::reshape(ctx, t646, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t648 = ggml_compiler::ops::reshape(ctx, t647, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t649 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_weight, t648); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t650 = ggml_compiler::ops::reshape(ctx, t649, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t651 = ggml_add(ctx, t596, t650); // add torch_export.py:54 in forward + ggml_tensor * t652 = ggml_rms_norm(ctx, t651, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t653 = ggml_mul(ctx, t652, net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.9.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t654 = ggml_compiler::ops::reshape(ctx, t653, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.up_proj linear.py:134 in forward + ggml_tensor * t655 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_up_proj_weight, t654); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp.up_proj linear.py:134 in forward + ggml_tensor * t656 = ggml_compiler::ops::reshape(ctx, t655, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.up_proj linear.py:134 in forward + ggml_tensor * t657 = ggml_relu(ctx, t656); // relu net.mot_backbone.model.language_model.layers.9.mlp.act_fn activations.py:212 in forward + ggml_tensor * t658 = ggml_sqr(ctx, t657); // sqr net.mot_backbone.model.language_model.layers.9.mlp.act_fn activations.py:213 in forward + ggml_tensor * t659 = ggml_compiler::ops::reshape(ctx, t658, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.down_proj linear.py:134 in forward + ggml_tensor * t660 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_down_proj_weight, t659); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp.down_proj linear.py:134 in forward + ggml_tensor * t661 = ggml_compiler::ops::reshape(ctx, t660, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.down_proj linear.py:134 in forward + ggml_tensor * t662 = ggml_add(ctx, t651, t661); // add torch_export.py:54 in forward + ggml_tensor * t663 = ggml_rms_norm(ctx, t662, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t664 = ggml_mul(ctx, t663, net_mot_backbone_model_language_model_layers_10_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.10.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t665 = ggml_compiler::ops::reshape(ctx, t664, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t666 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_weight, t665); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t667 = ggml_compiler::ops::reshape(ctx, t666, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t668 = ggml_permute(ctx, t667, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t669 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_weight, t665); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t670 = ggml_compiler::ops::reshape(ctx, t669, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t671 = ggml_permute(ctx, t670, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t672 = ggml_cont(ctx, t668); // cont net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t673 = ggml_rms_norm(ctx, t672, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t674 = ggml_mul(ctx, t673, net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t675 = ggml_mul(ctx, t674, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t676 = ggml_compiler::ops::slice(ctx, t674, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t677 = ggml_cont(ctx, t676); // cont torch_export.py:54 in forward + ggml_tensor * t678 = ggml_neg(ctx, t677); // neg torch_export.py:54 in forward + ggml_tensor * t679 = ggml_compiler::ops::slice(ctx, t674, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t680 = ggml_cont(ctx, t679); // cont torch_export.py:54 in forward + ggml_tensor * t681 = ggml_concat(ctx, t678, t680, 0); // concat torch_export.py:54 in forward + ggml_tensor * t682 = ggml_mul(ctx, t681, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t683 = ggml_add(ctx, t675, t682); // add torch_export.py:54 in forward + ggml_tensor * t684 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_weight, t665); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t685 = ggml_compiler::ops::reshape(ctx, t684, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t686 = ggml_permute(ctx, t685, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t687 = ggml_cont(ctx, t686); // cont torch_export.py:54 in forward + ggml_tensor * t688 = ggml_mul(ctx, t687, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t689 = ggml_compiler::ops::slice(ctx, t686, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t690 = ggml_cont(ctx, t689); // cont torch_export.py:54 in forward + ggml_tensor * t691 = ggml_neg(ctx, t690); // neg torch_export.py:54 in forward + ggml_tensor * t692 = ggml_compiler::ops::slice(ctx, t686, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t693 = ggml_cont(ctx, t692); // cont torch_export.py:54 in forward + ggml_tensor * t694 = ggml_concat(ctx, t691, t693, 0); // concat torch_export.py:54 in forward + ggml_tensor * t695 = ggml_mul(ctx, t694, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t696 = ggml_add(ctx, t688, t695); // add torch_export.py:54 in forward + ggml_tensor * t697 = ggml_mul(ctx, t672, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t698 = ggml_compiler::ops::slice(ctx, t668, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t699 = ggml_cont(ctx, t698); // cont torch_export.py:54 in forward + ggml_tensor * t700 = ggml_neg(ctx, t699); // neg torch_export.py:54 in forward + ggml_tensor * t701 = ggml_compiler::ops::slice(ctx, t668, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t702 = ggml_cont(ctx, t701); // cont torch_export.py:54 in forward + ggml_tensor * t703 = ggml_concat(ctx, t700, t702, 0); // concat torch_export.py:54 in forward + ggml_tensor * t704 = ggml_mul(ctx, t703, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t705 = ggml_add(ctx, t697, t704); // add torch_export.py:54 in forward + ggml_tensor * t706 = ggml_compiler::ops::mul_mat(ctx, t705, t696, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t707 = ggml_soft_max_ext(ctx, t706, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t708 = ggml_permute(ctx, t670, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t709 = ggml_cont(ctx, t708); // cont torch_export.py:54 in forward + ggml_tensor * t710 = ggml_compiler::ops::mul_mat(ctx, t709, t707, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t711 = ggml_permute(ctx, t710, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t712 = ggml_cont(ctx, t711); // cont torch_export.py:54 in forward + ggml_tensor * t713 = ggml_compiler::ops::reshape(ctx, t712, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t714 = ggml_compiler::ops::reshape(ctx, t713, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t715 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_weight, t714); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t716 = ggml_compiler::ops::reshape(ctx, t715, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t717 = ggml_add(ctx, t662, t716); // add torch_export.py:54 in forward + ggml_tensor * t718 = ggml_rms_norm(ctx, t717, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t719 = ggml_mul(ctx, t718, net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.10.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t720 = ggml_compiler::ops::reshape(ctx, t719, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.up_proj linear.py:134 in forward + ggml_tensor * t721 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_up_proj_weight, t720); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp.up_proj linear.py:134 in forward + ggml_tensor * t722 = ggml_compiler::ops::reshape(ctx, t721, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.up_proj linear.py:134 in forward + ggml_tensor * t723 = ggml_relu(ctx, t722); // relu net.mot_backbone.model.language_model.layers.10.mlp.act_fn activations.py:212 in forward + ggml_tensor * t724 = ggml_sqr(ctx, t723); // sqr net.mot_backbone.model.language_model.layers.10.mlp.act_fn activations.py:213 in forward + ggml_tensor * t725 = ggml_compiler::ops::reshape(ctx, t724, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.down_proj linear.py:134 in forward + ggml_tensor * t726 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_down_proj_weight, t725); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp.down_proj linear.py:134 in forward + ggml_tensor * t727 = ggml_compiler::ops::reshape(ctx, t726, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.down_proj linear.py:134 in forward + ggml_tensor * t728 = ggml_add(ctx, t717, t727); // add torch_export.py:54 in forward + ggml_tensor * t729 = ggml_rms_norm(ctx, t728, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t730 = ggml_mul(ctx, t729, net_mot_backbone_model_language_model_layers_11_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.11.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t731 = ggml_compiler::ops::reshape(ctx, t730, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t732 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_weight, t731); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t733 = ggml_compiler::ops::reshape(ctx, t732, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t734 = ggml_permute(ctx, t733, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t735 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_weight, t731); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t736 = ggml_compiler::ops::reshape(ctx, t735, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t737 = ggml_permute(ctx, t736, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t738 = ggml_cont(ctx, t734); // cont net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t739 = ggml_rms_norm(ctx, t738, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t740 = ggml_mul(ctx, t739, net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t741 = ggml_mul(ctx, t740, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t742 = ggml_compiler::ops::slice(ctx, t740, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t743 = ggml_cont(ctx, t742); // cont torch_export.py:54 in forward + ggml_tensor * t744 = ggml_neg(ctx, t743); // neg torch_export.py:54 in forward + ggml_tensor * t745 = ggml_compiler::ops::slice(ctx, t740, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t746 = ggml_cont(ctx, t745); // cont torch_export.py:54 in forward + ggml_tensor * t747 = ggml_concat(ctx, t744, t746, 0); // concat torch_export.py:54 in forward + ggml_tensor * t748 = ggml_mul(ctx, t747, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t749 = ggml_add(ctx, t741, t748); // add torch_export.py:54 in forward + ggml_tensor * t750 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_weight, t731); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t751 = ggml_compiler::ops::reshape(ctx, t750, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t752 = ggml_permute(ctx, t751, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t753 = ggml_cont(ctx, t752); // cont torch_export.py:54 in forward + ggml_tensor * t754 = ggml_mul(ctx, t753, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t755 = ggml_compiler::ops::slice(ctx, t752, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t756 = ggml_cont(ctx, t755); // cont torch_export.py:54 in forward + ggml_tensor * t757 = ggml_neg(ctx, t756); // neg torch_export.py:54 in forward + ggml_tensor * t758 = ggml_compiler::ops::slice(ctx, t752, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t759 = ggml_cont(ctx, t758); // cont torch_export.py:54 in forward + ggml_tensor * t760 = ggml_concat(ctx, t757, t759, 0); // concat torch_export.py:54 in forward + ggml_tensor * t761 = ggml_mul(ctx, t760, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t762 = ggml_add(ctx, t754, t761); // add torch_export.py:54 in forward + ggml_tensor * t763 = ggml_mul(ctx, t738, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t764 = ggml_compiler::ops::slice(ctx, t734, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t765 = ggml_cont(ctx, t764); // cont torch_export.py:54 in forward + ggml_tensor * t766 = ggml_neg(ctx, t765); // neg torch_export.py:54 in forward + ggml_tensor * t767 = ggml_compiler::ops::slice(ctx, t734, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t768 = ggml_cont(ctx, t767); // cont torch_export.py:54 in forward + ggml_tensor * t769 = ggml_concat(ctx, t766, t768, 0); // concat torch_export.py:54 in forward + ggml_tensor * t770 = ggml_mul(ctx, t769, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t771 = ggml_add(ctx, t763, t770); // add torch_export.py:54 in forward + ggml_tensor * t772 = ggml_compiler::ops::mul_mat(ctx, t771, t762, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t773 = ggml_soft_max_ext(ctx, t772, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t774 = ggml_permute(ctx, t736, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t775 = ggml_cont(ctx, t774); // cont torch_export.py:54 in forward + ggml_tensor * t776 = ggml_compiler::ops::mul_mat(ctx, t775, t773, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t777 = ggml_permute(ctx, t776, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t778 = ggml_cont(ctx, t777); // cont torch_export.py:54 in forward + ggml_tensor * t779 = ggml_compiler::ops::reshape(ctx, t778, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t780 = ggml_compiler::ops::reshape(ctx, t779, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t781 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_weight, t780); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t782 = ggml_compiler::ops::reshape(ctx, t781, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t783 = ggml_add(ctx, t728, t782); // add torch_export.py:54 in forward + ggml_tensor * t784 = ggml_rms_norm(ctx, t783, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t785 = ggml_mul(ctx, t784, net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.11.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t786 = ggml_compiler::ops::reshape(ctx, t785, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.up_proj linear.py:134 in forward + ggml_tensor * t787 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_up_proj_weight, t786); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp.up_proj linear.py:134 in forward + ggml_tensor * t788 = ggml_compiler::ops::reshape(ctx, t787, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.up_proj linear.py:134 in forward + ggml_tensor * t789 = ggml_relu(ctx, t788); // relu net.mot_backbone.model.language_model.layers.11.mlp.act_fn activations.py:212 in forward + ggml_tensor * t790 = ggml_sqr(ctx, t789); // sqr net.mot_backbone.model.language_model.layers.11.mlp.act_fn activations.py:213 in forward + ggml_tensor * t791 = ggml_compiler::ops::reshape(ctx, t790, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.down_proj linear.py:134 in forward + ggml_tensor * t792 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_down_proj_weight, t791); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp.down_proj linear.py:134 in forward + ggml_tensor * t793 = ggml_compiler::ops::reshape(ctx, t792, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.down_proj linear.py:134 in forward + ggml_tensor * t794 = ggml_add(ctx, t783, t793); // add torch_export.py:54 in forward + ggml_tensor * t795 = ggml_rms_norm(ctx, t794, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t796 = ggml_mul(ctx, t795, net_mot_backbone_model_language_model_layers_12_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.12.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t797 = ggml_compiler::ops::reshape(ctx, t796, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t798 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_weight, t797); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t799 = ggml_compiler::ops::reshape(ctx, t798, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t800 = ggml_permute(ctx, t799, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t801 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_weight, t797); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t802 = ggml_compiler::ops::reshape(ctx, t801, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t803 = ggml_permute(ctx, t802, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t804 = ggml_cont(ctx, t800); // cont net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t805 = ggml_rms_norm(ctx, t804, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t806 = ggml_mul(ctx, t805, net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t807 = ggml_mul(ctx, t806, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t808 = ggml_compiler::ops::slice(ctx, t806, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t809 = ggml_cont(ctx, t808); // cont torch_export.py:54 in forward + ggml_tensor * t810 = ggml_neg(ctx, t809); // neg torch_export.py:54 in forward + ggml_tensor * t811 = ggml_compiler::ops::slice(ctx, t806, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t812 = ggml_cont(ctx, t811); // cont torch_export.py:54 in forward + ggml_tensor * t813 = ggml_concat(ctx, t810, t812, 0); // concat torch_export.py:54 in forward + ggml_tensor * t814 = ggml_mul(ctx, t813, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t815 = ggml_add(ctx, t807, t814); // add torch_export.py:54 in forward + ggml_tensor * t816 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_weight, t797); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t817 = ggml_compiler::ops::reshape(ctx, t816, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t818 = ggml_permute(ctx, t817, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t819 = ggml_cont(ctx, t818); // cont torch_export.py:54 in forward + ggml_tensor * t820 = ggml_mul(ctx, t819, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t821 = ggml_compiler::ops::slice(ctx, t818, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t822 = ggml_cont(ctx, t821); // cont torch_export.py:54 in forward + ggml_tensor * t823 = ggml_neg(ctx, t822); // neg torch_export.py:54 in forward + ggml_tensor * t824 = ggml_compiler::ops::slice(ctx, t818, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t825 = ggml_cont(ctx, t824); // cont torch_export.py:54 in forward + ggml_tensor * t826 = ggml_concat(ctx, t823, t825, 0); // concat torch_export.py:54 in forward + ggml_tensor * t827 = ggml_mul(ctx, t826, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t828 = ggml_add(ctx, t820, t827); // add torch_export.py:54 in forward + ggml_tensor * t829 = ggml_mul(ctx, t804, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t830 = ggml_compiler::ops::slice(ctx, t800, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t831 = ggml_cont(ctx, t830); // cont torch_export.py:54 in forward + ggml_tensor * t832 = ggml_neg(ctx, t831); // neg torch_export.py:54 in forward + ggml_tensor * t833 = ggml_compiler::ops::slice(ctx, t800, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t834 = ggml_cont(ctx, t833); // cont torch_export.py:54 in forward + ggml_tensor * t835 = ggml_concat(ctx, t832, t834, 0); // concat torch_export.py:54 in forward + ggml_tensor * t836 = ggml_mul(ctx, t835, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t837 = ggml_add(ctx, t829, t836); // add torch_export.py:54 in forward + ggml_tensor * t838 = ggml_compiler::ops::mul_mat(ctx, t837, t828, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t839 = ggml_soft_max_ext(ctx, t838, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t840 = ggml_permute(ctx, t802, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t841 = ggml_cont(ctx, t840); // cont torch_export.py:54 in forward + ggml_tensor * t842 = ggml_compiler::ops::mul_mat(ctx, t841, t839, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t843 = ggml_permute(ctx, t842, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t844 = ggml_cont(ctx, t843); // cont torch_export.py:54 in forward + ggml_tensor * t845 = ggml_compiler::ops::reshape(ctx, t844, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t846 = ggml_compiler::ops::reshape(ctx, t845, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t847 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_weight, t846); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t848 = ggml_compiler::ops::reshape(ctx, t847, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t849 = ggml_add(ctx, t794, t848); // add torch_export.py:54 in forward + ggml_tensor * t850 = ggml_rms_norm(ctx, t849, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t851 = ggml_mul(ctx, t850, net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.12.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t852 = ggml_compiler::ops::reshape(ctx, t851, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.up_proj linear.py:134 in forward + ggml_tensor * t853 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_up_proj_weight, t852); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp.up_proj linear.py:134 in forward + ggml_tensor * t854 = ggml_compiler::ops::reshape(ctx, t853, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.up_proj linear.py:134 in forward + ggml_tensor * t855 = ggml_relu(ctx, t854); // relu net.mot_backbone.model.language_model.layers.12.mlp.act_fn activations.py:212 in forward + ggml_tensor * t856 = ggml_sqr(ctx, t855); // sqr net.mot_backbone.model.language_model.layers.12.mlp.act_fn activations.py:213 in forward + ggml_tensor * t857 = ggml_compiler::ops::reshape(ctx, t856, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.down_proj linear.py:134 in forward + ggml_tensor * t858 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_down_proj_weight, t857); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp.down_proj linear.py:134 in forward + ggml_tensor * t859 = ggml_compiler::ops::reshape(ctx, t858, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.down_proj linear.py:134 in forward + ggml_tensor * t860 = ggml_add(ctx, t849, t859); // add torch_export.py:54 in forward + ggml_tensor * t861 = ggml_rms_norm(ctx, t860, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t862 = ggml_mul(ctx, t861, net_mot_backbone_model_language_model_layers_13_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.13.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t863 = ggml_compiler::ops::reshape(ctx, t862, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t864 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_weight, t863); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t865 = ggml_compiler::ops::reshape(ctx, t864, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t866 = ggml_permute(ctx, t865, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t867 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_weight, t863); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t868 = ggml_compiler::ops::reshape(ctx, t867, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t869 = ggml_permute(ctx, t868, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t870 = ggml_cont(ctx, t866); // cont net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t871 = ggml_rms_norm(ctx, t870, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t872 = ggml_mul(ctx, t871, net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t873 = ggml_mul(ctx, t872, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t874 = ggml_compiler::ops::slice(ctx, t872, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t875 = ggml_cont(ctx, t874); // cont torch_export.py:54 in forward + ggml_tensor * t876 = ggml_neg(ctx, t875); // neg torch_export.py:54 in forward + ggml_tensor * t877 = ggml_compiler::ops::slice(ctx, t872, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t878 = ggml_cont(ctx, t877); // cont torch_export.py:54 in forward + ggml_tensor * t879 = ggml_concat(ctx, t876, t878, 0); // concat torch_export.py:54 in forward + ggml_tensor * t880 = ggml_mul(ctx, t879, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t881 = ggml_add(ctx, t873, t880); // add torch_export.py:54 in forward + ggml_tensor * t882 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_weight, t863); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t883 = ggml_compiler::ops::reshape(ctx, t882, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t884 = ggml_permute(ctx, t883, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t885 = ggml_cont(ctx, t884); // cont torch_export.py:54 in forward + ggml_tensor * t886 = ggml_mul(ctx, t885, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t887 = ggml_compiler::ops::slice(ctx, t884, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t888 = ggml_cont(ctx, t887); // cont torch_export.py:54 in forward + ggml_tensor * t889 = ggml_neg(ctx, t888); // neg torch_export.py:54 in forward + ggml_tensor * t890 = ggml_compiler::ops::slice(ctx, t884, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t891 = ggml_cont(ctx, t890); // cont torch_export.py:54 in forward + ggml_tensor * t892 = ggml_concat(ctx, t889, t891, 0); // concat torch_export.py:54 in forward + ggml_tensor * t893 = ggml_mul(ctx, t892, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t894 = ggml_add(ctx, t886, t893); // add torch_export.py:54 in forward + ggml_tensor * t895 = ggml_mul(ctx, t870, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t896 = ggml_compiler::ops::slice(ctx, t866, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t897 = ggml_cont(ctx, t896); // cont torch_export.py:54 in forward + ggml_tensor * t898 = ggml_neg(ctx, t897); // neg torch_export.py:54 in forward + ggml_tensor * t899 = ggml_compiler::ops::slice(ctx, t866, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t900 = ggml_cont(ctx, t899); // cont torch_export.py:54 in forward + ggml_tensor * t901 = ggml_concat(ctx, t898, t900, 0); // concat torch_export.py:54 in forward + ggml_tensor * t902 = ggml_mul(ctx, t901, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t903 = ggml_add(ctx, t895, t902); // add torch_export.py:54 in forward + ggml_tensor * t904 = ggml_compiler::ops::mul_mat(ctx, t903, t894, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t905 = ggml_soft_max_ext(ctx, t904, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t906 = ggml_permute(ctx, t868, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t907 = ggml_cont(ctx, t906); // cont torch_export.py:54 in forward + ggml_tensor * t908 = ggml_compiler::ops::mul_mat(ctx, t907, t905, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t909 = ggml_permute(ctx, t908, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t910 = ggml_cont(ctx, t909); // cont torch_export.py:54 in forward + ggml_tensor * t911 = ggml_compiler::ops::reshape(ctx, t910, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t912 = ggml_compiler::ops::reshape(ctx, t911, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t913 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_weight, t912); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t914 = ggml_compiler::ops::reshape(ctx, t913, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t915 = ggml_add(ctx, t860, t914); // add torch_export.py:54 in forward + ggml_tensor * t916 = ggml_rms_norm(ctx, t915, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t917 = ggml_mul(ctx, t916, net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.13.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t918 = ggml_compiler::ops::reshape(ctx, t917, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.up_proj linear.py:134 in forward + ggml_tensor * t919 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_up_proj_weight, t918); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp.up_proj linear.py:134 in forward + ggml_tensor * t920 = ggml_compiler::ops::reshape(ctx, t919, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.up_proj linear.py:134 in forward + ggml_tensor * t921 = ggml_relu(ctx, t920); // relu net.mot_backbone.model.language_model.layers.13.mlp.act_fn activations.py:212 in forward + ggml_tensor * t922 = ggml_sqr(ctx, t921); // sqr net.mot_backbone.model.language_model.layers.13.mlp.act_fn activations.py:213 in forward + ggml_tensor * t923 = ggml_compiler::ops::reshape(ctx, t922, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.down_proj linear.py:134 in forward + ggml_tensor * t924 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_down_proj_weight, t923); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp.down_proj linear.py:134 in forward + ggml_tensor * t925 = ggml_compiler::ops::reshape(ctx, t924, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.down_proj linear.py:134 in forward + ggml_tensor * t926 = ggml_add(ctx, t915, t925); // add torch_export.py:54 in forward + ggml_tensor * t927 = ggml_rms_norm(ctx, t926, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t928 = ggml_mul(ctx, t927, net_mot_backbone_model_language_model_layers_14_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.14.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t929 = ggml_compiler::ops::reshape(ctx, t928, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t930 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_weight, t929); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t931 = ggml_compiler::ops::reshape(ctx, t930, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t932 = ggml_permute(ctx, t931, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t933 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_weight, t929); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t934 = ggml_compiler::ops::reshape(ctx, t933, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t935 = ggml_permute(ctx, t934, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t936 = ggml_cont(ctx, t932); // cont net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t937 = ggml_rms_norm(ctx, t936, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t938 = ggml_mul(ctx, t937, net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t939 = ggml_mul(ctx, t938, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t940 = ggml_compiler::ops::slice(ctx, t938, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t941 = ggml_cont(ctx, t940); // cont torch_export.py:54 in forward + ggml_tensor * t942 = ggml_neg(ctx, t941); // neg torch_export.py:54 in forward + ggml_tensor * t943 = ggml_compiler::ops::slice(ctx, t938, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t944 = ggml_cont(ctx, t943); // cont torch_export.py:54 in forward + ggml_tensor * t945 = ggml_concat(ctx, t942, t944, 0); // concat torch_export.py:54 in forward + ggml_tensor * t946 = ggml_mul(ctx, t945, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t947 = ggml_add(ctx, t939, t946); // add torch_export.py:54 in forward + ggml_tensor * t948 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_weight, t929); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t949 = ggml_compiler::ops::reshape(ctx, t948, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t950 = ggml_permute(ctx, t949, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t951 = ggml_cont(ctx, t950); // cont torch_export.py:54 in forward + ggml_tensor * t952 = ggml_mul(ctx, t951, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t953 = ggml_compiler::ops::slice(ctx, t950, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t954 = ggml_cont(ctx, t953); // cont torch_export.py:54 in forward + ggml_tensor * t955 = ggml_neg(ctx, t954); // neg torch_export.py:54 in forward + ggml_tensor * t956 = ggml_compiler::ops::slice(ctx, t950, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t957 = ggml_cont(ctx, t956); // cont torch_export.py:54 in forward + ggml_tensor * t958 = ggml_concat(ctx, t955, t957, 0); // concat torch_export.py:54 in forward + ggml_tensor * t959 = ggml_mul(ctx, t958, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t960 = ggml_add(ctx, t952, t959); // add torch_export.py:54 in forward + ggml_tensor * t961 = ggml_mul(ctx, t936, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t962 = ggml_compiler::ops::slice(ctx, t932, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t963 = ggml_cont(ctx, t962); // cont torch_export.py:54 in forward + ggml_tensor * t964 = ggml_neg(ctx, t963); // neg torch_export.py:54 in forward + ggml_tensor * t965 = ggml_compiler::ops::slice(ctx, t932, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t966 = ggml_cont(ctx, t965); // cont torch_export.py:54 in forward + ggml_tensor * t967 = ggml_concat(ctx, t964, t966, 0); // concat torch_export.py:54 in forward + ggml_tensor * t968 = ggml_mul(ctx, t967, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t969 = ggml_add(ctx, t961, t968); // add torch_export.py:54 in forward + ggml_tensor * t970 = ggml_compiler::ops::mul_mat(ctx, t969, t960, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t971 = ggml_soft_max_ext(ctx, t970, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t972 = ggml_permute(ctx, t934, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t973 = ggml_cont(ctx, t972); // cont torch_export.py:54 in forward + ggml_tensor * t974 = ggml_compiler::ops::mul_mat(ctx, t973, t971, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t975 = ggml_permute(ctx, t974, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t976 = ggml_cont(ctx, t975); // cont torch_export.py:54 in forward + ggml_tensor * t977 = ggml_compiler::ops::reshape(ctx, t976, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t978 = ggml_compiler::ops::reshape(ctx, t977, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t979 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_weight, t978); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t980 = ggml_compiler::ops::reshape(ctx, t979, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t981 = ggml_add(ctx, t926, t980); // add torch_export.py:54 in forward + ggml_tensor * t982 = ggml_rms_norm(ctx, t981, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t983 = ggml_mul(ctx, t982, net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.14.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t984 = ggml_compiler::ops::reshape(ctx, t983, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.up_proj linear.py:134 in forward + ggml_tensor * t985 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_up_proj_weight, t984); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp.up_proj linear.py:134 in forward + ggml_tensor * t986 = ggml_compiler::ops::reshape(ctx, t985, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.up_proj linear.py:134 in forward + ggml_tensor * t987 = ggml_relu(ctx, t986); // relu net.mot_backbone.model.language_model.layers.14.mlp.act_fn activations.py:212 in forward + ggml_tensor * t988 = ggml_sqr(ctx, t987); // sqr net.mot_backbone.model.language_model.layers.14.mlp.act_fn activations.py:213 in forward + ggml_tensor * t989 = ggml_compiler::ops::reshape(ctx, t988, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.down_proj linear.py:134 in forward + ggml_tensor * t990 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_down_proj_weight, t989); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp.down_proj linear.py:134 in forward + ggml_tensor * t991 = ggml_compiler::ops::reshape(ctx, t990, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.down_proj linear.py:134 in forward + ggml_tensor * t992 = ggml_add(ctx, t981, t991); // add torch_export.py:54 in forward + ggml_tensor * t993 = ggml_rms_norm(ctx, t992, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t994 = ggml_mul(ctx, t993, net_mot_backbone_model_language_model_layers_15_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.15.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t995 = ggml_compiler::ops::reshape(ctx, t994, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t996 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_weight, t995); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t997 = ggml_compiler::ops::reshape(ctx, t996, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t998 = ggml_permute(ctx, t997, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t999 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_weight, t995); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1000 = ggml_compiler::ops::reshape(ctx, t999, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1001 = ggml_permute(ctx, t1000, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1002 = ggml_cont(ctx, t998); // cont net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1003 = ggml_rms_norm(ctx, t1002, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1004 = ggml_mul(ctx, t1003, net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1005 = ggml_mul(ctx, t1004, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1006 = ggml_compiler::ops::slice(ctx, t1004, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1007 = ggml_cont(ctx, t1006); // cont torch_export.py:54 in forward + ggml_tensor * t1008 = ggml_neg(ctx, t1007); // neg torch_export.py:54 in forward + ggml_tensor * t1009 = ggml_compiler::ops::slice(ctx, t1004, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1010 = ggml_cont(ctx, t1009); // cont torch_export.py:54 in forward + ggml_tensor * t1011 = ggml_concat(ctx, t1008, t1010, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1012 = ggml_mul(ctx, t1011, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1013 = ggml_add(ctx, t1005, t1012); // add torch_export.py:54 in forward + ggml_tensor * t1014 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_weight, t995); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1015 = ggml_compiler::ops::reshape(ctx, t1014, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1016 = ggml_permute(ctx, t1015, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1017 = ggml_cont(ctx, t1016); // cont torch_export.py:54 in forward + ggml_tensor * t1018 = ggml_mul(ctx, t1017, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1019 = ggml_compiler::ops::slice(ctx, t1016, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1020 = ggml_cont(ctx, t1019); // cont torch_export.py:54 in forward + ggml_tensor * t1021 = ggml_neg(ctx, t1020); // neg torch_export.py:54 in forward + ggml_tensor * t1022 = ggml_compiler::ops::slice(ctx, t1016, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1023 = ggml_cont(ctx, t1022); // cont torch_export.py:54 in forward + ggml_tensor * t1024 = ggml_concat(ctx, t1021, t1023, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1025 = ggml_mul(ctx, t1024, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1026 = ggml_add(ctx, t1018, t1025); // add torch_export.py:54 in forward + ggml_tensor * t1027 = ggml_mul(ctx, t1002, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1028 = ggml_compiler::ops::slice(ctx, t998, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1029 = ggml_cont(ctx, t1028); // cont torch_export.py:54 in forward + ggml_tensor * t1030 = ggml_neg(ctx, t1029); // neg torch_export.py:54 in forward + ggml_tensor * t1031 = ggml_compiler::ops::slice(ctx, t998, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1032 = ggml_cont(ctx, t1031); // cont torch_export.py:54 in forward + ggml_tensor * t1033 = ggml_concat(ctx, t1030, t1032, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1034 = ggml_mul(ctx, t1033, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1035 = ggml_add(ctx, t1027, t1034); // add torch_export.py:54 in forward + ggml_tensor * t1036 = ggml_compiler::ops::mul_mat(ctx, t1035, t1026, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1037 = ggml_soft_max_ext(ctx, t1036, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1038 = ggml_permute(ctx, t1000, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1039 = ggml_cont(ctx, t1038); // cont torch_export.py:54 in forward + ggml_tensor * t1040 = ggml_compiler::ops::mul_mat(ctx, t1039, t1037, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1041 = ggml_permute(ctx, t1040, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1042 = ggml_cont(ctx, t1041); // cont torch_export.py:54 in forward + ggml_tensor * t1043 = ggml_compiler::ops::reshape(ctx, t1042, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1044 = ggml_compiler::ops::reshape(ctx, t1043, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1045 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_weight, t1044); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1046 = ggml_compiler::ops::reshape(ctx, t1045, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1047 = ggml_add(ctx, t992, t1046); // add torch_export.py:54 in forward + ggml_tensor * t1048 = ggml_rms_norm(ctx, t1047, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1049 = ggml_mul(ctx, t1048, net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.15.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1050 = ggml_compiler::ops::reshape(ctx, t1049, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1051 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_up_proj_weight, t1050); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1052 = ggml_compiler::ops::reshape(ctx, t1051, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1053 = ggml_relu(ctx, t1052); // relu net.mot_backbone.model.language_model.layers.15.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1054 = ggml_sqr(ctx, t1053); // sqr net.mot_backbone.model.language_model.layers.15.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1055 = ggml_compiler::ops::reshape(ctx, t1054, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1056 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_down_proj_weight, t1055); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1057 = ggml_compiler::ops::reshape(ctx, t1056, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1058 = ggml_add(ctx, t1047, t1057); // add torch_export.py:54 in forward + ggml_tensor * t1059 = ggml_rms_norm(ctx, t1058, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1060 = ggml_mul(ctx, t1059, net_mot_backbone_model_language_model_layers_16_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.16.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1061 = ggml_compiler::ops::reshape(ctx, t1060, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1062 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_weight, t1061); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1063 = ggml_compiler::ops::reshape(ctx, t1062, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1064 = ggml_permute(ctx, t1063, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1065 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_weight, t1061); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1066 = ggml_compiler::ops::reshape(ctx, t1065, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1067 = ggml_permute(ctx, t1066, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1068 = ggml_cont(ctx, t1064); // cont net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1069 = ggml_rms_norm(ctx, t1068, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1070 = ggml_mul(ctx, t1069, net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1071 = ggml_mul(ctx, t1070, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1072 = ggml_compiler::ops::slice(ctx, t1070, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1073 = ggml_cont(ctx, t1072); // cont torch_export.py:54 in forward + ggml_tensor * t1074 = ggml_neg(ctx, t1073); // neg torch_export.py:54 in forward + ggml_tensor * t1075 = ggml_compiler::ops::slice(ctx, t1070, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1076 = ggml_cont(ctx, t1075); // cont torch_export.py:54 in forward + ggml_tensor * t1077 = ggml_concat(ctx, t1074, t1076, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1078 = ggml_mul(ctx, t1077, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1079 = ggml_add(ctx, t1071, t1078); // add torch_export.py:54 in forward + ggml_tensor * t1080 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_weight, t1061); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1081 = ggml_compiler::ops::reshape(ctx, t1080, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1082 = ggml_permute(ctx, t1081, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1083 = ggml_cont(ctx, t1082); // cont torch_export.py:54 in forward + ggml_tensor * t1084 = ggml_mul(ctx, t1083, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1085 = ggml_compiler::ops::slice(ctx, t1082, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1086 = ggml_cont(ctx, t1085); // cont torch_export.py:54 in forward + ggml_tensor * t1087 = ggml_neg(ctx, t1086); // neg torch_export.py:54 in forward + ggml_tensor * t1088 = ggml_compiler::ops::slice(ctx, t1082, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1089 = ggml_cont(ctx, t1088); // cont torch_export.py:54 in forward + ggml_tensor * t1090 = ggml_concat(ctx, t1087, t1089, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1091 = ggml_mul(ctx, t1090, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1092 = ggml_add(ctx, t1084, t1091); // add torch_export.py:54 in forward + ggml_tensor * t1093 = ggml_mul(ctx, t1068, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1094 = ggml_compiler::ops::slice(ctx, t1064, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1095 = ggml_cont(ctx, t1094); // cont torch_export.py:54 in forward + ggml_tensor * t1096 = ggml_neg(ctx, t1095); // neg torch_export.py:54 in forward + ggml_tensor * t1097 = ggml_compiler::ops::slice(ctx, t1064, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1098 = ggml_cont(ctx, t1097); // cont torch_export.py:54 in forward + ggml_tensor * t1099 = ggml_concat(ctx, t1096, t1098, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1100 = ggml_mul(ctx, t1099, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1101 = ggml_add(ctx, t1093, t1100); // add torch_export.py:54 in forward + ggml_tensor * t1102 = ggml_compiler::ops::mul_mat(ctx, t1101, t1092, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1103 = ggml_soft_max_ext(ctx, t1102, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1104 = ggml_permute(ctx, t1066, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1105 = ggml_cont(ctx, t1104); // cont torch_export.py:54 in forward + ggml_tensor * t1106 = ggml_compiler::ops::mul_mat(ctx, t1105, t1103, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1107 = ggml_permute(ctx, t1106, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1108 = ggml_cont(ctx, t1107); // cont torch_export.py:54 in forward + ggml_tensor * t1109 = ggml_compiler::ops::reshape(ctx, t1108, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1110 = ggml_compiler::ops::reshape(ctx, t1109, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1111 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_weight, t1110); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1112 = ggml_compiler::ops::reshape(ctx, t1111, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1113 = ggml_add(ctx, t1058, t1112); // add torch_export.py:54 in forward + ggml_tensor * t1114 = ggml_rms_norm(ctx, t1113, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1115 = ggml_mul(ctx, t1114, net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.16.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1116 = ggml_compiler::ops::reshape(ctx, t1115, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1117 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_up_proj_weight, t1116); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1118 = ggml_compiler::ops::reshape(ctx, t1117, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1119 = ggml_relu(ctx, t1118); // relu net.mot_backbone.model.language_model.layers.16.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1120 = ggml_sqr(ctx, t1119); // sqr net.mot_backbone.model.language_model.layers.16.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1121 = ggml_compiler::ops::reshape(ctx, t1120, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1122 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_down_proj_weight, t1121); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1123 = ggml_compiler::ops::reshape(ctx, t1122, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1124 = ggml_add(ctx, t1113, t1123); // add torch_export.py:54 in forward + ggml_tensor * t1125 = ggml_rms_norm(ctx, t1124, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1126 = ggml_mul(ctx, t1125, net_mot_backbone_model_language_model_layers_17_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.17.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1127 = ggml_compiler::ops::reshape(ctx, t1126, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1128 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_weight, t1127); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1129 = ggml_compiler::ops::reshape(ctx, t1128, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1130 = ggml_permute(ctx, t1129, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1131 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_weight, t1127); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1132 = ggml_compiler::ops::reshape(ctx, t1131, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1133 = ggml_permute(ctx, t1132, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1134 = ggml_cont(ctx, t1130); // cont net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1135 = ggml_rms_norm(ctx, t1134, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1136 = ggml_mul(ctx, t1135, net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1137 = ggml_mul(ctx, t1136, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1138 = ggml_compiler::ops::slice(ctx, t1136, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1139 = ggml_cont(ctx, t1138); // cont torch_export.py:54 in forward + ggml_tensor * t1140 = ggml_neg(ctx, t1139); // neg torch_export.py:54 in forward + ggml_tensor * t1141 = ggml_compiler::ops::slice(ctx, t1136, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1142 = ggml_cont(ctx, t1141); // cont torch_export.py:54 in forward + ggml_tensor * t1143 = ggml_concat(ctx, t1140, t1142, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1144 = ggml_mul(ctx, t1143, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1145 = ggml_add(ctx, t1137, t1144); // add torch_export.py:54 in forward + ggml_tensor * t1146 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_weight, t1127); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1147 = ggml_compiler::ops::reshape(ctx, t1146, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1148 = ggml_permute(ctx, t1147, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1149 = ggml_cont(ctx, t1148); // cont torch_export.py:54 in forward + ggml_tensor * t1150 = ggml_mul(ctx, t1149, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1151 = ggml_compiler::ops::slice(ctx, t1148, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1152 = ggml_cont(ctx, t1151); // cont torch_export.py:54 in forward + ggml_tensor * t1153 = ggml_neg(ctx, t1152); // neg torch_export.py:54 in forward + ggml_tensor * t1154 = ggml_compiler::ops::slice(ctx, t1148, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1155 = ggml_cont(ctx, t1154); // cont torch_export.py:54 in forward + ggml_tensor * t1156 = ggml_concat(ctx, t1153, t1155, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1157 = ggml_mul(ctx, t1156, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1158 = ggml_add(ctx, t1150, t1157); // add torch_export.py:54 in forward + ggml_tensor * t1159 = ggml_mul(ctx, t1134, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1160 = ggml_compiler::ops::slice(ctx, t1130, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1161 = ggml_cont(ctx, t1160); // cont torch_export.py:54 in forward + ggml_tensor * t1162 = ggml_neg(ctx, t1161); // neg torch_export.py:54 in forward + ggml_tensor * t1163 = ggml_compiler::ops::slice(ctx, t1130, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1164 = ggml_cont(ctx, t1163); // cont torch_export.py:54 in forward + ggml_tensor * t1165 = ggml_concat(ctx, t1162, t1164, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1166 = ggml_mul(ctx, t1165, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1167 = ggml_add(ctx, t1159, t1166); // add torch_export.py:54 in forward + ggml_tensor * t1168 = ggml_compiler::ops::mul_mat(ctx, t1167, t1158, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1169 = ggml_soft_max_ext(ctx, t1168, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1170 = ggml_permute(ctx, t1132, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1171 = ggml_cont(ctx, t1170); // cont torch_export.py:54 in forward + ggml_tensor * t1172 = ggml_compiler::ops::mul_mat(ctx, t1171, t1169, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1173 = ggml_permute(ctx, t1172, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1174 = ggml_cont(ctx, t1173); // cont torch_export.py:54 in forward + ggml_tensor * t1175 = ggml_compiler::ops::reshape(ctx, t1174, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1176 = ggml_compiler::ops::reshape(ctx, t1175, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1177 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_weight, t1176); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1178 = ggml_compiler::ops::reshape(ctx, t1177, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1179 = ggml_add(ctx, t1124, t1178); // add torch_export.py:54 in forward + ggml_tensor * t1180 = ggml_rms_norm(ctx, t1179, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1181 = ggml_mul(ctx, t1180, net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.17.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1182 = ggml_compiler::ops::reshape(ctx, t1181, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1183 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_up_proj_weight, t1182); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1184 = ggml_compiler::ops::reshape(ctx, t1183, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1185 = ggml_relu(ctx, t1184); // relu net.mot_backbone.model.language_model.layers.17.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1186 = ggml_sqr(ctx, t1185); // sqr net.mot_backbone.model.language_model.layers.17.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1187 = ggml_compiler::ops::reshape(ctx, t1186, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1188 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_down_proj_weight, t1187); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1189 = ggml_compiler::ops::reshape(ctx, t1188, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1190 = ggml_add(ctx, t1179, t1189); // add torch_export.py:54 in forward + ggml_tensor * t1191 = ggml_rms_norm(ctx, t1190, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1192 = ggml_mul(ctx, t1191, net_mot_backbone_model_language_model_layers_18_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.18.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1193 = ggml_compiler::ops::reshape(ctx, t1192, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1194 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_weight, t1193); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1195 = ggml_compiler::ops::reshape(ctx, t1194, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1196 = ggml_permute(ctx, t1195, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1197 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_weight, t1193); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1198 = ggml_compiler::ops::reshape(ctx, t1197, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1199 = ggml_permute(ctx, t1198, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1200 = ggml_cont(ctx, t1196); // cont net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1201 = ggml_rms_norm(ctx, t1200, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1202 = ggml_mul(ctx, t1201, net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1203 = ggml_mul(ctx, t1202, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1204 = ggml_compiler::ops::slice(ctx, t1202, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1205 = ggml_cont(ctx, t1204); // cont torch_export.py:54 in forward + ggml_tensor * t1206 = ggml_neg(ctx, t1205); // neg torch_export.py:54 in forward + ggml_tensor * t1207 = ggml_compiler::ops::slice(ctx, t1202, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1208 = ggml_cont(ctx, t1207); // cont torch_export.py:54 in forward + ggml_tensor * t1209 = ggml_concat(ctx, t1206, t1208, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1210 = ggml_mul(ctx, t1209, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1211 = ggml_add(ctx, t1203, t1210); // add torch_export.py:54 in forward + ggml_tensor * t1212 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_weight, t1193); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1213 = ggml_compiler::ops::reshape(ctx, t1212, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1214 = ggml_permute(ctx, t1213, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1215 = ggml_cont(ctx, t1214); // cont torch_export.py:54 in forward + ggml_tensor * t1216 = ggml_mul(ctx, t1215, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1217 = ggml_compiler::ops::slice(ctx, t1214, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1218 = ggml_cont(ctx, t1217); // cont torch_export.py:54 in forward + ggml_tensor * t1219 = ggml_neg(ctx, t1218); // neg torch_export.py:54 in forward + ggml_tensor * t1220 = ggml_compiler::ops::slice(ctx, t1214, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1221 = ggml_cont(ctx, t1220); // cont torch_export.py:54 in forward + ggml_tensor * t1222 = ggml_concat(ctx, t1219, t1221, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1223 = ggml_mul(ctx, t1222, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1224 = ggml_add(ctx, t1216, t1223); // add torch_export.py:54 in forward + ggml_tensor * t1225 = ggml_mul(ctx, t1200, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1226 = ggml_compiler::ops::slice(ctx, t1196, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1227 = ggml_cont(ctx, t1226); // cont torch_export.py:54 in forward + ggml_tensor * t1228 = ggml_neg(ctx, t1227); // neg torch_export.py:54 in forward + ggml_tensor * t1229 = ggml_compiler::ops::slice(ctx, t1196, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1230 = ggml_cont(ctx, t1229); // cont torch_export.py:54 in forward + ggml_tensor * t1231 = ggml_concat(ctx, t1228, t1230, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1232 = ggml_mul(ctx, t1231, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1233 = ggml_add(ctx, t1225, t1232); // add torch_export.py:54 in forward + ggml_tensor * t1234 = ggml_compiler::ops::mul_mat(ctx, t1233, t1224, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1235 = ggml_soft_max_ext(ctx, t1234, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1236 = ggml_permute(ctx, t1198, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1237 = ggml_cont(ctx, t1236); // cont torch_export.py:54 in forward + ggml_tensor * t1238 = ggml_compiler::ops::mul_mat(ctx, t1237, t1235, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1239 = ggml_permute(ctx, t1238, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1240 = ggml_cont(ctx, t1239); // cont torch_export.py:54 in forward + ggml_tensor * t1241 = ggml_compiler::ops::reshape(ctx, t1240, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1242 = ggml_compiler::ops::reshape(ctx, t1241, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1243 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_weight, t1242); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1244 = ggml_compiler::ops::reshape(ctx, t1243, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1245 = ggml_add(ctx, t1190, t1244); // add torch_export.py:54 in forward + ggml_tensor * t1246 = ggml_rms_norm(ctx, t1245, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1247 = ggml_mul(ctx, t1246, net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.18.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1248 = ggml_compiler::ops::reshape(ctx, t1247, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1249 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_up_proj_weight, t1248); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1250 = ggml_compiler::ops::reshape(ctx, t1249, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1251 = ggml_relu(ctx, t1250); // relu net.mot_backbone.model.language_model.layers.18.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1252 = ggml_sqr(ctx, t1251); // sqr net.mot_backbone.model.language_model.layers.18.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1253 = ggml_compiler::ops::reshape(ctx, t1252, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1254 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_down_proj_weight, t1253); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1255 = ggml_compiler::ops::reshape(ctx, t1254, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1256 = ggml_add(ctx, t1245, t1255); // add torch_export.py:54 in forward + ggml_tensor * t1257 = ggml_rms_norm(ctx, t1256, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1258 = ggml_mul(ctx, t1257, net_mot_backbone_model_language_model_layers_19_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.19.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1259 = ggml_compiler::ops::reshape(ctx, t1258, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1260 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1261 = ggml_compiler::ops::reshape(ctx, t1260, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1262 = ggml_permute(ctx, t1261, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1263 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1264 = ggml_compiler::ops::reshape(ctx, t1263, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1265 = ggml_permute(ctx, t1264, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1266 = ggml_cont(ctx, t1262); // cont net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1267 = ggml_rms_norm(ctx, t1266, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1268 = ggml_mul(ctx, t1267, net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1269 = ggml_mul(ctx, t1268, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1270 = ggml_compiler::ops::slice(ctx, t1268, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1271 = ggml_cont(ctx, t1270); // cont torch_export.py:54 in forward + ggml_tensor * t1272 = ggml_neg(ctx, t1271); // neg torch_export.py:54 in forward + ggml_tensor * t1273 = ggml_compiler::ops::slice(ctx, t1268, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1274 = ggml_cont(ctx, t1273); // cont torch_export.py:54 in forward + ggml_tensor * t1275 = ggml_concat(ctx, t1272, t1274, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1276 = ggml_mul(ctx, t1275, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1277 = ggml_add(ctx, t1269, t1276); // add torch_export.py:54 in forward + ggml_tensor * t1278 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1279 = ggml_compiler::ops::reshape(ctx, t1278, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1280 = ggml_permute(ctx, t1279, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1281 = ggml_cont(ctx, t1280); // cont torch_export.py:54 in forward + ggml_tensor * t1282 = ggml_mul(ctx, t1281, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1283 = ggml_compiler::ops::slice(ctx, t1280, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1284 = ggml_cont(ctx, t1283); // cont torch_export.py:54 in forward + ggml_tensor * t1285 = ggml_neg(ctx, t1284); // neg torch_export.py:54 in forward + ggml_tensor * t1286 = ggml_compiler::ops::slice(ctx, t1280, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1287 = ggml_cont(ctx, t1286); // cont torch_export.py:54 in forward + ggml_tensor * t1288 = ggml_concat(ctx, t1285, t1287, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1289 = ggml_mul(ctx, t1288, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1290 = ggml_add(ctx, t1282, t1289); // add torch_export.py:54 in forward + ggml_tensor * t1291 = ggml_mul(ctx, t1266, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1292 = ggml_compiler::ops::slice(ctx, t1262, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1293 = ggml_cont(ctx, t1292); // cont torch_export.py:54 in forward + ggml_tensor * t1294 = ggml_neg(ctx, t1293); // neg torch_export.py:54 in forward + ggml_tensor * t1295 = ggml_compiler::ops::slice(ctx, t1262, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1296 = ggml_cont(ctx, t1295); // cont torch_export.py:54 in forward + ggml_tensor * t1297 = ggml_concat(ctx, t1294, t1296, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1298 = ggml_mul(ctx, t1297, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1299 = ggml_add(ctx, t1291, t1298); // add torch_export.py:54 in forward + ggml_tensor * t1300 = ggml_compiler::ops::mul_mat(ctx, t1299, t1290, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1301 = ggml_soft_max_ext(ctx, t1300, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1302 = ggml_permute(ctx, t1264, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1303 = ggml_cont(ctx, t1302); // cont torch_export.py:54 in forward + ggml_tensor * t1304 = ggml_compiler::ops::mul_mat(ctx, t1303, t1301, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1305 = ggml_permute(ctx, t1304, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1306 = ggml_cont(ctx, t1305); // cont torch_export.py:54 in forward + ggml_tensor * t1307 = ggml_compiler::ops::reshape(ctx, t1306, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1308 = ggml_compiler::ops::reshape(ctx, t1307, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1309 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_weight, t1308); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1310 = ggml_compiler::ops::reshape(ctx, t1309, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1311 = ggml_add(ctx, t1256, t1310); // add torch_export.py:54 in forward + ggml_tensor * t1312 = ggml_rms_norm(ctx, t1311, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1313 = ggml_mul(ctx, t1312, net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.19.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1314 = ggml_compiler::ops::reshape(ctx, t1313, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1315 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_up_proj_weight, t1314); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1316 = ggml_compiler::ops::reshape(ctx, t1315, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1317 = ggml_relu(ctx, t1316); // relu net.mot_backbone.model.language_model.layers.19.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1318 = ggml_sqr(ctx, t1317); // sqr net.mot_backbone.model.language_model.layers.19.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1319 = ggml_compiler::ops::reshape(ctx, t1318, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1320 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_down_proj_weight, t1319); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1321 = ggml_compiler::ops::reshape(ctx, t1320, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1322 = ggml_add(ctx, t1311, t1321); // add torch_export.py:54 in forward + ggml_tensor * t1323 = ggml_rms_norm(ctx, t1322, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1324 = ggml_mul(ctx, t1323, net_mot_backbone_model_language_model_layers_20_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.20.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1325 = ggml_compiler::ops::reshape(ctx, t1324, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1326 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_weight, t1325); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1327 = ggml_compiler::ops::reshape(ctx, t1326, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1328 = ggml_permute(ctx, t1327, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1329 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_weight, t1325); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1330 = ggml_compiler::ops::reshape(ctx, t1329, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1331 = ggml_permute(ctx, t1330, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1332 = ggml_cont(ctx, t1328); // cont net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1333 = ggml_rms_norm(ctx, t1332, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1334 = ggml_mul(ctx, t1333, net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1335 = ggml_mul(ctx, t1334, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1336 = ggml_compiler::ops::slice(ctx, t1334, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1337 = ggml_cont(ctx, t1336); // cont torch_export.py:54 in forward + ggml_tensor * t1338 = ggml_neg(ctx, t1337); // neg torch_export.py:54 in forward + ggml_tensor * t1339 = ggml_compiler::ops::slice(ctx, t1334, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1340 = ggml_cont(ctx, t1339); // cont torch_export.py:54 in forward + ggml_tensor * t1341 = ggml_concat(ctx, t1338, t1340, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1342 = ggml_mul(ctx, t1341, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1343 = ggml_add(ctx, t1335, t1342); // add torch_export.py:54 in forward + ggml_tensor * t1344 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_weight, t1325); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1345 = ggml_compiler::ops::reshape(ctx, t1344, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1346 = ggml_permute(ctx, t1345, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1347 = ggml_cont(ctx, t1346); // cont torch_export.py:54 in forward + ggml_tensor * t1348 = ggml_mul(ctx, t1347, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1349 = ggml_compiler::ops::slice(ctx, t1346, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1350 = ggml_cont(ctx, t1349); // cont torch_export.py:54 in forward + ggml_tensor * t1351 = ggml_neg(ctx, t1350); // neg torch_export.py:54 in forward + ggml_tensor * t1352 = ggml_compiler::ops::slice(ctx, t1346, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1353 = ggml_cont(ctx, t1352); // cont torch_export.py:54 in forward + ggml_tensor * t1354 = ggml_concat(ctx, t1351, t1353, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1355 = ggml_mul(ctx, t1354, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1356 = ggml_add(ctx, t1348, t1355); // add torch_export.py:54 in forward + ggml_tensor * t1357 = ggml_mul(ctx, t1332, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1358 = ggml_compiler::ops::slice(ctx, t1328, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1359 = ggml_cont(ctx, t1358); // cont torch_export.py:54 in forward + ggml_tensor * t1360 = ggml_neg(ctx, t1359); // neg torch_export.py:54 in forward + ggml_tensor * t1361 = ggml_compiler::ops::slice(ctx, t1328, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1362 = ggml_cont(ctx, t1361); // cont torch_export.py:54 in forward + ggml_tensor * t1363 = ggml_concat(ctx, t1360, t1362, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1364 = ggml_mul(ctx, t1363, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1365 = ggml_add(ctx, t1357, t1364); // add torch_export.py:54 in forward + ggml_tensor * t1366 = ggml_compiler::ops::mul_mat(ctx, t1365, t1356, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1367 = ggml_soft_max_ext(ctx, t1366, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1368 = ggml_permute(ctx, t1330, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1369 = ggml_cont(ctx, t1368); // cont torch_export.py:54 in forward + ggml_tensor * t1370 = ggml_compiler::ops::mul_mat(ctx, t1369, t1367, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1371 = ggml_permute(ctx, t1370, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1372 = ggml_cont(ctx, t1371); // cont torch_export.py:54 in forward + ggml_tensor * t1373 = ggml_compiler::ops::reshape(ctx, t1372, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1374 = ggml_compiler::ops::reshape(ctx, t1373, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1375 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_weight, t1374); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1376 = ggml_compiler::ops::reshape(ctx, t1375, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1377 = ggml_add(ctx, t1322, t1376); // add torch_export.py:54 in forward + ggml_tensor * t1378 = ggml_rms_norm(ctx, t1377, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1379 = ggml_mul(ctx, t1378, net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.20.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1380 = ggml_compiler::ops::reshape(ctx, t1379, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1381 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_up_proj_weight, t1380); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1382 = ggml_compiler::ops::reshape(ctx, t1381, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1383 = ggml_relu(ctx, t1382); // relu net.mot_backbone.model.language_model.layers.20.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1384 = ggml_sqr(ctx, t1383); // sqr net.mot_backbone.model.language_model.layers.20.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1385 = ggml_compiler::ops::reshape(ctx, t1384, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1386 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_down_proj_weight, t1385); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1387 = ggml_compiler::ops::reshape(ctx, t1386, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1388 = ggml_add(ctx, t1377, t1387); // add torch_export.py:54 in forward + ggml_tensor * t1389 = ggml_rms_norm(ctx, t1388, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1390 = ggml_mul(ctx, t1389, net_mot_backbone_model_language_model_layers_21_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.21.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1391 = ggml_compiler::ops::reshape(ctx, t1390, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1392 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_weight, t1391); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1393 = ggml_compiler::ops::reshape(ctx, t1392, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1394 = ggml_permute(ctx, t1393, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1395 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_weight, t1391); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1396 = ggml_compiler::ops::reshape(ctx, t1395, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1397 = ggml_permute(ctx, t1396, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1398 = ggml_cont(ctx, t1394); // cont net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1399 = ggml_rms_norm(ctx, t1398, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1400 = ggml_mul(ctx, t1399, net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1401 = ggml_mul(ctx, t1400, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1402 = ggml_compiler::ops::slice(ctx, t1400, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1403 = ggml_cont(ctx, t1402); // cont torch_export.py:54 in forward + ggml_tensor * t1404 = ggml_neg(ctx, t1403); // neg torch_export.py:54 in forward + ggml_tensor * t1405 = ggml_compiler::ops::slice(ctx, t1400, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1406 = ggml_cont(ctx, t1405); // cont torch_export.py:54 in forward + ggml_tensor * t1407 = ggml_concat(ctx, t1404, t1406, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1408 = ggml_mul(ctx, t1407, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1409 = ggml_add(ctx, t1401, t1408); // add torch_export.py:54 in forward + ggml_tensor * t1410 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_weight, t1391); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1411 = ggml_compiler::ops::reshape(ctx, t1410, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1412 = ggml_permute(ctx, t1411, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1413 = ggml_cont(ctx, t1412); // cont torch_export.py:54 in forward + ggml_tensor * t1414 = ggml_mul(ctx, t1413, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1415 = ggml_compiler::ops::slice(ctx, t1412, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1416 = ggml_cont(ctx, t1415); // cont torch_export.py:54 in forward + ggml_tensor * t1417 = ggml_neg(ctx, t1416); // neg torch_export.py:54 in forward + ggml_tensor * t1418 = ggml_compiler::ops::slice(ctx, t1412, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1419 = ggml_cont(ctx, t1418); // cont torch_export.py:54 in forward + ggml_tensor * t1420 = ggml_concat(ctx, t1417, t1419, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1421 = ggml_mul(ctx, t1420, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1422 = ggml_add(ctx, t1414, t1421); // add torch_export.py:54 in forward + ggml_tensor * t1423 = ggml_mul(ctx, t1398, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1424 = ggml_compiler::ops::slice(ctx, t1394, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1425 = ggml_cont(ctx, t1424); // cont torch_export.py:54 in forward + ggml_tensor * t1426 = ggml_neg(ctx, t1425); // neg torch_export.py:54 in forward + ggml_tensor * t1427 = ggml_compiler::ops::slice(ctx, t1394, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1428 = ggml_cont(ctx, t1427); // cont torch_export.py:54 in forward + ggml_tensor * t1429 = ggml_concat(ctx, t1426, t1428, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1430 = ggml_mul(ctx, t1429, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1431 = ggml_add(ctx, t1423, t1430); // add torch_export.py:54 in forward + ggml_tensor * t1432 = ggml_compiler::ops::mul_mat(ctx, t1431, t1422, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1433 = ggml_soft_max_ext(ctx, t1432, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1434 = ggml_permute(ctx, t1396, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1435 = ggml_cont(ctx, t1434); // cont torch_export.py:54 in forward + ggml_tensor * t1436 = ggml_compiler::ops::mul_mat(ctx, t1435, t1433, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1437 = ggml_permute(ctx, t1436, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1438 = ggml_cont(ctx, t1437); // cont torch_export.py:54 in forward + ggml_tensor * t1439 = ggml_compiler::ops::reshape(ctx, t1438, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1440 = ggml_compiler::ops::reshape(ctx, t1439, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1441 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_weight, t1440); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1442 = ggml_compiler::ops::reshape(ctx, t1441, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1443 = ggml_add(ctx, t1388, t1442); // add torch_export.py:54 in forward + ggml_tensor * t1444 = ggml_rms_norm(ctx, t1443, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1445 = ggml_mul(ctx, t1444, net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.21.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1446 = ggml_compiler::ops::reshape(ctx, t1445, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1447 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_up_proj_weight, t1446); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1448 = ggml_compiler::ops::reshape(ctx, t1447, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1449 = ggml_relu(ctx, t1448); // relu net.mot_backbone.model.language_model.layers.21.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1450 = ggml_sqr(ctx, t1449); // sqr net.mot_backbone.model.language_model.layers.21.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1451 = ggml_compiler::ops::reshape(ctx, t1450, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1452 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_down_proj_weight, t1451); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1453 = ggml_compiler::ops::reshape(ctx, t1452, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1454 = ggml_add(ctx, t1443, t1453); // add torch_export.py:54 in forward + ggml_tensor * t1455 = ggml_rms_norm(ctx, t1454, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1456 = ggml_mul(ctx, t1455, net_mot_backbone_model_language_model_layers_22_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.22.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1457 = ggml_compiler::ops::reshape(ctx, t1456, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1458 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_weight, t1457); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1459 = ggml_compiler::ops::reshape(ctx, t1458, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1460 = ggml_permute(ctx, t1459, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1461 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_weight, t1457); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1462 = ggml_compiler::ops::reshape(ctx, t1461, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1463 = ggml_permute(ctx, t1462, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1464 = ggml_cont(ctx, t1460); // cont net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1465 = ggml_rms_norm(ctx, t1464, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1466 = ggml_mul(ctx, t1465, net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1467 = ggml_mul(ctx, t1466, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1468 = ggml_compiler::ops::slice(ctx, t1466, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1469 = ggml_cont(ctx, t1468); // cont torch_export.py:54 in forward + ggml_tensor * t1470 = ggml_neg(ctx, t1469); // neg torch_export.py:54 in forward + ggml_tensor * t1471 = ggml_compiler::ops::slice(ctx, t1466, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1472 = ggml_cont(ctx, t1471); // cont torch_export.py:54 in forward + ggml_tensor * t1473 = ggml_concat(ctx, t1470, t1472, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1474 = ggml_mul(ctx, t1473, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1475 = ggml_add(ctx, t1467, t1474); // add torch_export.py:54 in forward + ggml_tensor * t1476 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_weight, t1457); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1477 = ggml_compiler::ops::reshape(ctx, t1476, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1478 = ggml_permute(ctx, t1477, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1479 = ggml_cont(ctx, t1478); // cont torch_export.py:54 in forward + ggml_tensor * t1480 = ggml_mul(ctx, t1479, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1481 = ggml_compiler::ops::slice(ctx, t1478, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1482 = ggml_cont(ctx, t1481); // cont torch_export.py:54 in forward + ggml_tensor * t1483 = ggml_neg(ctx, t1482); // neg torch_export.py:54 in forward + ggml_tensor * t1484 = ggml_compiler::ops::slice(ctx, t1478, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1485 = ggml_cont(ctx, t1484); // cont torch_export.py:54 in forward + ggml_tensor * t1486 = ggml_concat(ctx, t1483, t1485, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1487 = ggml_mul(ctx, t1486, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1488 = ggml_add(ctx, t1480, t1487); // add torch_export.py:54 in forward + ggml_tensor * t1489 = ggml_mul(ctx, t1464, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1490 = ggml_compiler::ops::slice(ctx, t1460, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1491 = ggml_cont(ctx, t1490); // cont torch_export.py:54 in forward + ggml_tensor * t1492 = ggml_neg(ctx, t1491); // neg torch_export.py:54 in forward + ggml_tensor * t1493 = ggml_compiler::ops::slice(ctx, t1460, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1494 = ggml_cont(ctx, t1493); // cont torch_export.py:54 in forward + ggml_tensor * t1495 = ggml_concat(ctx, t1492, t1494, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1496 = ggml_mul(ctx, t1495, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1497 = ggml_add(ctx, t1489, t1496); // add torch_export.py:54 in forward + ggml_tensor * t1498 = ggml_compiler::ops::mul_mat(ctx, t1497, t1488, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1499 = ggml_soft_max_ext(ctx, t1498, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1500 = ggml_permute(ctx, t1462, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1501 = ggml_cont(ctx, t1500); // cont torch_export.py:54 in forward + ggml_tensor * t1502 = ggml_compiler::ops::mul_mat(ctx, t1501, t1499, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1503 = ggml_permute(ctx, t1502, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1504 = ggml_cont(ctx, t1503); // cont torch_export.py:54 in forward + ggml_tensor * t1505 = ggml_compiler::ops::reshape(ctx, t1504, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1506 = ggml_compiler::ops::reshape(ctx, t1505, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1507 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_weight, t1506); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1508 = ggml_compiler::ops::reshape(ctx, t1507, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1509 = ggml_add(ctx, t1454, t1508); // add torch_export.py:54 in forward + ggml_tensor * t1510 = ggml_rms_norm(ctx, t1509, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1511 = ggml_mul(ctx, t1510, net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.22.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1512 = ggml_compiler::ops::reshape(ctx, t1511, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1513 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_up_proj_weight, t1512); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1514 = ggml_compiler::ops::reshape(ctx, t1513, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1515 = ggml_relu(ctx, t1514); // relu net.mot_backbone.model.language_model.layers.22.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1516 = ggml_sqr(ctx, t1515); // sqr net.mot_backbone.model.language_model.layers.22.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1517 = ggml_compiler::ops::reshape(ctx, t1516, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1518 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_down_proj_weight, t1517); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1519 = ggml_compiler::ops::reshape(ctx, t1518, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1520 = ggml_add(ctx, t1509, t1519); // add torch_export.py:54 in forward + ggml_tensor * t1521 = ggml_rms_norm(ctx, t1520, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1522 = ggml_mul(ctx, t1521, net_mot_backbone_model_language_model_layers_23_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.23.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1523 = ggml_compiler::ops::reshape(ctx, t1522, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1524 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_weight, t1523); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1525 = ggml_compiler::ops::reshape(ctx, t1524, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1526 = ggml_permute(ctx, t1525, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1527 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_weight, t1523); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1528 = ggml_compiler::ops::reshape(ctx, t1527, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1529 = ggml_permute(ctx, t1528, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1530 = ggml_cont(ctx, t1526); // cont net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1531 = ggml_rms_norm(ctx, t1530, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1532 = ggml_mul(ctx, t1531, net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1533 = ggml_mul(ctx, t1532, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1534 = ggml_compiler::ops::slice(ctx, t1532, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1535 = ggml_cont(ctx, t1534); // cont torch_export.py:54 in forward + ggml_tensor * t1536 = ggml_neg(ctx, t1535); // neg torch_export.py:54 in forward + ggml_tensor * t1537 = ggml_compiler::ops::slice(ctx, t1532, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1538 = ggml_cont(ctx, t1537); // cont torch_export.py:54 in forward + ggml_tensor * t1539 = ggml_concat(ctx, t1536, t1538, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1540 = ggml_mul(ctx, t1539, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1541 = ggml_add(ctx, t1533, t1540); // add torch_export.py:54 in forward + ggml_tensor * t1542 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_weight, t1523); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1543 = ggml_compiler::ops::reshape(ctx, t1542, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1544 = ggml_permute(ctx, t1543, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1545 = ggml_cont(ctx, t1544); // cont torch_export.py:54 in forward + ggml_tensor * t1546 = ggml_mul(ctx, t1545, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1547 = ggml_compiler::ops::slice(ctx, t1544, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1548 = ggml_cont(ctx, t1547); // cont torch_export.py:54 in forward + ggml_tensor * t1549 = ggml_neg(ctx, t1548); // neg torch_export.py:54 in forward + ggml_tensor * t1550 = ggml_compiler::ops::slice(ctx, t1544, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1551 = ggml_cont(ctx, t1550); // cont torch_export.py:54 in forward + ggml_tensor * t1552 = ggml_concat(ctx, t1549, t1551, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1553 = ggml_mul(ctx, t1552, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1554 = ggml_add(ctx, t1546, t1553); // add torch_export.py:54 in forward + ggml_tensor * t1555 = ggml_mul(ctx, t1530, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1556 = ggml_compiler::ops::slice(ctx, t1526, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1557 = ggml_cont(ctx, t1556); // cont torch_export.py:54 in forward + ggml_tensor * t1558 = ggml_neg(ctx, t1557); // neg torch_export.py:54 in forward + ggml_tensor * t1559 = ggml_compiler::ops::slice(ctx, t1526, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1560 = ggml_cont(ctx, t1559); // cont torch_export.py:54 in forward + ggml_tensor * t1561 = ggml_concat(ctx, t1558, t1560, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1562 = ggml_mul(ctx, t1561, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1563 = ggml_add(ctx, t1555, t1562); // add torch_export.py:54 in forward + ggml_tensor * t1564 = ggml_compiler::ops::mul_mat(ctx, t1563, t1554, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1565 = ggml_soft_max_ext(ctx, t1564, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1566 = ggml_permute(ctx, t1528, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1567 = ggml_cont(ctx, t1566); // cont torch_export.py:54 in forward + ggml_tensor * t1568 = ggml_compiler::ops::mul_mat(ctx, t1567, t1565, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1569 = ggml_permute(ctx, t1568, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1570 = ggml_cont(ctx, t1569); // cont torch_export.py:54 in forward + ggml_tensor * t1571 = ggml_compiler::ops::reshape(ctx, t1570, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1572 = ggml_compiler::ops::reshape(ctx, t1571, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1573 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_weight, t1572); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1574 = ggml_compiler::ops::reshape(ctx, t1573, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1575 = ggml_add(ctx, t1520, t1574); // add torch_export.py:54 in forward + ggml_tensor * t1576 = ggml_rms_norm(ctx, t1575, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1577 = ggml_mul(ctx, t1576, net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.23.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1578 = ggml_compiler::ops::reshape(ctx, t1577, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1579 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_up_proj_weight, t1578); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1580 = ggml_compiler::ops::reshape(ctx, t1579, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1581 = ggml_relu(ctx, t1580); // relu net.mot_backbone.model.language_model.layers.23.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1582 = ggml_sqr(ctx, t1581); // sqr net.mot_backbone.model.language_model.layers.23.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1583 = ggml_compiler::ops::reshape(ctx, t1582, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1584 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_down_proj_weight, t1583); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1585 = ggml_compiler::ops::reshape(ctx, t1584, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1586 = ggml_add(ctx, t1575, t1585); // add torch_export.py:54 in forward + ggml_tensor * t1587 = ggml_rms_norm(ctx, t1586, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1588 = ggml_mul(ctx, t1587, net_mot_backbone_model_language_model_layers_24_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.24.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1589 = ggml_compiler::ops::reshape(ctx, t1588, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1590 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_weight, t1589); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1591 = ggml_compiler::ops::reshape(ctx, t1590, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1592 = ggml_permute(ctx, t1591, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1593 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_weight, t1589); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1594 = ggml_compiler::ops::reshape(ctx, t1593, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1595 = ggml_permute(ctx, t1594, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1596 = ggml_cont(ctx, t1592); // cont net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1597 = ggml_rms_norm(ctx, t1596, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1598 = ggml_mul(ctx, t1597, net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1599 = ggml_mul(ctx, t1598, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1600 = ggml_compiler::ops::slice(ctx, t1598, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1601 = ggml_cont(ctx, t1600); // cont torch_export.py:54 in forward + ggml_tensor * t1602 = ggml_neg(ctx, t1601); // neg torch_export.py:54 in forward + ggml_tensor * t1603 = ggml_compiler::ops::slice(ctx, t1598, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1604 = ggml_cont(ctx, t1603); // cont torch_export.py:54 in forward + ggml_tensor * t1605 = ggml_concat(ctx, t1602, t1604, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1606 = ggml_mul(ctx, t1605, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1607 = ggml_add(ctx, t1599, t1606); // add torch_export.py:54 in forward + ggml_tensor * t1608 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_weight, t1589); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1609 = ggml_compiler::ops::reshape(ctx, t1608, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1610 = ggml_permute(ctx, t1609, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1611 = ggml_cont(ctx, t1610); // cont torch_export.py:54 in forward + ggml_tensor * t1612 = ggml_mul(ctx, t1611, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1613 = ggml_compiler::ops::slice(ctx, t1610, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1614 = ggml_cont(ctx, t1613); // cont torch_export.py:54 in forward + ggml_tensor * t1615 = ggml_neg(ctx, t1614); // neg torch_export.py:54 in forward + ggml_tensor * t1616 = ggml_compiler::ops::slice(ctx, t1610, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1617 = ggml_cont(ctx, t1616); // cont torch_export.py:54 in forward + ggml_tensor * t1618 = ggml_concat(ctx, t1615, t1617, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1619 = ggml_mul(ctx, t1618, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1620 = ggml_add(ctx, t1612, t1619); // add torch_export.py:54 in forward + ggml_tensor * t1621 = ggml_mul(ctx, t1596, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1622 = ggml_compiler::ops::slice(ctx, t1592, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1623 = ggml_cont(ctx, t1622); // cont torch_export.py:54 in forward + ggml_tensor * t1624 = ggml_neg(ctx, t1623); // neg torch_export.py:54 in forward + ggml_tensor * t1625 = ggml_compiler::ops::slice(ctx, t1592, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1626 = ggml_cont(ctx, t1625); // cont torch_export.py:54 in forward + ggml_tensor * t1627 = ggml_concat(ctx, t1624, t1626, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1628 = ggml_mul(ctx, t1627, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1629 = ggml_add(ctx, t1621, t1628); // add torch_export.py:54 in forward + ggml_tensor * t1630 = ggml_compiler::ops::mul_mat(ctx, t1629, t1620, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1631 = ggml_soft_max_ext(ctx, t1630, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1632 = ggml_permute(ctx, t1594, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1633 = ggml_cont(ctx, t1632); // cont torch_export.py:54 in forward + ggml_tensor * t1634 = ggml_compiler::ops::mul_mat(ctx, t1633, t1631, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1635 = ggml_permute(ctx, t1634, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1636 = ggml_cont(ctx, t1635); // cont torch_export.py:54 in forward + ggml_tensor * t1637 = ggml_compiler::ops::reshape(ctx, t1636, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1638 = ggml_compiler::ops::reshape(ctx, t1637, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1639 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_weight, t1638); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1640 = ggml_compiler::ops::reshape(ctx, t1639, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1641 = ggml_add(ctx, t1586, t1640); // add torch_export.py:54 in forward + ggml_tensor * t1642 = ggml_rms_norm(ctx, t1641, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1643 = ggml_mul(ctx, t1642, net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.24.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1644 = ggml_compiler::ops::reshape(ctx, t1643, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1645 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_up_proj_weight, t1644); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1646 = ggml_compiler::ops::reshape(ctx, t1645, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1647 = ggml_relu(ctx, t1646); // relu net.mot_backbone.model.language_model.layers.24.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1648 = ggml_sqr(ctx, t1647); // sqr net.mot_backbone.model.language_model.layers.24.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1649 = ggml_compiler::ops::reshape(ctx, t1648, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1650 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_down_proj_weight, t1649); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1651 = ggml_compiler::ops::reshape(ctx, t1650, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1652 = ggml_add(ctx, t1641, t1651); // add torch_export.py:54 in forward + ggml_tensor * t1653 = ggml_rms_norm(ctx, t1652, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1654 = ggml_mul(ctx, t1653, net_mot_backbone_model_language_model_layers_25_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.25.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1655 = ggml_compiler::ops::reshape(ctx, t1654, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1656 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_weight, t1655); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1657 = ggml_compiler::ops::reshape(ctx, t1656, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1658 = ggml_permute(ctx, t1657, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1659 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_weight, t1655); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1660 = ggml_compiler::ops::reshape(ctx, t1659, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1661 = ggml_permute(ctx, t1660, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1662 = ggml_cont(ctx, t1658); // cont net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1663 = ggml_rms_norm(ctx, t1662, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1664 = ggml_mul(ctx, t1663, net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1665 = ggml_mul(ctx, t1664, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1666 = ggml_compiler::ops::slice(ctx, t1664, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1667 = ggml_cont(ctx, t1666); // cont torch_export.py:54 in forward + ggml_tensor * t1668 = ggml_neg(ctx, t1667); // neg torch_export.py:54 in forward + ggml_tensor * t1669 = ggml_compiler::ops::slice(ctx, t1664, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1670 = ggml_cont(ctx, t1669); // cont torch_export.py:54 in forward + ggml_tensor * t1671 = ggml_concat(ctx, t1668, t1670, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1672 = ggml_mul(ctx, t1671, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1673 = ggml_add(ctx, t1665, t1672); // add torch_export.py:54 in forward + ggml_tensor * t1674 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_weight, t1655); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1675 = ggml_compiler::ops::reshape(ctx, t1674, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1676 = ggml_permute(ctx, t1675, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1677 = ggml_cont(ctx, t1676); // cont torch_export.py:54 in forward + ggml_tensor * t1678 = ggml_mul(ctx, t1677, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1679 = ggml_compiler::ops::slice(ctx, t1676, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1680 = ggml_cont(ctx, t1679); // cont torch_export.py:54 in forward + ggml_tensor * t1681 = ggml_neg(ctx, t1680); // neg torch_export.py:54 in forward + ggml_tensor * t1682 = ggml_compiler::ops::slice(ctx, t1676, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1683 = ggml_cont(ctx, t1682); // cont torch_export.py:54 in forward + ggml_tensor * t1684 = ggml_concat(ctx, t1681, t1683, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1685 = ggml_mul(ctx, t1684, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1686 = ggml_add(ctx, t1678, t1685); // add torch_export.py:54 in forward + ggml_tensor * t1687 = ggml_mul(ctx, t1662, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1688 = ggml_compiler::ops::slice(ctx, t1658, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1689 = ggml_cont(ctx, t1688); // cont torch_export.py:54 in forward + ggml_tensor * t1690 = ggml_neg(ctx, t1689); // neg torch_export.py:54 in forward + ggml_tensor * t1691 = ggml_compiler::ops::slice(ctx, t1658, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1692 = ggml_cont(ctx, t1691); // cont torch_export.py:54 in forward + ggml_tensor * t1693 = ggml_concat(ctx, t1690, t1692, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1694 = ggml_mul(ctx, t1693, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1695 = ggml_add(ctx, t1687, t1694); // add torch_export.py:54 in forward + ggml_tensor * t1696 = ggml_compiler::ops::mul_mat(ctx, t1695, t1686, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1697 = ggml_soft_max_ext(ctx, t1696, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1698 = ggml_permute(ctx, t1660, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1699 = ggml_cont(ctx, t1698); // cont torch_export.py:54 in forward + ggml_tensor * t1700 = ggml_compiler::ops::mul_mat(ctx, t1699, t1697, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1701 = ggml_permute(ctx, t1700, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1702 = ggml_cont(ctx, t1701); // cont torch_export.py:54 in forward + ggml_tensor * t1703 = ggml_compiler::ops::reshape(ctx, t1702, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1704 = ggml_compiler::ops::reshape(ctx, t1703, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1705 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1706 = ggml_compiler::ops::reshape(ctx, t1705, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1707 = ggml_add(ctx, t1652, t1706); // add torch_export.py:54 in forward + ggml_tensor * t1708 = ggml_rms_norm(ctx, t1707, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1709 = ggml_mul(ctx, t1708, net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.25.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1710 = ggml_compiler::ops::reshape(ctx, t1709, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1711 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_up_proj_weight, t1710); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1712 = ggml_compiler::ops::reshape(ctx, t1711, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1713 = ggml_relu(ctx, t1712); // relu net.mot_backbone.model.language_model.layers.25.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1714 = ggml_sqr(ctx, t1713); // sqr net.mot_backbone.model.language_model.layers.25.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1715 = ggml_compiler::ops::reshape(ctx, t1714, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1716 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_down_proj_weight, t1715); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1717 = ggml_compiler::ops::reshape(ctx, t1716, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1718 = ggml_add(ctx, t1707, t1717); // add torch_export.py:54 in forward + ggml_tensor * t1719 = ggml_rms_norm(ctx, t1718, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1720 = ggml_mul(ctx, t1719, net_mot_backbone_model_language_model_layers_26_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.26.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1721 = ggml_compiler::ops::reshape(ctx, t1720, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1722 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_weight, t1721); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1723 = ggml_compiler::ops::reshape(ctx, t1722, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1724 = ggml_permute(ctx, t1723, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1725 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_weight, t1721); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1726 = ggml_compiler::ops::reshape(ctx, t1725, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1727 = ggml_permute(ctx, t1726, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1728 = ggml_cont(ctx, t1724); // cont net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1729 = ggml_rms_norm(ctx, t1728, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1730 = ggml_mul(ctx, t1729, net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1731 = ggml_mul(ctx, t1730, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1732 = ggml_compiler::ops::slice(ctx, t1730, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1733 = ggml_cont(ctx, t1732); // cont torch_export.py:54 in forward + ggml_tensor * t1734 = ggml_neg(ctx, t1733); // neg torch_export.py:54 in forward + ggml_tensor * t1735 = ggml_compiler::ops::slice(ctx, t1730, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1736 = ggml_cont(ctx, t1735); // cont torch_export.py:54 in forward + ggml_tensor * t1737 = ggml_concat(ctx, t1734, t1736, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1738 = ggml_mul(ctx, t1737, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1739 = ggml_add(ctx, t1731, t1738); // add torch_export.py:54 in forward + ggml_tensor * t1740 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_weight, t1721); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.q_proj linear.py:134 in forward + ggml_tensor * t1741 = ggml_compiler::ops::reshape(ctx, t1740, 128, 16, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1742 = ggml_permute(ctx, t1741, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1743 = ggml_cont(ctx, t1742); // cont torch_export.py:54 in forward + ggml_tensor * t1744 = ggml_mul(ctx, t1743, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1745 = ggml_compiler::ops::slice(ctx, t1742, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1746 = ggml_cont(ctx, t1745); // cont torch_export.py:54 in forward + ggml_tensor * t1747 = ggml_neg(ctx, t1746); // neg torch_export.py:54 in forward + ggml_tensor * t1748 = ggml_compiler::ops::slice(ctx, t1742, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1749 = ggml_cont(ctx, t1748); // cont torch_export.py:54 in forward + ggml_tensor * t1750 = ggml_concat(ctx, t1747, t1749, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1751 = ggml_mul(ctx, t1750, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1752 = ggml_add(ctx, t1744, t1751); // add torch_export.py:54 in forward + ggml_tensor * t1753 = ggml_mul(ctx, t1728, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1754 = ggml_compiler::ops::slice(ctx, t1724, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1755 = ggml_cont(ctx, t1754); // cont torch_export.py:54 in forward + ggml_tensor * t1756 = ggml_neg(ctx, t1755); // neg torch_export.py:54 in forward + ggml_tensor * t1757 = ggml_compiler::ops::slice(ctx, t1724, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1758 = ggml_cont(ctx, t1757); // cont torch_export.py:54 in forward + ggml_tensor * t1759 = ggml_concat(ctx, t1756, t1758, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1760 = ggml_mul(ctx, t1759, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1761 = ggml_add(ctx, t1753, t1760); // add torch_export.py:54 in forward + ggml_tensor * t1762 = ggml_compiler::ops::mul_mat(ctx, t1761, t1752, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1763 = ggml_soft_max_ext(ctx, t1762, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1764 = ggml_permute(ctx, t1726, 1, 2, 0, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1765 = ggml_cont(ctx, t1764); // cont torch_export.py:54 in forward + ggml_tensor * t1766 = ggml_compiler::ops::mul_mat(ctx, t1765, t1763, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1767 = ggml_permute(ctx, t1766, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1768 = ggml_cont(ctx, t1767); // cont torch_export.py:54 in forward + ggml_tensor * t1769 = ggml_compiler::ops::reshape(ctx, t1768, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1770 = ggml_compiler::ops::reshape(ctx, t1769, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1771 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_weight, t1770); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1772 = ggml_compiler::ops::reshape(ctx, t1771, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj linear.py:134 in forward + ggml_tensor * t1773 = ggml_add(ctx, t1718, t1772); // add torch_export.py:54 in forward + ggml_tensor * t1774 = ggml_rms_norm(ctx, t1773, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.post_attention_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1775 = ggml_mul(ctx, t1774, net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.26.post_attention_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1776 = ggml_compiler::ops::reshape(ctx, t1775, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1777 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_up_proj_weight, t1776); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1778 = ggml_compiler::ops::reshape(ctx, t1777, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.up_proj linear.py:134 in forward + ggml_tensor * t1779 = ggml_relu(ctx, t1778); // relu net.mot_backbone.model.language_model.layers.26.mlp.act_fn activations.py:212 in forward + ggml_tensor * t1780 = ggml_sqr(ctx, t1779); // sqr net.mot_backbone.model.language_model.layers.26.mlp.act_fn activations.py:213 in forward + ggml_tensor * t1781 = ggml_compiler::ops::reshape(ctx, t1780, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1782 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_down_proj_weight, t1781); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1783 = ggml_compiler::ops::reshape(ctx, t1782, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.down_proj linear.py:134 in forward + ggml_tensor * t1784 = ggml_add(ctx, t1773, t1783); // add torch_export.py:54 in forward + ggml_tensor * t1785 = ggml_rms_norm(ctx, t1784, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.input_layernorm modeling_cosmos3.py:2436 in forward + ggml_tensor * t1786 = ggml_mul(ctx, t1785, net_mot_backbone_model_language_model_layers_27_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.27.input_layernorm modeling_cosmos3.py:2437 in forward + ggml_tensor * t1787 = ggml_compiler::ops::reshape(ctx, t1786, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1788 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_weight, t1787); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.k_proj linear.py:134 in forward + ggml_tensor * t1789 = ggml_compiler::ops::reshape(ctx, t1788, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1790 = ggml_permute(ctx, t1789, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1791 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_weight, t1787); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.v_proj linear.py:134 in forward + ggml_tensor * t1792 = ggml_compiler::ops::reshape(ctx, t1791, 128, 8, 192, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1793 = ggml_permute(ctx, t1792, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1794 = ggml_cont(ctx, t1790); // cont net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1795 = ggml_rms_norm(ctx, t1794, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1796 = ggml_mul(ctx, t1795, net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1797 = ggml_mul(ctx, t1796, const_14); // mul torch_export.py:54 in forward + ggml_tensor * t1798 = ggml_compiler::ops::slice(ctx, t1796, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1799 = ggml_cont(ctx, t1798); // cont torch_export.py:54 in forward + ggml_tensor * t1800 = ggml_neg(ctx, t1799); // neg torch_export.py:54 in forward + ggml_tensor * t1801 = ggml_compiler::ops::slice(ctx, t1796, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1802 = ggml_cont(ctx, t1801); // cont torch_export.py:54 in forward + ggml_tensor * t1803 = ggml_concat(ctx, t1800, t1802, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1804 = ggml_mul(ctx, t1803, const_15); // mul torch_export.py:54 in forward + ggml_tensor * t1805 = ggml_add(ctx, t1797, t1804); // add torch_export.py:54 in forward + ggml_tensor * t1806 = ggml_compiler::ops::scale(ctx, in1, -1.0f, 1.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1807 = ggml_compiler::ops::scale(ctx, t1806, -1e+09f, 0.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1808 = ggml_concat(ctx, t1807, const_17, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1809 = ggml_compiler::ops::reshape(ctx, t1808, 458, 1, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1810 = ggml_repeat_4d(ctx, t1809, 458, 266, 1, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t1811 = ggml_sum_rows(ctx, in1); // sum_rows torch_export.py:54 in forward + ggml_tensor * t1812 = ggml_compiler::ops::scale(ctx, t1811, 1.0f, 15000.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1813 = ggml_add(ctx, const_18, t1812); // add torch_export.py:54 in forward + ggml_tensor * t1814 = ggml_compiler::ops::reshape(ctx, t1813, 1, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1815 = ggml_repeat_4d(ctx, t1814, 64, 266, 1, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t1816 = ggml_mul(ctx, t1815, const_19); // mul torch_export.py:54 in forward + ggml_tensor * t1817 = ggml_add(ctx, t1816, const_20); // add torch_export.py:54 in forward + ggml_tensor * t1818 = ggml_cos(ctx, t1817); // cos torch_export.py:54 in forward + ggml_tensor * t1819 = ggml_sin(ctx, t1817); // sin torch_export.py:54 in forward + ggml_tensor * t1820 = ggml_concat(ctx, t1818, t1818, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1821 = ggml_compiler::ops::reshape(ctx, t1820, 128, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1822 = ggml_concat(ctx, t1819, t1819, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1823 = ggml_compiler::ops::reshape(ctx, t1822, 128, 266, 1, 1); // reshape torch_export.py:54 in forward + + ggml_compiler_build_output(B, 0, t23); + ggml_compiler_build_output(B, 1, t11); + ggml_compiler_build_output(B, 2, t89); + ggml_compiler_build_output(B, 3, t77); + ggml_compiler_build_output(B, 4, t155); + ggml_compiler_build_output(B, 5, t143); + ggml_compiler_build_output(B, 6, t221); + ggml_compiler_build_output(B, 7, t209); + ggml_compiler_build_output(B, 8, t287); + ggml_compiler_build_output(B, 9, t275); + ggml_compiler_build_output(B, 10, t353); + ggml_compiler_build_output(B, 11, t341); + ggml_compiler_build_output(B, 12, t419); + ggml_compiler_build_output(B, 13, t407); + ggml_compiler_build_output(B, 14, t485); + ggml_compiler_build_output(B, 15, t473); + ggml_compiler_build_output(B, 16, t551); + ggml_compiler_build_output(B, 17, t539); + ggml_compiler_build_output(B, 18, t617); + ggml_compiler_build_output(B, 19, t605); + ggml_compiler_build_output(B, 20, t683); + ggml_compiler_build_output(B, 21, t671); + ggml_compiler_build_output(B, 22, t749); + ggml_compiler_build_output(B, 23, t737); + ggml_compiler_build_output(B, 24, t815); + ggml_compiler_build_output(B, 25, t803); + ggml_compiler_build_output(B, 26, t881); + ggml_compiler_build_output(B, 27, t869); + ggml_compiler_build_output(B, 28, t947); + ggml_compiler_build_output(B, 29, t935); + ggml_compiler_build_output(B, 30, t1013); + ggml_compiler_build_output(B, 31, t1001); + ggml_compiler_build_output(B, 32, t1079); + ggml_compiler_build_output(B, 33, t1067); + ggml_compiler_build_output(B, 34, t1145); + ggml_compiler_build_output(B, 35, t1133); + ggml_compiler_build_output(B, 36, t1211); + ggml_compiler_build_output(B, 37, t1199); + ggml_compiler_build_output(B, 38, t1277); + ggml_compiler_build_output(B, 39, t1265); + ggml_compiler_build_output(B, 40, t1343); + ggml_compiler_build_output(B, 41, t1331); + ggml_compiler_build_output(B, 42, t1409); + ggml_compiler_build_output(B, 43, t1397); + ggml_compiler_build_output(B, 44, t1475); + ggml_compiler_build_output(B, 45, t1463); + ggml_compiler_build_output(B, 46, t1541); + ggml_compiler_build_output(B, 47, t1529); + ggml_compiler_build_output(B, 48, t1607); + ggml_compiler_build_output(B, 49, t1595); + ggml_compiler_build_output(B, 50, t1673); + ggml_compiler_build_output(B, 51, t1661); + ggml_compiler_build_output(B, 52, t1739); + ggml_compiler_build_output(B, 53, t1727); + ggml_compiler_build_output(B, 54, t1805); + ggml_compiler_build_output(B, 55, t1793); + ggml_compiler_build_output(B, 56, t1810); + ggml_compiler_build_output(B, 57, t1821); + ggml_compiler_build_output(B, 58, t1823); + return 0; +} + +// Stage 'init': 3 nodes. +int build_init(ggml_compiler_stage_build * B) { + ggml_context * ctx = ggml_compiler_build_ctx(B); + const bool gpu = ggml_compiler_build_gpu(B); + (void) gpu; + + // Parameters + ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 50, 192] + ggml_tensor * in1 = ggml_compiler_build_param(B, 1); // f32 [1, 200, 192] + ggml_tensor * in2 = ggml_compiler_build_param(B, 2); // f32 [1, 16, 10] + + // Graph + ggml_tensor * t0 = ggml_concat(ctx, in0, in1, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1 = ggml_compiler::ops::scale(ctx, t0, 0.0f, 0.0f); // scale torch_export.py:54 in forward + ggml_tensor * t2 = ggml_compiler::ops::scale(ctx, in2, 0.0f, 0.0f); // scale torch_export.py:54 in forward + + ggml_compiler_build_output(B, 0, t0); + ggml_compiler_build_output(B, 1, in2); + ggml_compiler_build_output(B, 2, t1); + ggml_compiler_build_output(B, 3, t2); + ggml_compiler_build_output(B, 4, t1); + ggml_compiler_build_output(B, 5, t2); + ggml_compiler_build_output(B, 6, t1); + ggml_compiler_build_output(B, 7, t2); + return 0; +} + +// Stage 'step': 1813 nodes. +int build_step(ggml_compiler_stage_build * B) { + ggml_context * ctx = ggml_compiler_build_ctx(B); + const bool gpu = ggml_compiler_build_gpu(B); + (void) gpu; + + // Parameters + ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 250, 192] + ggml_tensor * in1 = ggml_compiler_build_param(B, 1); // f32 [1, 16, 10] + ggml_tensor * in2 = ggml_compiler_build_param(B, 2); // f32 [1, 250, 192] + ggml_tensor * in3 = ggml_compiler_build_param(B, 3); // f32 [1, 16, 10] + ggml_tensor * in4 = ggml_compiler_build_param(B, 4); // f32 [1, 250, 192] + ggml_tensor * in5 = ggml_compiler_build_param(B, 5); // f32 [1, 16, 10] + ggml_tensor * in6 = ggml_compiler_build_param(B, 6); // f32 [1, 250, 192] + ggml_tensor * in7 = ggml_compiler_build_param(B, 7); // f32 [1, 16, 10] + ggml_tensor * in8 = ggml_compiler_build_param(B, 8); // f32 [1, 8, 192, 128] + ggml_tensor * in9 = ggml_compiler_build_param(B, 9); // f32 [1, 8, 192, 128] + ggml_tensor * in10 = ggml_compiler_build_param(B, 10); // f32 [1, 8, 192, 128] + ggml_tensor * in11 = ggml_compiler_build_param(B, 11); // f32 [1, 8, 192, 128] + ggml_tensor * in12 = ggml_compiler_build_param(B, 12); // f32 [1, 8, 192, 128] + ggml_tensor * in13 = ggml_compiler_build_param(B, 13); // f32 [1, 8, 192, 128] + ggml_tensor * in14 = ggml_compiler_build_param(B, 14); // f32 [1, 8, 192, 128] + ggml_tensor * in15 = ggml_compiler_build_param(B, 15); // f32 [1, 8, 192, 128] + ggml_tensor * in16 = ggml_compiler_build_param(B, 16); // f32 [1, 8, 192, 128] + ggml_tensor * in17 = ggml_compiler_build_param(B, 17); // f32 [1, 8, 192, 128] + ggml_tensor * in18 = ggml_compiler_build_param(B, 18); // f32 [1, 8, 192, 128] + ggml_tensor * in19 = ggml_compiler_build_param(B, 19); // f32 [1, 8, 192, 128] + ggml_tensor * in20 = ggml_compiler_build_param(B, 20); // f32 [1, 8, 192, 128] + ggml_tensor * in21 = ggml_compiler_build_param(B, 21); // f32 [1, 8, 192, 128] + ggml_tensor * in22 = ggml_compiler_build_param(B, 22); // f32 [1, 8, 192, 128] + ggml_tensor * in23 = ggml_compiler_build_param(B, 23); // f32 [1, 8, 192, 128] + ggml_tensor * in24 = ggml_compiler_build_param(B, 24); // f32 [1, 8, 192, 128] + ggml_tensor * in25 = ggml_compiler_build_param(B, 25); // f32 [1, 8, 192, 128] + ggml_tensor * in26 = ggml_compiler_build_param(B, 26); // f32 [1, 8, 192, 128] + ggml_tensor * in27 = ggml_compiler_build_param(B, 27); // f32 [1, 8, 192, 128] + ggml_tensor * in28 = ggml_compiler_build_param(B, 28); // f32 [1, 8, 192, 128] + ggml_tensor * in29 = ggml_compiler_build_param(B, 29); // f32 [1, 8, 192, 128] + ggml_tensor * in30 = ggml_compiler_build_param(B, 30); // f32 [1, 8, 192, 128] + ggml_tensor * in31 = ggml_compiler_build_param(B, 31); // f32 [1, 8, 192, 128] + ggml_tensor * in32 = ggml_compiler_build_param(B, 32); // f32 [1, 8, 192, 128] + ggml_tensor * in33 = ggml_compiler_build_param(B, 33); // f32 [1, 8, 192, 128] + ggml_tensor * in34 = ggml_compiler_build_param(B, 34); // f32 [1, 8, 192, 128] + ggml_tensor * in35 = ggml_compiler_build_param(B, 35); // f32 [1, 8, 192, 128] + ggml_tensor * in36 = ggml_compiler_build_param(B, 36); // f32 [1, 8, 192, 128] + ggml_tensor * in37 = ggml_compiler_build_param(B, 37); // f32 [1, 8, 192, 128] + ggml_tensor * in38 = ggml_compiler_build_param(B, 38); // f32 [1, 8, 192, 128] + ggml_tensor * in39 = ggml_compiler_build_param(B, 39); // f32 [1, 8, 192, 128] + ggml_tensor * in40 = ggml_compiler_build_param(B, 40); // f32 [1, 8, 192, 128] + ggml_tensor * in41 = ggml_compiler_build_param(B, 41); // f32 [1, 8, 192, 128] + ggml_tensor * in42 = ggml_compiler_build_param(B, 42); // f32 [1, 8, 192, 128] + ggml_tensor * in43 = ggml_compiler_build_param(B, 43); // f32 [1, 8, 192, 128] + ggml_tensor * in44 = ggml_compiler_build_param(B, 44); // f32 [1, 8, 192, 128] + ggml_tensor * in45 = ggml_compiler_build_param(B, 45); // f32 [1, 8, 192, 128] + ggml_tensor * in46 = ggml_compiler_build_param(B, 46); // f32 [1, 8, 192, 128] + ggml_tensor * in47 = ggml_compiler_build_param(B, 47); // f32 [1, 8, 192, 128] + ggml_tensor * in48 = ggml_compiler_build_param(B, 48); // f32 [1, 8, 192, 128] + ggml_tensor * in49 = ggml_compiler_build_param(B, 49); // f32 [1, 8, 192, 128] + ggml_tensor * in50 = ggml_compiler_build_param(B, 50); // f32 [1, 8, 192, 128] + ggml_tensor * in51 = ggml_compiler_build_param(B, 51); // f32 [1, 8, 192, 128] + ggml_tensor * in52 = ggml_compiler_build_param(B, 52); // f32 [1, 8, 192, 128] + ggml_tensor * in53 = ggml_compiler_build_param(B, 53); // f32 [1, 8, 192, 128] + ggml_tensor * in54 = ggml_compiler_build_param(B, 54); // f32 [1, 8, 192, 128] + ggml_tensor * in55 = ggml_compiler_build_param(B, 55); // f32 [1, 8, 192, 128] + ggml_tensor * in56 = ggml_compiler_build_param(B, 56); // f32 [1, 8, 192, 128] + ggml_tensor * in57 = ggml_compiler_build_param(B, 57); // f32 [1, 8, 192, 128] + ggml_tensor * in58 = ggml_compiler_build_param(B, 58); // f32 [1, 8, 192, 128] + ggml_tensor * in59 = ggml_compiler_build_param(B, 59); // f32 [1, 8, 192, 128] + ggml_tensor * in60 = ggml_compiler_build_param(B, 60); // f32 [1, 8, 192, 128] + ggml_tensor * in61 = ggml_compiler_build_param(B, 61); // f32 [1, 8, 192, 128] + ggml_tensor * in62 = ggml_compiler_build_param(B, 62); // f32 [1, 8, 192, 128] + ggml_tensor * in63 = ggml_compiler_build_param(B, 63); // f32 [1, 8, 192, 128] + ggml_tensor * in64 = ggml_compiler_build_param(B, 64); // f32 [1, 1, 266, 458] + ggml_tensor * in65 = ggml_compiler_build_param(B, 65); // f32 [1, 266, 128] + ggml_tensor * in66 = ggml_compiler_build_param(B, 66); // f32 [1, 266, 128] + ggml_tensor * in67 = ggml_compiler_build_param(B, 67); // f32 [1] + ggml_tensor * in68 = ggml_compiler_build_param(B, 68); // f32 [1] + ggml_tensor * in69 = ggml_compiler_build_param(B, 69); // f32 [1] + ggml_tensor * in70 = ggml_compiler_build_param(B, 70); // f32 [1] + ggml_tensor * in71 = ggml_compiler_build_param(B, 71); // f32 [1] + ggml_tensor * in72 = ggml_compiler_build_param(B, 72); // f32 [1] + ggml_tensor * in73 = ggml_compiler_build_param(B, 73); // f32 [1] + ggml_tensor * in74 = ggml_compiler_build_param(B, 74); // f32 [1] + ggml_tensor * in75 = ggml_compiler_build_param(B, 75); // f32 [1] + ggml_tensor * in76 = ggml_compiler_build_param(B, 76); // f32 [1] + + // Weights and constants, by GGUF name + ggml_tensor * const_21 = ggml_compiler_build_weight(B, "c.21"); + ggml_tensor * net_time_embedder_linear_1_weight = ggml_compiler_build_weight(B, "w.330"); + ggml_tensor * net_time_embedder_linear_1_bias = ggml_compiler_build_weight(B, "w.331"); + ggml_tensor * net_time_embedder_linear_2_weight = ggml_compiler_build_weight(B, "w.332"); + ggml_tensor * net_time_embedder_linear_2_bias = ggml_compiler_build_weight(B, "w.333"); + ggml_tensor * net_vae2llm_weight = ggml_compiler_build_weight(B, "w.334"); + ggml_tensor * net_vae2llm_bias = ggml_compiler_build_weight(B, "w.335"); + ggml_tensor * const_22 = ggml_compiler_build_weight(B, "c.22"); + ggml_tensor * a2l_weight = ggml_compiler_build_weight(B, "w.336"); + ggml_tensor * a2l_bias = ggml_compiler_build_weight(B, "w.337"); + ggml_tensor * net_action_modality_embed_weight = ggml_compiler_build_weight(B, "w.338"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.339"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.340"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.341"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.342"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.343"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.344"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.345"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.346"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.347"); + ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.348"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.349"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.350"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.351"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.352"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.353"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.354"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.355"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.356"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.357"); + ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.358"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.359"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.360"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.361"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.362"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.363"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.364"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.365"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.366"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.367"); + ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.368"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.369"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.370"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.371"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.372"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.373"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.374"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.375"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.376"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.377"); + ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.378"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.379"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.380"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.381"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.382"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.383"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.384"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.385"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.386"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.387"); + ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.388"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.389"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.390"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.391"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.392"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.393"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.394"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.395"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.396"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.397"); + ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.398"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.399"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.400"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.401"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.402"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.403"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.404"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.405"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.406"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.407"); + ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.408"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.409"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.410"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.411"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.412"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.413"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.414"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.415"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.416"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.417"); + ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.418"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.419"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.420"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.421"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.422"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.423"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.424"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.425"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.426"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.427"); + ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.428"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.429"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.430"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.431"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.432"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.433"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.434"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.435"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.436"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.437"); + ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.438"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.439"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.440"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.441"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.442"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.443"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.444"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.445"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.446"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.447"); + ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.448"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.449"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.450"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.451"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.452"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.453"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.454"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.455"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.456"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.457"); + ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.458"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.459"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.460"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.461"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.462"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.463"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.464"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.465"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.466"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.467"); + ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.468"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.469"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.470"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.471"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.472"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.473"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.474"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.475"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.476"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.477"); + ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.478"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.479"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.480"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.481"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.482"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.483"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.484"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.485"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.486"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.487"); + ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.488"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.489"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.490"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.491"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.492"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.493"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.494"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.495"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.496"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.497"); + ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.498"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.499"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.500"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.501"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.502"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.503"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.504"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.505"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.506"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.507"); + ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.508"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.509"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.510"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.511"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.512"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.513"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.514"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.515"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.516"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.517"); + ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.518"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.519"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.520"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.521"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.522"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.523"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.524"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.525"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.526"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.527"); + ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.528"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.529"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.530"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.531"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.532"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.533"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.534"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.535"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.536"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.537"); + ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.538"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.539"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.540"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.541"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.542"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.543"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.544"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.545"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.546"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.547"); + ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.548"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.549"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.550"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.551"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.552"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.553"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.554"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.555"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.556"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.557"); + ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.558"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.559"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.560"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.561"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.562"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.563"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.564"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.565"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.566"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.567"); + ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.568"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.569"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.570"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.571"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.572"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.573"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.574"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.575"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.576"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.577"); + ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.578"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.579"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.580"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.581"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.582"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.583"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.584"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.585"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.586"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.587"); + ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.588"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.589"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.590"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.591"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.592"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.593"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.594"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.595"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.596"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.597"); + ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.598"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.599"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.600"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.601"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.602"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.603"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.604"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.605"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.606"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.607"); + ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.608"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.609"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.610"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.611"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.612"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.613"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.614"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.615"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.616"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.617"); + ggml_tensor * net_mot_backbone_model_language_model_layers_27_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.618"); + ggml_tensor * net_mot_backbone_model_language_model_norm_gen_weight = ggml_compiler_build_weight(B, "w.619"); + ggml_tensor * net_llm2vae_weight = ggml_compiler_build_weight(B, "w.620"); + ggml_tensor * net_llm2vae_bias = ggml_compiler_build_weight(B, "w.621"); + ggml_tensor * l2a_weight = ggml_compiler_build_weight(B, "w.622"); + ggml_tensor * l2a_bias = ggml_compiler_build_weight(B, "w.623"); + + // Graph + ggml_tensor * t0 = ggml_compiler::ops::scale(ctx, in67, 0.00100000005f, 0.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1 = ggml_compiler::ops::reshape(ctx, t0, 1, 1, 1, 1); // reshape net.time_proj modeling_cosmos3.py:1334 in forward + ggml_tensor * t2 = ggml_mul(ctx, const_21, t1); // mul net.time_proj modeling_cosmos3.py:1334 in forward + ggml_tensor * t3 = ggml_cos(ctx, t2); // cos net.time_proj modeling_cosmos3.py:1335 in forward + ggml_tensor * t4 = ggml_sin(ctx, t2); // sin net.time_proj modeling_cosmos3.py:1335 in forward + ggml_tensor * t5 = ggml_concat(ctx, t3, t4, 0); // concat net.time_proj modeling_cosmos3.py:1335 in forward + ggml_tensor * t6 = ggml_mul_mat(ctx, net_time_embedder_linear_1_weight, t5); // mul_mat net.time_embedder.linear_1 linear.py:134 in forward + ggml_tensor * t7 = ggml_add(ctx, t6, net_time_embedder_linear_1_bias); // add net.time_embedder.linear_1 linear.py:134 in forward + ggml_tensor * t8 = ggml_silu(ctx, t7); // silu net.time_embedder.act activation.py:475 in forward + ggml_tensor * t9 = ggml_mul_mat(ctx, net_time_embedder_linear_2_weight, t8); // mul_mat net.time_embedder.linear_2 linear.py:134 in forward + ggml_tensor * t10 = ggml_add(ctx, t9, net_time_embedder_linear_2_bias); // add net.time_embedder.linear_2 linear.py:134 in forward + ggml_tensor * t11 = ggml_compiler::ops::reshape(ctx, in0, 192, 250, 1, 1); // reshape net.vae2llm linear.py:134 in forward + ggml_tensor * t12 = ggml_mul_mat(ctx, net_vae2llm_weight, t11); // mul_mat net.vae2llm linear.py:134 in forward + ggml_tensor * t13 = ggml_compiler::ops::reshape(ctx, t12, 2048, 250, 1, 1); // reshape net.vae2llm linear.py:134 in forward + ggml_tensor * t14 = ggml_add(ctx, t13, net_vae2llm_bias); // add net.vae2llm linear.py:134 in forward + ggml_tensor * t15 = ggml_compiler::ops::reshape(ctx, t10, 2048, 1, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t16 = ggml_repeat_4d(ctx, t15, 2048, 250, 1, 1); // repeat torch_export.py:54 in forward + ggml_tensor * t17 = ggml_mul(ctx, t16, const_22); // mul torch_export.py:54 in forward + ggml_tensor * t18 = ggml_add(ctx, t14, t17); // add torch_export.py:54 in forward + ggml_tensor * t19 = ggml_compiler::ops::reshape(ctx, in1, 10, 16, 1, 1); // reshape a2l linear.py:134 in forward + ggml_tensor * t20 = ggml_mul_mat(ctx, a2l_weight, t19); // mul_mat a2l linear.py:134 in forward + ggml_tensor * t21 = ggml_compiler::ops::reshape(ctx, t20, 2048, 16, 1, 1); // reshape a2l linear.py:134 in forward + ggml_tensor * t22 = ggml_add(ctx, t21, a2l_bias); // add a2l linear.py:134 in forward + ggml_tensor * t23 = ggml_add(ctx, t22, net_action_modality_embed_weight); // add torch_export.py:54 in forward + ggml_tensor * t24 = ggml_add(ctx, t23, t15); // add torch_export.py:54 in forward + ggml_tensor * t25 = ggml_concat(ctx, t18, t24, 1); // concat torch_export.py:54 in forward + ggml_tensor * t26 = ggml_rms_norm(ctx, t25, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t27 = ggml_mul(ctx, t26, net_mot_backbone_model_language_model_layers_0_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t28 = ggml_compiler::ops::reshape(ctx, t27, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t29 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_gen_weight, t28); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t30 = ggml_compiler::ops::reshape(ctx, t29, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t31 = ggml_rms_norm(ctx, t30, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t32 = ggml_mul(ctx, t31, net_mot_backbone_model_language_model_layers_0_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t33 = ggml_permute(ctx, t32, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t34 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_gen_weight, t28); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t35 = ggml_compiler::ops::reshape(ctx, t34, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t36 = ggml_rms_norm(ctx, t35, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t37 = ggml_mul(ctx, t36, net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t38 = ggml_permute(ctx, t37, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t39 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_gen_weight, t28); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t40 = ggml_compiler::ops::reshape(ctx, t39, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t41 = ggml_permute(ctx, t40, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t42 = ggml_compiler::ops::reshape(ctx, in65, 128, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t43 = ggml_cont(ctx, t33); // cont torch_export.py:54 in forward + ggml_tensor * t44 = ggml_mul(ctx, t43, t42); // mul torch_export.py:54 in forward + ggml_tensor * t45 = ggml_compiler::ops::slice(ctx, t33, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t46 = ggml_cont(ctx, t45); // cont torch_export.py:54 in forward + ggml_tensor * t47 = ggml_neg(ctx, t46); // neg torch_export.py:54 in forward + ggml_tensor * t48 = ggml_compiler::ops::slice(ctx, t33, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t49 = ggml_cont(ctx, t48); // cont torch_export.py:54 in forward + ggml_tensor * t50 = ggml_concat(ctx, t47, t49, 0); // concat torch_export.py:54 in forward + ggml_tensor * t51 = ggml_compiler::ops::reshape(ctx, in66, 128, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t52 = ggml_mul(ctx, t50, t51); // mul torch_export.py:54 in forward + ggml_tensor * t53 = ggml_add(ctx, t44, t52); // add torch_export.py:54 in forward + ggml_tensor * t54 = ggml_cont(ctx, t38); // cont torch_export.py:54 in forward + ggml_tensor * t55 = ggml_mul(ctx, t54, t42); // mul torch_export.py:54 in forward + ggml_tensor * t56 = ggml_compiler::ops::slice(ctx, t38, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t57 = ggml_cont(ctx, t56); // cont torch_export.py:54 in forward + ggml_tensor * t58 = ggml_neg(ctx, t57); // neg torch_export.py:54 in forward + ggml_tensor * t59 = ggml_compiler::ops::slice(ctx, t38, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t60 = ggml_cont(ctx, t59); // cont torch_export.py:54 in forward + ggml_tensor * t61 = ggml_concat(ctx, t58, t60, 0); // concat torch_export.py:54 in forward + ggml_tensor * t62 = ggml_mul(ctx, t61, t51); // mul torch_export.py:54 in forward + ggml_tensor * t63 = ggml_add(ctx, t55, t62); // add torch_export.py:54 in forward + ggml_tensor * t64 = ggml_concat(ctx, in8, t63, 1); // concat torch_export.py:54 in forward + ggml_tensor * t65 = ggml_cont(ctx, t41); // cont torch_export.py:54 in forward + ggml_tensor * t66 = ggml_concat(ctx, in9, t65, 1); // concat torch_export.py:54 in forward + ggml_tensor * t67 = ggml_compiler::ops::mul_mat(ctx, t64, t53, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t68 = ggml_soft_max_ext(ctx, t67, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t69 = ggml_permute(ctx, t66, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t70 = ggml_cont(ctx, t69); // cont torch_export.py:54 in forward + ggml_tensor * t71 = ggml_compiler::ops::mul_mat(ctx, t70, t68, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t72 = ggml_permute(ctx, t71, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t73 = ggml_cont(ctx, t72); // cont torch_export.py:54 in forward + ggml_tensor * t74 = ggml_compiler::ops::reshape(ctx, t73, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t75 = ggml_compiler::ops::reshape(ctx, t74, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t76 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_gen_weight, t75); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t77 = ggml_compiler::ops::reshape(ctx, t76, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t78 = ggml_add(ctx, t25, t77); // add torch_export.py:54 in forward + ggml_tensor * t79 = ggml_rms_norm(ctx, t78, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t80 = ggml_mul(ctx, t79, net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t81 = ggml_compiler::ops::reshape(ctx, t80, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t82 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_gen_up_proj_weight, t81); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t83 = ggml_compiler::ops::reshape(ctx, t82, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t84 = ggml_relu(ctx, t83); // relu net.mot_backbone.model.language_model.layers.0.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t85 = ggml_sqr(ctx, t84); // sqr net.mot_backbone.model.language_model.layers.0.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t86 = ggml_compiler::ops::reshape(ctx, t85, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t87 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_gen_down_proj_weight, t86); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t88 = ggml_compiler::ops::reshape(ctx, t87, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t89 = ggml_add(ctx, t78, t88); // add torch_export.py:54 in forward + ggml_tensor * t90 = ggml_rms_norm(ctx, t89, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t91 = ggml_mul(ctx, t90, net_mot_backbone_model_language_model_layers_1_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t92 = ggml_compiler::ops::reshape(ctx, t91, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t93 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_gen_weight, t92); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t94 = ggml_compiler::ops::reshape(ctx, t93, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t95 = ggml_rms_norm(ctx, t94, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t96 = ggml_mul(ctx, t95, net_mot_backbone_model_language_model_layers_1_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t97 = ggml_permute(ctx, t96, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t98 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_gen_weight, t92); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t99 = ggml_compiler::ops::reshape(ctx, t98, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t100 = ggml_rms_norm(ctx, t99, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t101 = ggml_mul(ctx, t100, net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t102 = ggml_permute(ctx, t101, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t103 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_gen_weight, t92); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t104 = ggml_compiler::ops::reshape(ctx, t103, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t105 = ggml_permute(ctx, t104, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t106 = ggml_cont(ctx, t97); // cont torch_export.py:54 in forward + ggml_tensor * t107 = ggml_mul(ctx, t106, t42); // mul torch_export.py:54 in forward + ggml_tensor * t108 = ggml_compiler::ops::slice(ctx, t97, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t109 = ggml_cont(ctx, t108); // cont torch_export.py:54 in forward + ggml_tensor * t110 = ggml_neg(ctx, t109); // neg torch_export.py:54 in forward + ggml_tensor * t111 = ggml_compiler::ops::slice(ctx, t97, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t112 = ggml_cont(ctx, t111); // cont torch_export.py:54 in forward + ggml_tensor * t113 = ggml_concat(ctx, t110, t112, 0); // concat torch_export.py:54 in forward + ggml_tensor * t114 = ggml_mul(ctx, t113, t51); // mul torch_export.py:54 in forward + ggml_tensor * t115 = ggml_add(ctx, t107, t114); // add torch_export.py:54 in forward + ggml_tensor * t116 = ggml_cont(ctx, t102); // cont torch_export.py:54 in forward + ggml_tensor * t117 = ggml_mul(ctx, t116, t42); // mul torch_export.py:54 in forward + ggml_tensor * t118 = ggml_compiler::ops::slice(ctx, t102, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t119 = ggml_cont(ctx, t118); // cont torch_export.py:54 in forward + ggml_tensor * t120 = ggml_neg(ctx, t119); // neg torch_export.py:54 in forward + ggml_tensor * t121 = ggml_compiler::ops::slice(ctx, t102, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t122 = ggml_cont(ctx, t121); // cont torch_export.py:54 in forward + ggml_tensor * t123 = ggml_concat(ctx, t120, t122, 0); // concat torch_export.py:54 in forward + ggml_tensor * t124 = ggml_mul(ctx, t123, t51); // mul torch_export.py:54 in forward + ggml_tensor * t125 = ggml_add(ctx, t117, t124); // add torch_export.py:54 in forward + ggml_tensor * t126 = ggml_concat(ctx, in10, t125, 1); // concat torch_export.py:54 in forward + ggml_tensor * t127 = ggml_cont(ctx, t105); // cont torch_export.py:54 in forward + ggml_tensor * t128 = ggml_concat(ctx, in11, t127, 1); // concat torch_export.py:54 in forward + ggml_tensor * t129 = ggml_compiler::ops::mul_mat(ctx, t126, t115, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t130 = ggml_soft_max_ext(ctx, t129, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t131 = ggml_permute(ctx, t128, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t132 = ggml_cont(ctx, t131); // cont torch_export.py:54 in forward + ggml_tensor * t133 = ggml_compiler::ops::mul_mat(ctx, t132, t130, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t134 = ggml_permute(ctx, t133, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t135 = ggml_cont(ctx, t134); // cont torch_export.py:54 in forward + ggml_tensor * t136 = ggml_compiler::ops::reshape(ctx, t135, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t137 = ggml_compiler::ops::reshape(ctx, t136, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t138 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_gen_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t139 = ggml_compiler::ops::reshape(ctx, t138, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t140 = ggml_add(ctx, t89, t139); // add torch_export.py:54 in forward + ggml_tensor * t141 = ggml_rms_norm(ctx, t140, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t142 = ggml_mul(ctx, t141, net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t143 = ggml_compiler::ops::reshape(ctx, t142, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t144 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_gen_up_proj_weight, t143); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t145 = ggml_compiler::ops::reshape(ctx, t144, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t146 = ggml_relu(ctx, t145); // relu net.mot_backbone.model.language_model.layers.1.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t147 = ggml_sqr(ctx, t146); // sqr net.mot_backbone.model.language_model.layers.1.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t148 = ggml_compiler::ops::reshape(ctx, t147, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t149 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_gen_down_proj_weight, t148); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t150 = ggml_compiler::ops::reshape(ctx, t149, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t151 = ggml_add(ctx, t140, t150); // add torch_export.py:54 in forward + ggml_tensor * t152 = ggml_rms_norm(ctx, t151, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t153 = ggml_mul(ctx, t152, net_mot_backbone_model_language_model_layers_2_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t154 = ggml_compiler::ops::reshape(ctx, t153, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t155 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_gen_weight, t154); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t156 = ggml_compiler::ops::reshape(ctx, t155, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t157 = ggml_rms_norm(ctx, t156, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t158 = ggml_mul(ctx, t157, net_mot_backbone_model_language_model_layers_2_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t159 = ggml_permute(ctx, t158, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t160 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_gen_weight, t154); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t161 = ggml_compiler::ops::reshape(ctx, t160, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t162 = ggml_rms_norm(ctx, t161, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t163 = ggml_mul(ctx, t162, net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t164 = ggml_permute(ctx, t163, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t165 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_gen_weight, t154); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t166 = ggml_compiler::ops::reshape(ctx, t165, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t167 = ggml_permute(ctx, t166, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t168 = ggml_cont(ctx, t159); // cont torch_export.py:54 in forward + ggml_tensor * t169 = ggml_mul(ctx, t168, t42); // mul torch_export.py:54 in forward + ggml_tensor * t170 = ggml_compiler::ops::slice(ctx, t159, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t171 = ggml_cont(ctx, t170); // cont torch_export.py:54 in forward + ggml_tensor * t172 = ggml_neg(ctx, t171); // neg torch_export.py:54 in forward + ggml_tensor * t173 = ggml_compiler::ops::slice(ctx, t159, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t174 = ggml_cont(ctx, t173); // cont torch_export.py:54 in forward + ggml_tensor * t175 = ggml_concat(ctx, t172, t174, 0); // concat torch_export.py:54 in forward + ggml_tensor * t176 = ggml_mul(ctx, t175, t51); // mul torch_export.py:54 in forward + ggml_tensor * t177 = ggml_add(ctx, t169, t176); // add torch_export.py:54 in forward + ggml_tensor * t178 = ggml_cont(ctx, t164); // cont torch_export.py:54 in forward + ggml_tensor * t179 = ggml_mul(ctx, t178, t42); // mul torch_export.py:54 in forward + ggml_tensor * t180 = ggml_compiler::ops::slice(ctx, t164, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t181 = ggml_cont(ctx, t180); // cont torch_export.py:54 in forward + ggml_tensor * t182 = ggml_neg(ctx, t181); // neg torch_export.py:54 in forward + ggml_tensor * t183 = ggml_compiler::ops::slice(ctx, t164, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t184 = ggml_cont(ctx, t183); // cont torch_export.py:54 in forward + ggml_tensor * t185 = ggml_concat(ctx, t182, t184, 0); // concat torch_export.py:54 in forward + ggml_tensor * t186 = ggml_mul(ctx, t185, t51); // mul torch_export.py:54 in forward + ggml_tensor * t187 = ggml_add(ctx, t179, t186); // add torch_export.py:54 in forward + ggml_tensor * t188 = ggml_concat(ctx, in12, t187, 1); // concat torch_export.py:54 in forward + ggml_tensor * t189 = ggml_cont(ctx, t167); // cont torch_export.py:54 in forward + ggml_tensor * t190 = ggml_concat(ctx, in13, t189, 1); // concat torch_export.py:54 in forward + ggml_tensor * t191 = ggml_compiler::ops::mul_mat(ctx, t188, t177, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t192 = ggml_soft_max_ext(ctx, t191, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t193 = ggml_permute(ctx, t190, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t194 = ggml_cont(ctx, t193); // cont torch_export.py:54 in forward + ggml_tensor * t195 = ggml_compiler::ops::mul_mat(ctx, t194, t192, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t196 = ggml_permute(ctx, t195, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t197 = ggml_cont(ctx, t196); // cont torch_export.py:54 in forward + ggml_tensor * t198 = ggml_compiler::ops::reshape(ctx, t197, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t199 = ggml_compiler::ops::reshape(ctx, t198, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t200 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_gen_weight, t199); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t201 = ggml_compiler::ops::reshape(ctx, t200, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t202 = ggml_add(ctx, t151, t201); // add torch_export.py:54 in forward + ggml_tensor * t203 = ggml_rms_norm(ctx, t202, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t204 = ggml_mul(ctx, t203, net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t205 = ggml_compiler::ops::reshape(ctx, t204, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t206 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_gen_up_proj_weight, t205); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t207 = ggml_compiler::ops::reshape(ctx, t206, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t208 = ggml_relu(ctx, t207); // relu net.mot_backbone.model.language_model.layers.2.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t209 = ggml_sqr(ctx, t208); // sqr net.mot_backbone.model.language_model.layers.2.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t210 = ggml_compiler::ops::reshape(ctx, t209, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t211 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_gen_down_proj_weight, t210); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t212 = ggml_compiler::ops::reshape(ctx, t211, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t213 = ggml_add(ctx, t202, t212); // add torch_export.py:54 in forward + ggml_tensor * t214 = ggml_rms_norm(ctx, t213, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t215 = ggml_mul(ctx, t214, net_mot_backbone_model_language_model_layers_3_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t216 = ggml_compiler::ops::reshape(ctx, t215, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t217 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_gen_weight, t216); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t218 = ggml_compiler::ops::reshape(ctx, t217, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t219 = ggml_rms_norm(ctx, t218, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t220 = ggml_mul(ctx, t219, net_mot_backbone_model_language_model_layers_3_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t221 = ggml_permute(ctx, t220, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t222 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_gen_weight, t216); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t223 = ggml_compiler::ops::reshape(ctx, t222, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t224 = ggml_rms_norm(ctx, t223, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t225 = ggml_mul(ctx, t224, net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t226 = ggml_permute(ctx, t225, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t227 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_gen_weight, t216); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t228 = ggml_compiler::ops::reshape(ctx, t227, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t229 = ggml_permute(ctx, t228, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t230 = ggml_cont(ctx, t221); // cont torch_export.py:54 in forward + ggml_tensor * t231 = ggml_mul(ctx, t230, t42); // mul torch_export.py:54 in forward + ggml_tensor * t232 = ggml_compiler::ops::slice(ctx, t221, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t233 = ggml_cont(ctx, t232); // cont torch_export.py:54 in forward + ggml_tensor * t234 = ggml_neg(ctx, t233); // neg torch_export.py:54 in forward + ggml_tensor * t235 = ggml_compiler::ops::slice(ctx, t221, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t236 = ggml_cont(ctx, t235); // cont torch_export.py:54 in forward + ggml_tensor * t237 = ggml_concat(ctx, t234, t236, 0); // concat torch_export.py:54 in forward + ggml_tensor * t238 = ggml_mul(ctx, t237, t51); // mul torch_export.py:54 in forward + ggml_tensor * t239 = ggml_add(ctx, t231, t238); // add torch_export.py:54 in forward + ggml_tensor * t240 = ggml_cont(ctx, t226); // cont torch_export.py:54 in forward + ggml_tensor * t241 = ggml_mul(ctx, t240, t42); // mul torch_export.py:54 in forward + ggml_tensor * t242 = ggml_compiler::ops::slice(ctx, t226, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t243 = ggml_cont(ctx, t242); // cont torch_export.py:54 in forward + ggml_tensor * t244 = ggml_neg(ctx, t243); // neg torch_export.py:54 in forward + ggml_tensor * t245 = ggml_compiler::ops::slice(ctx, t226, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t246 = ggml_cont(ctx, t245); // cont torch_export.py:54 in forward + ggml_tensor * t247 = ggml_concat(ctx, t244, t246, 0); // concat torch_export.py:54 in forward + ggml_tensor * t248 = ggml_mul(ctx, t247, t51); // mul torch_export.py:54 in forward + ggml_tensor * t249 = ggml_add(ctx, t241, t248); // add torch_export.py:54 in forward + ggml_tensor * t250 = ggml_concat(ctx, in14, t249, 1); // concat torch_export.py:54 in forward + ggml_tensor * t251 = ggml_cont(ctx, t229); // cont torch_export.py:54 in forward + ggml_tensor * t252 = ggml_concat(ctx, in15, t251, 1); // concat torch_export.py:54 in forward + ggml_tensor * t253 = ggml_compiler::ops::mul_mat(ctx, t250, t239, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t254 = ggml_soft_max_ext(ctx, t253, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t255 = ggml_permute(ctx, t252, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t256 = ggml_cont(ctx, t255); // cont torch_export.py:54 in forward + ggml_tensor * t257 = ggml_compiler::ops::mul_mat(ctx, t256, t254, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t258 = ggml_permute(ctx, t257, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t259 = ggml_cont(ctx, t258); // cont torch_export.py:54 in forward + ggml_tensor * t260 = ggml_compiler::ops::reshape(ctx, t259, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t261 = ggml_compiler::ops::reshape(ctx, t260, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t262 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_gen_weight, t261); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t263 = ggml_compiler::ops::reshape(ctx, t262, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t264 = ggml_add(ctx, t213, t263); // add torch_export.py:54 in forward + ggml_tensor * t265 = ggml_rms_norm(ctx, t264, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t266 = ggml_mul(ctx, t265, net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t267 = ggml_compiler::ops::reshape(ctx, t266, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t268 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_gen_up_proj_weight, t267); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t269 = ggml_compiler::ops::reshape(ctx, t268, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t270 = ggml_relu(ctx, t269); // relu net.mot_backbone.model.language_model.layers.3.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t271 = ggml_sqr(ctx, t270); // sqr net.mot_backbone.model.language_model.layers.3.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t272 = ggml_compiler::ops::reshape(ctx, t271, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t273 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_gen_down_proj_weight, t272); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t274 = ggml_compiler::ops::reshape(ctx, t273, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t275 = ggml_add(ctx, t264, t274); // add torch_export.py:54 in forward + ggml_tensor * t276 = ggml_rms_norm(ctx, t275, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t277 = ggml_mul(ctx, t276, net_mot_backbone_model_language_model_layers_4_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t278 = ggml_compiler::ops::reshape(ctx, t277, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t279 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_gen_weight, t278); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t280 = ggml_compiler::ops::reshape(ctx, t279, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t281 = ggml_rms_norm(ctx, t280, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t282 = ggml_mul(ctx, t281, net_mot_backbone_model_language_model_layers_4_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t283 = ggml_permute(ctx, t282, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t284 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_gen_weight, t278); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t285 = ggml_compiler::ops::reshape(ctx, t284, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t286 = ggml_rms_norm(ctx, t285, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t287 = ggml_mul(ctx, t286, net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t288 = ggml_permute(ctx, t287, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t289 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_gen_weight, t278); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t290 = ggml_compiler::ops::reshape(ctx, t289, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t291 = ggml_permute(ctx, t290, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t292 = ggml_cont(ctx, t283); // cont torch_export.py:54 in forward + ggml_tensor * t293 = ggml_mul(ctx, t292, t42); // mul torch_export.py:54 in forward + ggml_tensor * t294 = ggml_compiler::ops::slice(ctx, t283, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t295 = ggml_cont(ctx, t294); // cont torch_export.py:54 in forward + ggml_tensor * t296 = ggml_neg(ctx, t295); // neg torch_export.py:54 in forward + ggml_tensor * t297 = ggml_compiler::ops::slice(ctx, t283, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t298 = ggml_cont(ctx, t297); // cont torch_export.py:54 in forward + ggml_tensor * t299 = ggml_concat(ctx, t296, t298, 0); // concat torch_export.py:54 in forward + ggml_tensor * t300 = ggml_mul(ctx, t299, t51); // mul torch_export.py:54 in forward + ggml_tensor * t301 = ggml_add(ctx, t293, t300); // add torch_export.py:54 in forward + ggml_tensor * t302 = ggml_cont(ctx, t288); // cont torch_export.py:54 in forward + ggml_tensor * t303 = ggml_mul(ctx, t302, t42); // mul torch_export.py:54 in forward + ggml_tensor * t304 = ggml_compiler::ops::slice(ctx, t288, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t305 = ggml_cont(ctx, t304); // cont torch_export.py:54 in forward + ggml_tensor * t306 = ggml_neg(ctx, t305); // neg torch_export.py:54 in forward + ggml_tensor * t307 = ggml_compiler::ops::slice(ctx, t288, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t308 = ggml_cont(ctx, t307); // cont torch_export.py:54 in forward + ggml_tensor * t309 = ggml_concat(ctx, t306, t308, 0); // concat torch_export.py:54 in forward + ggml_tensor * t310 = ggml_mul(ctx, t309, t51); // mul torch_export.py:54 in forward + ggml_tensor * t311 = ggml_add(ctx, t303, t310); // add torch_export.py:54 in forward + ggml_tensor * t312 = ggml_concat(ctx, in16, t311, 1); // concat torch_export.py:54 in forward + ggml_tensor * t313 = ggml_cont(ctx, t291); // cont torch_export.py:54 in forward + ggml_tensor * t314 = ggml_concat(ctx, in17, t313, 1); // concat torch_export.py:54 in forward + ggml_tensor * t315 = ggml_compiler::ops::mul_mat(ctx, t312, t301, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t316 = ggml_soft_max_ext(ctx, t315, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t317 = ggml_permute(ctx, t314, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t318 = ggml_cont(ctx, t317); // cont torch_export.py:54 in forward + ggml_tensor * t319 = ggml_compiler::ops::mul_mat(ctx, t318, t316, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t320 = ggml_permute(ctx, t319, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t321 = ggml_cont(ctx, t320); // cont torch_export.py:54 in forward + ggml_tensor * t322 = ggml_compiler::ops::reshape(ctx, t321, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t323 = ggml_compiler::ops::reshape(ctx, t322, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t324 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_gen_weight, t323); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t325 = ggml_compiler::ops::reshape(ctx, t324, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t326 = ggml_add(ctx, t275, t325); // add torch_export.py:54 in forward + ggml_tensor * t327 = ggml_rms_norm(ctx, t326, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t328 = ggml_mul(ctx, t327, net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t329 = ggml_compiler::ops::reshape(ctx, t328, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t330 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_gen_up_proj_weight, t329); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t331 = ggml_compiler::ops::reshape(ctx, t330, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t332 = ggml_relu(ctx, t331); // relu net.mot_backbone.model.language_model.layers.4.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t333 = ggml_sqr(ctx, t332); // sqr net.mot_backbone.model.language_model.layers.4.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t334 = ggml_compiler::ops::reshape(ctx, t333, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t335 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_gen_down_proj_weight, t334); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t336 = ggml_compiler::ops::reshape(ctx, t335, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t337 = ggml_add(ctx, t326, t336); // add torch_export.py:54 in forward + ggml_tensor * t338 = ggml_rms_norm(ctx, t337, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t339 = ggml_mul(ctx, t338, net_mot_backbone_model_language_model_layers_5_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t340 = ggml_compiler::ops::reshape(ctx, t339, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t341 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_gen_weight, t340); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t342 = ggml_compiler::ops::reshape(ctx, t341, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t343 = ggml_rms_norm(ctx, t342, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t344 = ggml_mul(ctx, t343, net_mot_backbone_model_language_model_layers_5_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t345 = ggml_permute(ctx, t344, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t346 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_gen_weight, t340); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t347 = ggml_compiler::ops::reshape(ctx, t346, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t348 = ggml_rms_norm(ctx, t347, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t349 = ggml_mul(ctx, t348, net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t350 = ggml_permute(ctx, t349, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t351 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_gen_weight, t340); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t352 = ggml_compiler::ops::reshape(ctx, t351, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t353 = ggml_permute(ctx, t352, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t354 = ggml_cont(ctx, t345); // cont torch_export.py:54 in forward + ggml_tensor * t355 = ggml_mul(ctx, t354, t42); // mul torch_export.py:54 in forward + ggml_tensor * t356 = ggml_compiler::ops::slice(ctx, t345, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t357 = ggml_cont(ctx, t356); // cont torch_export.py:54 in forward + ggml_tensor * t358 = ggml_neg(ctx, t357); // neg torch_export.py:54 in forward + ggml_tensor * t359 = ggml_compiler::ops::slice(ctx, t345, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t360 = ggml_cont(ctx, t359); // cont torch_export.py:54 in forward + ggml_tensor * t361 = ggml_concat(ctx, t358, t360, 0); // concat torch_export.py:54 in forward + ggml_tensor * t362 = ggml_mul(ctx, t361, t51); // mul torch_export.py:54 in forward + ggml_tensor * t363 = ggml_add(ctx, t355, t362); // add torch_export.py:54 in forward + ggml_tensor * t364 = ggml_cont(ctx, t350); // cont torch_export.py:54 in forward + ggml_tensor * t365 = ggml_mul(ctx, t364, t42); // mul torch_export.py:54 in forward + ggml_tensor * t366 = ggml_compiler::ops::slice(ctx, t350, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t367 = ggml_cont(ctx, t366); // cont torch_export.py:54 in forward + ggml_tensor * t368 = ggml_neg(ctx, t367); // neg torch_export.py:54 in forward + ggml_tensor * t369 = ggml_compiler::ops::slice(ctx, t350, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t370 = ggml_cont(ctx, t369); // cont torch_export.py:54 in forward + ggml_tensor * t371 = ggml_concat(ctx, t368, t370, 0); // concat torch_export.py:54 in forward + ggml_tensor * t372 = ggml_mul(ctx, t371, t51); // mul torch_export.py:54 in forward + ggml_tensor * t373 = ggml_add(ctx, t365, t372); // add torch_export.py:54 in forward + ggml_tensor * t374 = ggml_concat(ctx, in18, t373, 1); // concat torch_export.py:54 in forward + ggml_tensor * t375 = ggml_cont(ctx, t353); // cont torch_export.py:54 in forward + ggml_tensor * t376 = ggml_concat(ctx, in19, t375, 1); // concat torch_export.py:54 in forward + ggml_tensor * t377 = ggml_compiler::ops::mul_mat(ctx, t374, t363, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t378 = ggml_soft_max_ext(ctx, t377, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t379 = ggml_permute(ctx, t376, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t380 = ggml_cont(ctx, t379); // cont torch_export.py:54 in forward + ggml_tensor * t381 = ggml_compiler::ops::mul_mat(ctx, t380, t378, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t382 = ggml_permute(ctx, t381, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t383 = ggml_cont(ctx, t382); // cont torch_export.py:54 in forward + ggml_tensor * t384 = ggml_compiler::ops::reshape(ctx, t383, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t385 = ggml_compiler::ops::reshape(ctx, t384, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t386 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_gen_weight, t385); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t387 = ggml_compiler::ops::reshape(ctx, t386, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t388 = ggml_add(ctx, t337, t387); // add torch_export.py:54 in forward + ggml_tensor * t389 = ggml_rms_norm(ctx, t388, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t390 = ggml_mul(ctx, t389, net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t391 = ggml_compiler::ops::reshape(ctx, t390, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t392 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_gen_up_proj_weight, t391); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t393 = ggml_compiler::ops::reshape(ctx, t392, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t394 = ggml_relu(ctx, t393); // relu net.mot_backbone.model.language_model.layers.5.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t395 = ggml_sqr(ctx, t394); // sqr net.mot_backbone.model.language_model.layers.5.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t396 = ggml_compiler::ops::reshape(ctx, t395, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t397 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_gen_down_proj_weight, t396); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t398 = ggml_compiler::ops::reshape(ctx, t397, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t399 = ggml_add(ctx, t388, t398); // add torch_export.py:54 in forward + ggml_tensor * t400 = ggml_rms_norm(ctx, t399, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t401 = ggml_mul(ctx, t400, net_mot_backbone_model_language_model_layers_6_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t402 = ggml_compiler::ops::reshape(ctx, t401, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t403 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_gen_weight, t402); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t404 = ggml_compiler::ops::reshape(ctx, t403, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t405 = ggml_rms_norm(ctx, t404, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t406 = ggml_mul(ctx, t405, net_mot_backbone_model_language_model_layers_6_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t407 = ggml_permute(ctx, t406, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t408 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_gen_weight, t402); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t409 = ggml_compiler::ops::reshape(ctx, t408, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t410 = ggml_rms_norm(ctx, t409, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t411 = ggml_mul(ctx, t410, net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t412 = ggml_permute(ctx, t411, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t413 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_gen_weight, t402); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t414 = ggml_compiler::ops::reshape(ctx, t413, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t415 = ggml_permute(ctx, t414, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t416 = ggml_cont(ctx, t407); // cont torch_export.py:54 in forward + ggml_tensor * t417 = ggml_mul(ctx, t416, t42); // mul torch_export.py:54 in forward + ggml_tensor * t418 = ggml_compiler::ops::slice(ctx, t407, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t419 = ggml_cont(ctx, t418); // cont torch_export.py:54 in forward + ggml_tensor * t420 = ggml_neg(ctx, t419); // neg torch_export.py:54 in forward + ggml_tensor * t421 = ggml_compiler::ops::slice(ctx, t407, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t422 = ggml_cont(ctx, t421); // cont torch_export.py:54 in forward + ggml_tensor * t423 = ggml_concat(ctx, t420, t422, 0); // concat torch_export.py:54 in forward + ggml_tensor * t424 = ggml_mul(ctx, t423, t51); // mul torch_export.py:54 in forward + ggml_tensor * t425 = ggml_add(ctx, t417, t424); // add torch_export.py:54 in forward + ggml_tensor * t426 = ggml_cont(ctx, t412); // cont torch_export.py:54 in forward + ggml_tensor * t427 = ggml_mul(ctx, t426, t42); // mul torch_export.py:54 in forward + ggml_tensor * t428 = ggml_compiler::ops::slice(ctx, t412, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t429 = ggml_cont(ctx, t428); // cont torch_export.py:54 in forward + ggml_tensor * t430 = ggml_neg(ctx, t429); // neg torch_export.py:54 in forward + ggml_tensor * t431 = ggml_compiler::ops::slice(ctx, t412, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t432 = ggml_cont(ctx, t431); // cont torch_export.py:54 in forward + ggml_tensor * t433 = ggml_concat(ctx, t430, t432, 0); // concat torch_export.py:54 in forward + ggml_tensor * t434 = ggml_mul(ctx, t433, t51); // mul torch_export.py:54 in forward + ggml_tensor * t435 = ggml_add(ctx, t427, t434); // add torch_export.py:54 in forward + ggml_tensor * t436 = ggml_concat(ctx, in20, t435, 1); // concat torch_export.py:54 in forward + ggml_tensor * t437 = ggml_cont(ctx, t415); // cont torch_export.py:54 in forward + ggml_tensor * t438 = ggml_concat(ctx, in21, t437, 1); // concat torch_export.py:54 in forward + ggml_tensor * t439 = ggml_compiler::ops::mul_mat(ctx, t436, t425, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t440 = ggml_soft_max_ext(ctx, t439, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t441 = ggml_permute(ctx, t438, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t442 = ggml_cont(ctx, t441); // cont torch_export.py:54 in forward + ggml_tensor * t443 = ggml_compiler::ops::mul_mat(ctx, t442, t440, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t444 = ggml_permute(ctx, t443, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t445 = ggml_cont(ctx, t444); // cont torch_export.py:54 in forward + ggml_tensor * t446 = ggml_compiler::ops::reshape(ctx, t445, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t447 = ggml_compiler::ops::reshape(ctx, t446, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t448 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_gen_weight, t447); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t449 = ggml_compiler::ops::reshape(ctx, t448, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t450 = ggml_add(ctx, t399, t449); // add torch_export.py:54 in forward + ggml_tensor * t451 = ggml_rms_norm(ctx, t450, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t452 = ggml_mul(ctx, t451, net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t453 = ggml_compiler::ops::reshape(ctx, t452, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t454 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_gen_up_proj_weight, t453); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t455 = ggml_compiler::ops::reshape(ctx, t454, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t456 = ggml_relu(ctx, t455); // relu net.mot_backbone.model.language_model.layers.6.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t457 = ggml_sqr(ctx, t456); // sqr net.mot_backbone.model.language_model.layers.6.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t458 = ggml_compiler::ops::reshape(ctx, t457, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t459 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_gen_down_proj_weight, t458); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t460 = ggml_compiler::ops::reshape(ctx, t459, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t461 = ggml_add(ctx, t450, t460); // add torch_export.py:54 in forward + ggml_tensor * t462 = ggml_rms_norm(ctx, t461, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t463 = ggml_mul(ctx, t462, net_mot_backbone_model_language_model_layers_7_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t464 = ggml_compiler::ops::reshape(ctx, t463, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t465 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_gen_weight, t464); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t466 = ggml_compiler::ops::reshape(ctx, t465, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t467 = ggml_rms_norm(ctx, t466, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t468 = ggml_mul(ctx, t467, net_mot_backbone_model_language_model_layers_7_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t469 = ggml_permute(ctx, t468, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t470 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_gen_weight, t464); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t471 = ggml_compiler::ops::reshape(ctx, t470, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t472 = ggml_rms_norm(ctx, t471, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t473 = ggml_mul(ctx, t472, net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t474 = ggml_permute(ctx, t473, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t475 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_gen_weight, t464); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t476 = ggml_compiler::ops::reshape(ctx, t475, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t477 = ggml_permute(ctx, t476, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t478 = ggml_cont(ctx, t469); // cont torch_export.py:54 in forward + ggml_tensor * t479 = ggml_mul(ctx, t478, t42); // mul torch_export.py:54 in forward + ggml_tensor * t480 = ggml_compiler::ops::slice(ctx, t469, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t481 = ggml_cont(ctx, t480); // cont torch_export.py:54 in forward + ggml_tensor * t482 = ggml_neg(ctx, t481); // neg torch_export.py:54 in forward + ggml_tensor * t483 = ggml_compiler::ops::slice(ctx, t469, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t484 = ggml_cont(ctx, t483); // cont torch_export.py:54 in forward + ggml_tensor * t485 = ggml_concat(ctx, t482, t484, 0); // concat torch_export.py:54 in forward + ggml_tensor * t486 = ggml_mul(ctx, t485, t51); // mul torch_export.py:54 in forward + ggml_tensor * t487 = ggml_add(ctx, t479, t486); // add torch_export.py:54 in forward + ggml_tensor * t488 = ggml_cont(ctx, t474); // cont torch_export.py:54 in forward + ggml_tensor * t489 = ggml_mul(ctx, t488, t42); // mul torch_export.py:54 in forward + ggml_tensor * t490 = ggml_compiler::ops::slice(ctx, t474, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t491 = ggml_cont(ctx, t490); // cont torch_export.py:54 in forward + ggml_tensor * t492 = ggml_neg(ctx, t491); // neg torch_export.py:54 in forward + ggml_tensor * t493 = ggml_compiler::ops::slice(ctx, t474, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t494 = ggml_cont(ctx, t493); // cont torch_export.py:54 in forward + ggml_tensor * t495 = ggml_concat(ctx, t492, t494, 0); // concat torch_export.py:54 in forward + ggml_tensor * t496 = ggml_mul(ctx, t495, t51); // mul torch_export.py:54 in forward + ggml_tensor * t497 = ggml_add(ctx, t489, t496); // add torch_export.py:54 in forward + ggml_tensor * t498 = ggml_concat(ctx, in22, t497, 1); // concat torch_export.py:54 in forward + ggml_tensor * t499 = ggml_cont(ctx, t477); // cont torch_export.py:54 in forward + ggml_tensor * t500 = ggml_concat(ctx, in23, t499, 1); // concat torch_export.py:54 in forward + ggml_tensor * t501 = ggml_compiler::ops::mul_mat(ctx, t498, t487, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t502 = ggml_soft_max_ext(ctx, t501, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t503 = ggml_permute(ctx, t500, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t504 = ggml_cont(ctx, t503); // cont torch_export.py:54 in forward + ggml_tensor * t505 = ggml_compiler::ops::mul_mat(ctx, t504, t502, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t506 = ggml_permute(ctx, t505, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t507 = ggml_cont(ctx, t506); // cont torch_export.py:54 in forward + ggml_tensor * t508 = ggml_compiler::ops::reshape(ctx, t507, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t509 = ggml_compiler::ops::reshape(ctx, t508, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t510 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_gen_weight, t509); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t511 = ggml_compiler::ops::reshape(ctx, t510, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t512 = ggml_add(ctx, t461, t511); // add torch_export.py:54 in forward + ggml_tensor * t513 = ggml_rms_norm(ctx, t512, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t514 = ggml_mul(ctx, t513, net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t515 = ggml_compiler::ops::reshape(ctx, t514, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t516 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_gen_up_proj_weight, t515); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t517 = ggml_compiler::ops::reshape(ctx, t516, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t518 = ggml_relu(ctx, t517); // relu net.mot_backbone.model.language_model.layers.7.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t519 = ggml_sqr(ctx, t518); // sqr net.mot_backbone.model.language_model.layers.7.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t520 = ggml_compiler::ops::reshape(ctx, t519, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t521 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_gen_down_proj_weight, t520); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t522 = ggml_compiler::ops::reshape(ctx, t521, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t523 = ggml_add(ctx, t512, t522); // add torch_export.py:54 in forward + ggml_tensor * t524 = ggml_rms_norm(ctx, t523, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t525 = ggml_mul(ctx, t524, net_mot_backbone_model_language_model_layers_8_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t526 = ggml_compiler::ops::reshape(ctx, t525, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t527 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_gen_weight, t526); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t528 = ggml_compiler::ops::reshape(ctx, t527, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t529 = ggml_rms_norm(ctx, t528, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t530 = ggml_mul(ctx, t529, net_mot_backbone_model_language_model_layers_8_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t531 = ggml_permute(ctx, t530, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t532 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_gen_weight, t526); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t533 = ggml_compiler::ops::reshape(ctx, t532, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t534 = ggml_rms_norm(ctx, t533, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t535 = ggml_mul(ctx, t534, net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t536 = ggml_permute(ctx, t535, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t537 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_gen_weight, t526); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t538 = ggml_compiler::ops::reshape(ctx, t537, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t539 = ggml_permute(ctx, t538, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t540 = ggml_cont(ctx, t531); // cont torch_export.py:54 in forward + ggml_tensor * t541 = ggml_mul(ctx, t540, t42); // mul torch_export.py:54 in forward + ggml_tensor * t542 = ggml_compiler::ops::slice(ctx, t531, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t543 = ggml_cont(ctx, t542); // cont torch_export.py:54 in forward + ggml_tensor * t544 = ggml_neg(ctx, t543); // neg torch_export.py:54 in forward + ggml_tensor * t545 = ggml_compiler::ops::slice(ctx, t531, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t546 = ggml_cont(ctx, t545); // cont torch_export.py:54 in forward + ggml_tensor * t547 = ggml_concat(ctx, t544, t546, 0); // concat torch_export.py:54 in forward + ggml_tensor * t548 = ggml_mul(ctx, t547, t51); // mul torch_export.py:54 in forward + ggml_tensor * t549 = ggml_add(ctx, t541, t548); // add torch_export.py:54 in forward + ggml_tensor * t550 = ggml_cont(ctx, t536); // cont torch_export.py:54 in forward + ggml_tensor * t551 = ggml_mul(ctx, t550, t42); // mul torch_export.py:54 in forward + ggml_tensor * t552 = ggml_compiler::ops::slice(ctx, t536, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t553 = ggml_cont(ctx, t552); // cont torch_export.py:54 in forward + ggml_tensor * t554 = ggml_neg(ctx, t553); // neg torch_export.py:54 in forward + ggml_tensor * t555 = ggml_compiler::ops::slice(ctx, t536, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t556 = ggml_cont(ctx, t555); // cont torch_export.py:54 in forward + ggml_tensor * t557 = ggml_concat(ctx, t554, t556, 0); // concat torch_export.py:54 in forward + ggml_tensor * t558 = ggml_mul(ctx, t557, t51); // mul torch_export.py:54 in forward + ggml_tensor * t559 = ggml_add(ctx, t551, t558); // add torch_export.py:54 in forward + ggml_tensor * t560 = ggml_concat(ctx, in24, t559, 1); // concat torch_export.py:54 in forward + ggml_tensor * t561 = ggml_cont(ctx, t539); // cont torch_export.py:54 in forward + ggml_tensor * t562 = ggml_concat(ctx, in25, t561, 1); // concat torch_export.py:54 in forward + ggml_tensor * t563 = ggml_compiler::ops::mul_mat(ctx, t560, t549, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t564 = ggml_soft_max_ext(ctx, t563, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t565 = ggml_permute(ctx, t562, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t566 = ggml_cont(ctx, t565); // cont torch_export.py:54 in forward + ggml_tensor * t567 = ggml_compiler::ops::mul_mat(ctx, t566, t564, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t568 = ggml_permute(ctx, t567, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t569 = ggml_cont(ctx, t568); // cont torch_export.py:54 in forward + ggml_tensor * t570 = ggml_compiler::ops::reshape(ctx, t569, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t571 = ggml_compiler::ops::reshape(ctx, t570, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t572 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_gen_weight, t571); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t573 = ggml_compiler::ops::reshape(ctx, t572, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t574 = ggml_add(ctx, t523, t573); // add torch_export.py:54 in forward + ggml_tensor * t575 = ggml_rms_norm(ctx, t574, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t576 = ggml_mul(ctx, t575, net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t577 = ggml_compiler::ops::reshape(ctx, t576, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t578 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_gen_up_proj_weight, t577); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t579 = ggml_compiler::ops::reshape(ctx, t578, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t580 = ggml_relu(ctx, t579); // relu net.mot_backbone.model.language_model.layers.8.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t581 = ggml_sqr(ctx, t580); // sqr net.mot_backbone.model.language_model.layers.8.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t582 = ggml_compiler::ops::reshape(ctx, t581, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t583 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_gen_down_proj_weight, t582); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t584 = ggml_compiler::ops::reshape(ctx, t583, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t585 = ggml_add(ctx, t574, t584); // add torch_export.py:54 in forward + ggml_tensor * t586 = ggml_rms_norm(ctx, t585, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t587 = ggml_mul(ctx, t586, net_mot_backbone_model_language_model_layers_9_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t588 = ggml_compiler::ops::reshape(ctx, t587, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t589 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_gen_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t590 = ggml_compiler::ops::reshape(ctx, t589, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t591 = ggml_rms_norm(ctx, t590, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t592 = ggml_mul(ctx, t591, net_mot_backbone_model_language_model_layers_9_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t593 = ggml_permute(ctx, t592, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t594 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_gen_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t595 = ggml_compiler::ops::reshape(ctx, t594, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t596 = ggml_rms_norm(ctx, t595, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t597 = ggml_mul(ctx, t596, net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t598 = ggml_permute(ctx, t597, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t599 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_gen_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t600 = ggml_compiler::ops::reshape(ctx, t599, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t601 = ggml_permute(ctx, t600, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t602 = ggml_cont(ctx, t593); // cont torch_export.py:54 in forward + ggml_tensor * t603 = ggml_mul(ctx, t602, t42); // mul torch_export.py:54 in forward + ggml_tensor * t604 = ggml_compiler::ops::slice(ctx, t593, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t605 = ggml_cont(ctx, t604); // cont torch_export.py:54 in forward + ggml_tensor * t606 = ggml_neg(ctx, t605); // neg torch_export.py:54 in forward + ggml_tensor * t607 = ggml_compiler::ops::slice(ctx, t593, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t608 = ggml_cont(ctx, t607); // cont torch_export.py:54 in forward + ggml_tensor * t609 = ggml_concat(ctx, t606, t608, 0); // concat torch_export.py:54 in forward + ggml_tensor * t610 = ggml_mul(ctx, t609, t51); // mul torch_export.py:54 in forward + ggml_tensor * t611 = ggml_add(ctx, t603, t610); // add torch_export.py:54 in forward + ggml_tensor * t612 = ggml_cont(ctx, t598); // cont torch_export.py:54 in forward + ggml_tensor * t613 = ggml_mul(ctx, t612, t42); // mul torch_export.py:54 in forward + ggml_tensor * t614 = ggml_compiler::ops::slice(ctx, t598, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t615 = ggml_cont(ctx, t614); // cont torch_export.py:54 in forward + ggml_tensor * t616 = ggml_neg(ctx, t615); // neg torch_export.py:54 in forward + ggml_tensor * t617 = ggml_compiler::ops::slice(ctx, t598, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t618 = ggml_cont(ctx, t617); // cont torch_export.py:54 in forward + ggml_tensor * t619 = ggml_concat(ctx, t616, t618, 0); // concat torch_export.py:54 in forward + ggml_tensor * t620 = ggml_mul(ctx, t619, t51); // mul torch_export.py:54 in forward + ggml_tensor * t621 = ggml_add(ctx, t613, t620); // add torch_export.py:54 in forward + ggml_tensor * t622 = ggml_concat(ctx, in26, t621, 1); // concat torch_export.py:54 in forward + ggml_tensor * t623 = ggml_cont(ctx, t601); // cont torch_export.py:54 in forward + ggml_tensor * t624 = ggml_concat(ctx, in27, t623, 1); // concat torch_export.py:54 in forward + ggml_tensor * t625 = ggml_compiler::ops::mul_mat(ctx, t622, t611, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t626 = ggml_soft_max_ext(ctx, t625, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t627 = ggml_permute(ctx, t624, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t628 = ggml_cont(ctx, t627); // cont torch_export.py:54 in forward + ggml_tensor * t629 = ggml_compiler::ops::mul_mat(ctx, t628, t626, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t630 = ggml_permute(ctx, t629, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t631 = ggml_cont(ctx, t630); // cont torch_export.py:54 in forward + ggml_tensor * t632 = ggml_compiler::ops::reshape(ctx, t631, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t633 = ggml_compiler::ops::reshape(ctx, t632, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t634 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_gen_weight, t633); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t635 = ggml_compiler::ops::reshape(ctx, t634, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t636 = ggml_add(ctx, t585, t635); // add torch_export.py:54 in forward + ggml_tensor * t637 = ggml_rms_norm(ctx, t636, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t638 = ggml_mul(ctx, t637, net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t639 = ggml_compiler::ops::reshape(ctx, t638, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t640 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_gen_up_proj_weight, t639); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t641 = ggml_compiler::ops::reshape(ctx, t640, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t642 = ggml_relu(ctx, t641); // relu net.mot_backbone.model.language_model.layers.9.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t643 = ggml_sqr(ctx, t642); // sqr net.mot_backbone.model.language_model.layers.9.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t644 = ggml_compiler::ops::reshape(ctx, t643, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t645 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_gen_down_proj_weight, t644); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t646 = ggml_compiler::ops::reshape(ctx, t645, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t647 = ggml_add(ctx, t636, t646); // add torch_export.py:54 in forward + ggml_tensor * t648 = ggml_rms_norm(ctx, t647, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t649 = ggml_mul(ctx, t648, net_mot_backbone_model_language_model_layers_10_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t650 = ggml_compiler::ops::reshape(ctx, t649, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t651 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_gen_weight, t650); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t652 = ggml_compiler::ops::reshape(ctx, t651, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t653 = ggml_rms_norm(ctx, t652, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t654 = ggml_mul(ctx, t653, net_mot_backbone_model_language_model_layers_10_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t655 = ggml_permute(ctx, t654, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t656 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_gen_weight, t650); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t657 = ggml_compiler::ops::reshape(ctx, t656, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t658 = ggml_rms_norm(ctx, t657, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t659 = ggml_mul(ctx, t658, net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t660 = ggml_permute(ctx, t659, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t661 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_gen_weight, t650); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t662 = ggml_compiler::ops::reshape(ctx, t661, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t663 = ggml_permute(ctx, t662, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t664 = ggml_cont(ctx, t655); // cont torch_export.py:54 in forward + ggml_tensor * t665 = ggml_mul(ctx, t664, t42); // mul torch_export.py:54 in forward + ggml_tensor * t666 = ggml_compiler::ops::slice(ctx, t655, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t667 = ggml_cont(ctx, t666); // cont torch_export.py:54 in forward + ggml_tensor * t668 = ggml_neg(ctx, t667); // neg torch_export.py:54 in forward + ggml_tensor * t669 = ggml_compiler::ops::slice(ctx, t655, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t670 = ggml_cont(ctx, t669); // cont torch_export.py:54 in forward + ggml_tensor * t671 = ggml_concat(ctx, t668, t670, 0); // concat torch_export.py:54 in forward + ggml_tensor * t672 = ggml_mul(ctx, t671, t51); // mul torch_export.py:54 in forward + ggml_tensor * t673 = ggml_add(ctx, t665, t672); // add torch_export.py:54 in forward + ggml_tensor * t674 = ggml_cont(ctx, t660); // cont torch_export.py:54 in forward + ggml_tensor * t675 = ggml_mul(ctx, t674, t42); // mul torch_export.py:54 in forward + ggml_tensor * t676 = ggml_compiler::ops::slice(ctx, t660, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t677 = ggml_cont(ctx, t676); // cont torch_export.py:54 in forward + ggml_tensor * t678 = ggml_neg(ctx, t677); // neg torch_export.py:54 in forward + ggml_tensor * t679 = ggml_compiler::ops::slice(ctx, t660, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t680 = ggml_cont(ctx, t679); // cont torch_export.py:54 in forward + ggml_tensor * t681 = ggml_concat(ctx, t678, t680, 0); // concat torch_export.py:54 in forward + ggml_tensor * t682 = ggml_mul(ctx, t681, t51); // mul torch_export.py:54 in forward + ggml_tensor * t683 = ggml_add(ctx, t675, t682); // add torch_export.py:54 in forward + ggml_tensor * t684 = ggml_concat(ctx, in28, t683, 1); // concat torch_export.py:54 in forward + ggml_tensor * t685 = ggml_cont(ctx, t663); // cont torch_export.py:54 in forward + ggml_tensor * t686 = ggml_concat(ctx, in29, t685, 1); // concat torch_export.py:54 in forward + ggml_tensor * t687 = ggml_compiler::ops::mul_mat(ctx, t684, t673, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t688 = ggml_soft_max_ext(ctx, t687, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t689 = ggml_permute(ctx, t686, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t690 = ggml_cont(ctx, t689); // cont torch_export.py:54 in forward + ggml_tensor * t691 = ggml_compiler::ops::mul_mat(ctx, t690, t688, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t692 = ggml_permute(ctx, t691, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t693 = ggml_cont(ctx, t692); // cont torch_export.py:54 in forward + ggml_tensor * t694 = ggml_compiler::ops::reshape(ctx, t693, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t695 = ggml_compiler::ops::reshape(ctx, t694, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t696 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_gen_weight, t695); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t697 = ggml_compiler::ops::reshape(ctx, t696, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t698 = ggml_add(ctx, t647, t697); // add torch_export.py:54 in forward + ggml_tensor * t699 = ggml_rms_norm(ctx, t698, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t700 = ggml_mul(ctx, t699, net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t701 = ggml_compiler::ops::reshape(ctx, t700, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t702 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_gen_up_proj_weight, t701); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t703 = ggml_compiler::ops::reshape(ctx, t702, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t704 = ggml_relu(ctx, t703); // relu net.mot_backbone.model.language_model.layers.10.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t705 = ggml_sqr(ctx, t704); // sqr net.mot_backbone.model.language_model.layers.10.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t706 = ggml_compiler::ops::reshape(ctx, t705, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t707 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_gen_down_proj_weight, t706); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t708 = ggml_compiler::ops::reshape(ctx, t707, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t709 = ggml_add(ctx, t698, t708); // add torch_export.py:54 in forward + ggml_tensor * t710 = ggml_rms_norm(ctx, t709, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t711 = ggml_mul(ctx, t710, net_mot_backbone_model_language_model_layers_11_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t712 = ggml_compiler::ops::reshape(ctx, t711, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t713 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_gen_weight, t712); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t714 = ggml_compiler::ops::reshape(ctx, t713, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t715 = ggml_rms_norm(ctx, t714, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t716 = ggml_mul(ctx, t715, net_mot_backbone_model_language_model_layers_11_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t717 = ggml_permute(ctx, t716, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t718 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_gen_weight, t712); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t719 = ggml_compiler::ops::reshape(ctx, t718, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t720 = ggml_rms_norm(ctx, t719, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t721 = ggml_mul(ctx, t720, net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t722 = ggml_permute(ctx, t721, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t723 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_gen_weight, t712); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t724 = ggml_compiler::ops::reshape(ctx, t723, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t725 = ggml_permute(ctx, t724, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t726 = ggml_cont(ctx, t717); // cont torch_export.py:54 in forward + ggml_tensor * t727 = ggml_mul(ctx, t726, t42); // mul torch_export.py:54 in forward + ggml_tensor * t728 = ggml_compiler::ops::slice(ctx, t717, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t729 = ggml_cont(ctx, t728); // cont torch_export.py:54 in forward + ggml_tensor * t730 = ggml_neg(ctx, t729); // neg torch_export.py:54 in forward + ggml_tensor * t731 = ggml_compiler::ops::slice(ctx, t717, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t732 = ggml_cont(ctx, t731); // cont torch_export.py:54 in forward + ggml_tensor * t733 = ggml_concat(ctx, t730, t732, 0); // concat torch_export.py:54 in forward + ggml_tensor * t734 = ggml_mul(ctx, t733, t51); // mul torch_export.py:54 in forward + ggml_tensor * t735 = ggml_add(ctx, t727, t734); // add torch_export.py:54 in forward + ggml_tensor * t736 = ggml_cont(ctx, t722); // cont torch_export.py:54 in forward + ggml_tensor * t737 = ggml_mul(ctx, t736, t42); // mul torch_export.py:54 in forward + ggml_tensor * t738 = ggml_compiler::ops::slice(ctx, t722, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t739 = ggml_cont(ctx, t738); // cont torch_export.py:54 in forward + ggml_tensor * t740 = ggml_neg(ctx, t739); // neg torch_export.py:54 in forward + ggml_tensor * t741 = ggml_compiler::ops::slice(ctx, t722, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t742 = ggml_cont(ctx, t741); // cont torch_export.py:54 in forward + ggml_tensor * t743 = ggml_concat(ctx, t740, t742, 0); // concat torch_export.py:54 in forward + ggml_tensor * t744 = ggml_mul(ctx, t743, t51); // mul torch_export.py:54 in forward + ggml_tensor * t745 = ggml_add(ctx, t737, t744); // add torch_export.py:54 in forward + ggml_tensor * t746 = ggml_concat(ctx, in30, t745, 1); // concat torch_export.py:54 in forward + ggml_tensor * t747 = ggml_cont(ctx, t725); // cont torch_export.py:54 in forward + ggml_tensor * t748 = ggml_concat(ctx, in31, t747, 1); // concat torch_export.py:54 in forward + ggml_tensor * t749 = ggml_compiler::ops::mul_mat(ctx, t746, t735, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t750 = ggml_soft_max_ext(ctx, t749, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t751 = ggml_permute(ctx, t748, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t752 = ggml_cont(ctx, t751); // cont torch_export.py:54 in forward + ggml_tensor * t753 = ggml_compiler::ops::mul_mat(ctx, t752, t750, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t754 = ggml_permute(ctx, t753, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t755 = ggml_cont(ctx, t754); // cont torch_export.py:54 in forward + ggml_tensor * t756 = ggml_compiler::ops::reshape(ctx, t755, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t757 = ggml_compiler::ops::reshape(ctx, t756, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t758 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_gen_weight, t757); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t759 = ggml_compiler::ops::reshape(ctx, t758, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t760 = ggml_add(ctx, t709, t759); // add torch_export.py:54 in forward + ggml_tensor * t761 = ggml_rms_norm(ctx, t760, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t762 = ggml_mul(ctx, t761, net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t763 = ggml_compiler::ops::reshape(ctx, t762, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t764 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_gen_up_proj_weight, t763); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t765 = ggml_compiler::ops::reshape(ctx, t764, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t766 = ggml_relu(ctx, t765); // relu net.mot_backbone.model.language_model.layers.11.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t767 = ggml_sqr(ctx, t766); // sqr net.mot_backbone.model.language_model.layers.11.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t768 = ggml_compiler::ops::reshape(ctx, t767, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t769 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_gen_down_proj_weight, t768); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t770 = ggml_compiler::ops::reshape(ctx, t769, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t771 = ggml_add(ctx, t760, t770); // add torch_export.py:54 in forward + ggml_tensor * t772 = ggml_rms_norm(ctx, t771, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t773 = ggml_mul(ctx, t772, net_mot_backbone_model_language_model_layers_12_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t774 = ggml_compiler::ops::reshape(ctx, t773, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t775 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_gen_weight, t774); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t776 = ggml_compiler::ops::reshape(ctx, t775, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t777 = ggml_rms_norm(ctx, t776, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t778 = ggml_mul(ctx, t777, net_mot_backbone_model_language_model_layers_12_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t779 = ggml_permute(ctx, t778, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t780 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_gen_weight, t774); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t781 = ggml_compiler::ops::reshape(ctx, t780, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t782 = ggml_rms_norm(ctx, t781, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t783 = ggml_mul(ctx, t782, net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t784 = ggml_permute(ctx, t783, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t785 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_gen_weight, t774); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t786 = ggml_compiler::ops::reshape(ctx, t785, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t787 = ggml_permute(ctx, t786, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t788 = ggml_cont(ctx, t779); // cont torch_export.py:54 in forward + ggml_tensor * t789 = ggml_mul(ctx, t788, t42); // mul torch_export.py:54 in forward + ggml_tensor * t790 = ggml_compiler::ops::slice(ctx, t779, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t791 = ggml_cont(ctx, t790); // cont torch_export.py:54 in forward + ggml_tensor * t792 = ggml_neg(ctx, t791); // neg torch_export.py:54 in forward + ggml_tensor * t793 = ggml_compiler::ops::slice(ctx, t779, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t794 = ggml_cont(ctx, t793); // cont torch_export.py:54 in forward + ggml_tensor * t795 = ggml_concat(ctx, t792, t794, 0); // concat torch_export.py:54 in forward + ggml_tensor * t796 = ggml_mul(ctx, t795, t51); // mul torch_export.py:54 in forward + ggml_tensor * t797 = ggml_add(ctx, t789, t796); // add torch_export.py:54 in forward + ggml_tensor * t798 = ggml_cont(ctx, t784); // cont torch_export.py:54 in forward + ggml_tensor * t799 = ggml_mul(ctx, t798, t42); // mul torch_export.py:54 in forward + ggml_tensor * t800 = ggml_compiler::ops::slice(ctx, t784, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t801 = ggml_cont(ctx, t800); // cont torch_export.py:54 in forward + ggml_tensor * t802 = ggml_neg(ctx, t801); // neg torch_export.py:54 in forward + ggml_tensor * t803 = ggml_compiler::ops::slice(ctx, t784, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t804 = ggml_cont(ctx, t803); // cont torch_export.py:54 in forward + ggml_tensor * t805 = ggml_concat(ctx, t802, t804, 0); // concat torch_export.py:54 in forward + ggml_tensor * t806 = ggml_mul(ctx, t805, t51); // mul torch_export.py:54 in forward + ggml_tensor * t807 = ggml_add(ctx, t799, t806); // add torch_export.py:54 in forward + ggml_tensor * t808 = ggml_concat(ctx, in32, t807, 1); // concat torch_export.py:54 in forward + ggml_tensor * t809 = ggml_cont(ctx, t787); // cont torch_export.py:54 in forward + ggml_tensor * t810 = ggml_concat(ctx, in33, t809, 1); // concat torch_export.py:54 in forward + ggml_tensor * t811 = ggml_compiler::ops::mul_mat(ctx, t808, t797, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t812 = ggml_soft_max_ext(ctx, t811, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t813 = ggml_permute(ctx, t810, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t814 = ggml_cont(ctx, t813); // cont torch_export.py:54 in forward + ggml_tensor * t815 = ggml_compiler::ops::mul_mat(ctx, t814, t812, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t816 = ggml_permute(ctx, t815, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t817 = ggml_cont(ctx, t816); // cont torch_export.py:54 in forward + ggml_tensor * t818 = ggml_compiler::ops::reshape(ctx, t817, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t819 = ggml_compiler::ops::reshape(ctx, t818, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t820 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_gen_weight, t819); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t821 = ggml_compiler::ops::reshape(ctx, t820, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t822 = ggml_add(ctx, t771, t821); // add torch_export.py:54 in forward + ggml_tensor * t823 = ggml_rms_norm(ctx, t822, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t824 = ggml_mul(ctx, t823, net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t825 = ggml_compiler::ops::reshape(ctx, t824, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t826 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_gen_up_proj_weight, t825); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t827 = ggml_compiler::ops::reshape(ctx, t826, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t828 = ggml_relu(ctx, t827); // relu net.mot_backbone.model.language_model.layers.12.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t829 = ggml_sqr(ctx, t828); // sqr net.mot_backbone.model.language_model.layers.12.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t830 = ggml_compiler::ops::reshape(ctx, t829, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t831 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_gen_down_proj_weight, t830); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t832 = ggml_compiler::ops::reshape(ctx, t831, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t833 = ggml_add(ctx, t822, t832); // add torch_export.py:54 in forward + ggml_tensor * t834 = ggml_rms_norm(ctx, t833, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t835 = ggml_mul(ctx, t834, net_mot_backbone_model_language_model_layers_13_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t836 = ggml_compiler::ops::reshape(ctx, t835, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t837 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_gen_weight, t836); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t838 = ggml_compiler::ops::reshape(ctx, t837, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t839 = ggml_rms_norm(ctx, t838, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t840 = ggml_mul(ctx, t839, net_mot_backbone_model_language_model_layers_13_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t841 = ggml_permute(ctx, t840, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t842 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_gen_weight, t836); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t843 = ggml_compiler::ops::reshape(ctx, t842, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t844 = ggml_rms_norm(ctx, t843, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t845 = ggml_mul(ctx, t844, net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t846 = ggml_permute(ctx, t845, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t847 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_gen_weight, t836); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t848 = ggml_compiler::ops::reshape(ctx, t847, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t849 = ggml_permute(ctx, t848, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t850 = ggml_cont(ctx, t841); // cont torch_export.py:54 in forward + ggml_tensor * t851 = ggml_mul(ctx, t850, t42); // mul torch_export.py:54 in forward + ggml_tensor * t852 = ggml_compiler::ops::slice(ctx, t841, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t853 = ggml_cont(ctx, t852); // cont torch_export.py:54 in forward + ggml_tensor * t854 = ggml_neg(ctx, t853); // neg torch_export.py:54 in forward + ggml_tensor * t855 = ggml_compiler::ops::slice(ctx, t841, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t856 = ggml_cont(ctx, t855); // cont torch_export.py:54 in forward + ggml_tensor * t857 = ggml_concat(ctx, t854, t856, 0); // concat torch_export.py:54 in forward + ggml_tensor * t858 = ggml_mul(ctx, t857, t51); // mul torch_export.py:54 in forward + ggml_tensor * t859 = ggml_add(ctx, t851, t858); // add torch_export.py:54 in forward + ggml_tensor * t860 = ggml_cont(ctx, t846); // cont torch_export.py:54 in forward + ggml_tensor * t861 = ggml_mul(ctx, t860, t42); // mul torch_export.py:54 in forward + ggml_tensor * t862 = ggml_compiler::ops::slice(ctx, t846, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t863 = ggml_cont(ctx, t862); // cont torch_export.py:54 in forward + ggml_tensor * t864 = ggml_neg(ctx, t863); // neg torch_export.py:54 in forward + ggml_tensor * t865 = ggml_compiler::ops::slice(ctx, t846, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t866 = ggml_cont(ctx, t865); // cont torch_export.py:54 in forward + ggml_tensor * t867 = ggml_concat(ctx, t864, t866, 0); // concat torch_export.py:54 in forward + ggml_tensor * t868 = ggml_mul(ctx, t867, t51); // mul torch_export.py:54 in forward + ggml_tensor * t869 = ggml_add(ctx, t861, t868); // add torch_export.py:54 in forward + ggml_tensor * t870 = ggml_concat(ctx, in34, t869, 1); // concat torch_export.py:54 in forward + ggml_tensor * t871 = ggml_cont(ctx, t849); // cont torch_export.py:54 in forward + ggml_tensor * t872 = ggml_concat(ctx, in35, t871, 1); // concat torch_export.py:54 in forward + ggml_tensor * t873 = ggml_compiler::ops::mul_mat(ctx, t870, t859, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t874 = ggml_soft_max_ext(ctx, t873, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t875 = ggml_permute(ctx, t872, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t876 = ggml_cont(ctx, t875); // cont torch_export.py:54 in forward + ggml_tensor * t877 = ggml_compiler::ops::mul_mat(ctx, t876, t874, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t878 = ggml_permute(ctx, t877, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t879 = ggml_cont(ctx, t878); // cont torch_export.py:54 in forward + ggml_tensor * t880 = ggml_compiler::ops::reshape(ctx, t879, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t881 = ggml_compiler::ops::reshape(ctx, t880, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t882 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_gen_weight, t881); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t883 = ggml_compiler::ops::reshape(ctx, t882, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t884 = ggml_add(ctx, t833, t883); // add torch_export.py:54 in forward + ggml_tensor * t885 = ggml_rms_norm(ctx, t884, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t886 = ggml_mul(ctx, t885, net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t887 = ggml_compiler::ops::reshape(ctx, t886, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t888 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_gen_up_proj_weight, t887); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t889 = ggml_compiler::ops::reshape(ctx, t888, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t890 = ggml_relu(ctx, t889); // relu net.mot_backbone.model.language_model.layers.13.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t891 = ggml_sqr(ctx, t890); // sqr net.mot_backbone.model.language_model.layers.13.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t892 = ggml_compiler::ops::reshape(ctx, t891, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t893 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_gen_down_proj_weight, t892); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t894 = ggml_compiler::ops::reshape(ctx, t893, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t895 = ggml_add(ctx, t884, t894); // add torch_export.py:54 in forward + ggml_tensor * t896 = ggml_rms_norm(ctx, t895, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t897 = ggml_mul(ctx, t896, net_mot_backbone_model_language_model_layers_14_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t898 = ggml_compiler::ops::reshape(ctx, t897, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t899 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_gen_weight, t898); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t900 = ggml_compiler::ops::reshape(ctx, t899, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t901 = ggml_rms_norm(ctx, t900, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t902 = ggml_mul(ctx, t901, net_mot_backbone_model_language_model_layers_14_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t903 = ggml_permute(ctx, t902, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t904 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_gen_weight, t898); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t905 = ggml_compiler::ops::reshape(ctx, t904, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t906 = ggml_rms_norm(ctx, t905, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t907 = ggml_mul(ctx, t906, net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t908 = ggml_permute(ctx, t907, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t909 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_gen_weight, t898); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t910 = ggml_compiler::ops::reshape(ctx, t909, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t911 = ggml_permute(ctx, t910, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t912 = ggml_cont(ctx, t903); // cont torch_export.py:54 in forward + ggml_tensor * t913 = ggml_mul(ctx, t912, t42); // mul torch_export.py:54 in forward + ggml_tensor * t914 = ggml_compiler::ops::slice(ctx, t903, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t915 = ggml_cont(ctx, t914); // cont torch_export.py:54 in forward + ggml_tensor * t916 = ggml_neg(ctx, t915); // neg torch_export.py:54 in forward + ggml_tensor * t917 = ggml_compiler::ops::slice(ctx, t903, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t918 = ggml_cont(ctx, t917); // cont torch_export.py:54 in forward + ggml_tensor * t919 = ggml_concat(ctx, t916, t918, 0); // concat torch_export.py:54 in forward + ggml_tensor * t920 = ggml_mul(ctx, t919, t51); // mul torch_export.py:54 in forward + ggml_tensor * t921 = ggml_add(ctx, t913, t920); // add torch_export.py:54 in forward + ggml_tensor * t922 = ggml_cont(ctx, t908); // cont torch_export.py:54 in forward + ggml_tensor * t923 = ggml_mul(ctx, t922, t42); // mul torch_export.py:54 in forward + ggml_tensor * t924 = ggml_compiler::ops::slice(ctx, t908, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t925 = ggml_cont(ctx, t924); // cont torch_export.py:54 in forward + ggml_tensor * t926 = ggml_neg(ctx, t925); // neg torch_export.py:54 in forward + ggml_tensor * t927 = ggml_compiler::ops::slice(ctx, t908, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t928 = ggml_cont(ctx, t927); // cont torch_export.py:54 in forward + ggml_tensor * t929 = ggml_concat(ctx, t926, t928, 0); // concat torch_export.py:54 in forward + ggml_tensor * t930 = ggml_mul(ctx, t929, t51); // mul torch_export.py:54 in forward + ggml_tensor * t931 = ggml_add(ctx, t923, t930); // add torch_export.py:54 in forward + ggml_tensor * t932 = ggml_concat(ctx, in36, t931, 1); // concat torch_export.py:54 in forward + ggml_tensor * t933 = ggml_cont(ctx, t911); // cont torch_export.py:54 in forward + ggml_tensor * t934 = ggml_concat(ctx, in37, t933, 1); // concat torch_export.py:54 in forward + ggml_tensor * t935 = ggml_compiler::ops::mul_mat(ctx, t932, t921, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t936 = ggml_soft_max_ext(ctx, t935, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t937 = ggml_permute(ctx, t934, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t938 = ggml_cont(ctx, t937); // cont torch_export.py:54 in forward + ggml_tensor * t939 = ggml_compiler::ops::mul_mat(ctx, t938, t936, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t940 = ggml_permute(ctx, t939, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t941 = ggml_cont(ctx, t940); // cont torch_export.py:54 in forward + ggml_tensor * t942 = ggml_compiler::ops::reshape(ctx, t941, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t943 = ggml_compiler::ops::reshape(ctx, t942, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t944 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_gen_weight, t943); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t945 = ggml_compiler::ops::reshape(ctx, t944, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t946 = ggml_add(ctx, t895, t945); // add torch_export.py:54 in forward + ggml_tensor * t947 = ggml_rms_norm(ctx, t946, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t948 = ggml_mul(ctx, t947, net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t949 = ggml_compiler::ops::reshape(ctx, t948, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t950 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_gen_up_proj_weight, t949); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t951 = ggml_compiler::ops::reshape(ctx, t950, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t952 = ggml_relu(ctx, t951); // relu net.mot_backbone.model.language_model.layers.14.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t953 = ggml_sqr(ctx, t952); // sqr net.mot_backbone.model.language_model.layers.14.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t954 = ggml_compiler::ops::reshape(ctx, t953, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t955 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_gen_down_proj_weight, t954); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t956 = ggml_compiler::ops::reshape(ctx, t955, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t957 = ggml_add(ctx, t946, t956); // add torch_export.py:54 in forward + ggml_tensor * t958 = ggml_rms_norm(ctx, t957, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t959 = ggml_mul(ctx, t958, net_mot_backbone_model_language_model_layers_15_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t960 = ggml_compiler::ops::reshape(ctx, t959, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t961 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_gen_weight, t960); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t962 = ggml_compiler::ops::reshape(ctx, t961, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t963 = ggml_rms_norm(ctx, t962, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t964 = ggml_mul(ctx, t963, net_mot_backbone_model_language_model_layers_15_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t965 = ggml_permute(ctx, t964, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t966 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_gen_weight, t960); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t967 = ggml_compiler::ops::reshape(ctx, t966, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t968 = ggml_rms_norm(ctx, t967, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t969 = ggml_mul(ctx, t968, net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t970 = ggml_permute(ctx, t969, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t971 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_gen_weight, t960); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t972 = ggml_compiler::ops::reshape(ctx, t971, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t973 = ggml_permute(ctx, t972, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t974 = ggml_cont(ctx, t965); // cont torch_export.py:54 in forward + ggml_tensor * t975 = ggml_mul(ctx, t974, t42); // mul torch_export.py:54 in forward + ggml_tensor * t976 = ggml_compiler::ops::slice(ctx, t965, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t977 = ggml_cont(ctx, t976); // cont torch_export.py:54 in forward + ggml_tensor * t978 = ggml_neg(ctx, t977); // neg torch_export.py:54 in forward + ggml_tensor * t979 = ggml_compiler::ops::slice(ctx, t965, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t980 = ggml_cont(ctx, t979); // cont torch_export.py:54 in forward + ggml_tensor * t981 = ggml_concat(ctx, t978, t980, 0); // concat torch_export.py:54 in forward + ggml_tensor * t982 = ggml_mul(ctx, t981, t51); // mul torch_export.py:54 in forward + ggml_tensor * t983 = ggml_add(ctx, t975, t982); // add torch_export.py:54 in forward + ggml_tensor * t984 = ggml_cont(ctx, t970); // cont torch_export.py:54 in forward + ggml_tensor * t985 = ggml_mul(ctx, t984, t42); // mul torch_export.py:54 in forward + ggml_tensor * t986 = ggml_compiler::ops::slice(ctx, t970, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t987 = ggml_cont(ctx, t986); // cont torch_export.py:54 in forward + ggml_tensor * t988 = ggml_neg(ctx, t987); // neg torch_export.py:54 in forward + ggml_tensor * t989 = ggml_compiler::ops::slice(ctx, t970, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t990 = ggml_cont(ctx, t989); // cont torch_export.py:54 in forward + ggml_tensor * t991 = ggml_concat(ctx, t988, t990, 0); // concat torch_export.py:54 in forward + ggml_tensor * t992 = ggml_mul(ctx, t991, t51); // mul torch_export.py:54 in forward + ggml_tensor * t993 = ggml_add(ctx, t985, t992); // add torch_export.py:54 in forward + ggml_tensor * t994 = ggml_concat(ctx, in38, t993, 1); // concat torch_export.py:54 in forward + ggml_tensor * t995 = ggml_cont(ctx, t973); // cont torch_export.py:54 in forward + ggml_tensor * t996 = ggml_concat(ctx, in39, t995, 1); // concat torch_export.py:54 in forward + ggml_tensor * t997 = ggml_compiler::ops::mul_mat(ctx, t994, t983, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t998 = ggml_soft_max_ext(ctx, t997, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t999 = ggml_permute(ctx, t996, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1000 = ggml_cont(ctx, t999); // cont torch_export.py:54 in forward + ggml_tensor * t1001 = ggml_compiler::ops::mul_mat(ctx, t1000, t998, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1002 = ggml_permute(ctx, t1001, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1003 = ggml_cont(ctx, t1002); // cont torch_export.py:54 in forward + ggml_tensor * t1004 = ggml_compiler::ops::reshape(ctx, t1003, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1005 = ggml_compiler::ops::reshape(ctx, t1004, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1006 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_gen_weight, t1005); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1007 = ggml_compiler::ops::reshape(ctx, t1006, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1008 = ggml_add(ctx, t957, t1007); // add torch_export.py:54 in forward + ggml_tensor * t1009 = ggml_rms_norm(ctx, t1008, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1010 = ggml_mul(ctx, t1009, net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1011 = ggml_compiler::ops::reshape(ctx, t1010, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1012 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_gen_up_proj_weight, t1011); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1013 = ggml_compiler::ops::reshape(ctx, t1012, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1014 = ggml_relu(ctx, t1013); // relu net.mot_backbone.model.language_model.layers.15.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1015 = ggml_sqr(ctx, t1014); // sqr net.mot_backbone.model.language_model.layers.15.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1016 = ggml_compiler::ops::reshape(ctx, t1015, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1017 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_gen_down_proj_weight, t1016); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1018 = ggml_compiler::ops::reshape(ctx, t1017, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1019 = ggml_add(ctx, t1008, t1018); // add torch_export.py:54 in forward + ggml_tensor * t1020 = ggml_rms_norm(ctx, t1019, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1021 = ggml_mul(ctx, t1020, net_mot_backbone_model_language_model_layers_16_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1022 = ggml_compiler::ops::reshape(ctx, t1021, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1023 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_gen_weight, t1022); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1024 = ggml_compiler::ops::reshape(ctx, t1023, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1025 = ggml_rms_norm(ctx, t1024, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1026 = ggml_mul(ctx, t1025, net_mot_backbone_model_language_model_layers_16_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1027 = ggml_permute(ctx, t1026, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1028 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_gen_weight, t1022); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1029 = ggml_compiler::ops::reshape(ctx, t1028, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1030 = ggml_rms_norm(ctx, t1029, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1031 = ggml_mul(ctx, t1030, net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1032 = ggml_permute(ctx, t1031, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1033 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_gen_weight, t1022); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1034 = ggml_compiler::ops::reshape(ctx, t1033, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1035 = ggml_permute(ctx, t1034, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1036 = ggml_cont(ctx, t1027); // cont torch_export.py:54 in forward + ggml_tensor * t1037 = ggml_mul(ctx, t1036, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1038 = ggml_compiler::ops::slice(ctx, t1027, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1039 = ggml_cont(ctx, t1038); // cont torch_export.py:54 in forward + ggml_tensor * t1040 = ggml_neg(ctx, t1039); // neg torch_export.py:54 in forward + ggml_tensor * t1041 = ggml_compiler::ops::slice(ctx, t1027, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1042 = ggml_cont(ctx, t1041); // cont torch_export.py:54 in forward + ggml_tensor * t1043 = ggml_concat(ctx, t1040, t1042, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1044 = ggml_mul(ctx, t1043, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1045 = ggml_add(ctx, t1037, t1044); // add torch_export.py:54 in forward + ggml_tensor * t1046 = ggml_cont(ctx, t1032); // cont torch_export.py:54 in forward + ggml_tensor * t1047 = ggml_mul(ctx, t1046, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1048 = ggml_compiler::ops::slice(ctx, t1032, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1049 = ggml_cont(ctx, t1048); // cont torch_export.py:54 in forward + ggml_tensor * t1050 = ggml_neg(ctx, t1049); // neg torch_export.py:54 in forward + ggml_tensor * t1051 = ggml_compiler::ops::slice(ctx, t1032, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1052 = ggml_cont(ctx, t1051); // cont torch_export.py:54 in forward + ggml_tensor * t1053 = ggml_concat(ctx, t1050, t1052, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1054 = ggml_mul(ctx, t1053, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1055 = ggml_add(ctx, t1047, t1054); // add torch_export.py:54 in forward + ggml_tensor * t1056 = ggml_concat(ctx, in40, t1055, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1057 = ggml_cont(ctx, t1035); // cont torch_export.py:54 in forward + ggml_tensor * t1058 = ggml_concat(ctx, in41, t1057, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1059 = ggml_compiler::ops::mul_mat(ctx, t1056, t1045, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1060 = ggml_soft_max_ext(ctx, t1059, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1061 = ggml_permute(ctx, t1058, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1062 = ggml_cont(ctx, t1061); // cont torch_export.py:54 in forward + ggml_tensor * t1063 = ggml_compiler::ops::mul_mat(ctx, t1062, t1060, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1064 = ggml_permute(ctx, t1063, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1065 = ggml_cont(ctx, t1064); // cont torch_export.py:54 in forward + ggml_tensor * t1066 = ggml_compiler::ops::reshape(ctx, t1065, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1067 = ggml_compiler::ops::reshape(ctx, t1066, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1068 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_gen_weight, t1067); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1069 = ggml_compiler::ops::reshape(ctx, t1068, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1070 = ggml_add(ctx, t1019, t1069); // add torch_export.py:54 in forward + ggml_tensor * t1071 = ggml_rms_norm(ctx, t1070, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1072 = ggml_mul(ctx, t1071, net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1073 = ggml_compiler::ops::reshape(ctx, t1072, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1074 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_gen_up_proj_weight, t1073); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1075 = ggml_compiler::ops::reshape(ctx, t1074, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1076 = ggml_relu(ctx, t1075); // relu net.mot_backbone.model.language_model.layers.16.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1077 = ggml_sqr(ctx, t1076); // sqr net.mot_backbone.model.language_model.layers.16.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1078 = ggml_compiler::ops::reshape(ctx, t1077, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1079 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_gen_down_proj_weight, t1078); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1080 = ggml_compiler::ops::reshape(ctx, t1079, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1081 = ggml_add(ctx, t1070, t1080); // add torch_export.py:54 in forward + ggml_tensor * t1082 = ggml_rms_norm(ctx, t1081, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1083 = ggml_mul(ctx, t1082, net_mot_backbone_model_language_model_layers_17_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1084 = ggml_compiler::ops::reshape(ctx, t1083, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1085 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_gen_weight, t1084); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1086 = ggml_compiler::ops::reshape(ctx, t1085, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1087 = ggml_rms_norm(ctx, t1086, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1088 = ggml_mul(ctx, t1087, net_mot_backbone_model_language_model_layers_17_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1089 = ggml_permute(ctx, t1088, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1090 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_gen_weight, t1084); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1091 = ggml_compiler::ops::reshape(ctx, t1090, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1092 = ggml_rms_norm(ctx, t1091, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1093 = ggml_mul(ctx, t1092, net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1094 = ggml_permute(ctx, t1093, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1095 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_gen_weight, t1084); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1096 = ggml_compiler::ops::reshape(ctx, t1095, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1097 = ggml_permute(ctx, t1096, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1098 = ggml_cont(ctx, t1089); // cont torch_export.py:54 in forward + ggml_tensor * t1099 = ggml_mul(ctx, t1098, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1100 = ggml_compiler::ops::slice(ctx, t1089, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1101 = ggml_cont(ctx, t1100); // cont torch_export.py:54 in forward + ggml_tensor * t1102 = ggml_neg(ctx, t1101); // neg torch_export.py:54 in forward + ggml_tensor * t1103 = ggml_compiler::ops::slice(ctx, t1089, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1104 = ggml_cont(ctx, t1103); // cont torch_export.py:54 in forward + ggml_tensor * t1105 = ggml_concat(ctx, t1102, t1104, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1106 = ggml_mul(ctx, t1105, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1107 = ggml_add(ctx, t1099, t1106); // add torch_export.py:54 in forward + ggml_tensor * t1108 = ggml_cont(ctx, t1094); // cont torch_export.py:54 in forward + ggml_tensor * t1109 = ggml_mul(ctx, t1108, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1110 = ggml_compiler::ops::slice(ctx, t1094, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1111 = ggml_cont(ctx, t1110); // cont torch_export.py:54 in forward + ggml_tensor * t1112 = ggml_neg(ctx, t1111); // neg torch_export.py:54 in forward + ggml_tensor * t1113 = ggml_compiler::ops::slice(ctx, t1094, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1114 = ggml_cont(ctx, t1113); // cont torch_export.py:54 in forward + ggml_tensor * t1115 = ggml_concat(ctx, t1112, t1114, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1116 = ggml_mul(ctx, t1115, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1117 = ggml_add(ctx, t1109, t1116); // add torch_export.py:54 in forward + ggml_tensor * t1118 = ggml_concat(ctx, in42, t1117, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1119 = ggml_cont(ctx, t1097); // cont torch_export.py:54 in forward + ggml_tensor * t1120 = ggml_concat(ctx, in43, t1119, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1121 = ggml_compiler::ops::mul_mat(ctx, t1118, t1107, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1122 = ggml_soft_max_ext(ctx, t1121, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1123 = ggml_permute(ctx, t1120, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1124 = ggml_cont(ctx, t1123); // cont torch_export.py:54 in forward + ggml_tensor * t1125 = ggml_compiler::ops::mul_mat(ctx, t1124, t1122, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1126 = ggml_permute(ctx, t1125, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1127 = ggml_cont(ctx, t1126); // cont torch_export.py:54 in forward + ggml_tensor * t1128 = ggml_compiler::ops::reshape(ctx, t1127, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1129 = ggml_compiler::ops::reshape(ctx, t1128, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1130 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_gen_weight, t1129); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1131 = ggml_compiler::ops::reshape(ctx, t1130, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1132 = ggml_add(ctx, t1081, t1131); // add torch_export.py:54 in forward + ggml_tensor * t1133 = ggml_rms_norm(ctx, t1132, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1134 = ggml_mul(ctx, t1133, net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1135 = ggml_compiler::ops::reshape(ctx, t1134, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1136 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_gen_up_proj_weight, t1135); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1137 = ggml_compiler::ops::reshape(ctx, t1136, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1138 = ggml_relu(ctx, t1137); // relu net.mot_backbone.model.language_model.layers.17.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1139 = ggml_sqr(ctx, t1138); // sqr net.mot_backbone.model.language_model.layers.17.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1140 = ggml_compiler::ops::reshape(ctx, t1139, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1141 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_gen_down_proj_weight, t1140); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1142 = ggml_compiler::ops::reshape(ctx, t1141, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1143 = ggml_add(ctx, t1132, t1142); // add torch_export.py:54 in forward + ggml_tensor * t1144 = ggml_rms_norm(ctx, t1143, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1145 = ggml_mul(ctx, t1144, net_mot_backbone_model_language_model_layers_18_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1146 = ggml_compiler::ops::reshape(ctx, t1145, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1147 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_gen_weight, t1146); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1148 = ggml_compiler::ops::reshape(ctx, t1147, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1149 = ggml_rms_norm(ctx, t1148, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1150 = ggml_mul(ctx, t1149, net_mot_backbone_model_language_model_layers_18_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1151 = ggml_permute(ctx, t1150, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1152 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_gen_weight, t1146); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1153 = ggml_compiler::ops::reshape(ctx, t1152, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1154 = ggml_rms_norm(ctx, t1153, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1155 = ggml_mul(ctx, t1154, net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1156 = ggml_permute(ctx, t1155, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1157 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_gen_weight, t1146); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1158 = ggml_compiler::ops::reshape(ctx, t1157, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1159 = ggml_permute(ctx, t1158, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1160 = ggml_cont(ctx, t1151); // cont torch_export.py:54 in forward + ggml_tensor * t1161 = ggml_mul(ctx, t1160, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1162 = ggml_compiler::ops::slice(ctx, t1151, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1163 = ggml_cont(ctx, t1162); // cont torch_export.py:54 in forward + ggml_tensor * t1164 = ggml_neg(ctx, t1163); // neg torch_export.py:54 in forward + ggml_tensor * t1165 = ggml_compiler::ops::slice(ctx, t1151, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1166 = ggml_cont(ctx, t1165); // cont torch_export.py:54 in forward + ggml_tensor * t1167 = ggml_concat(ctx, t1164, t1166, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1168 = ggml_mul(ctx, t1167, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1169 = ggml_add(ctx, t1161, t1168); // add torch_export.py:54 in forward + ggml_tensor * t1170 = ggml_cont(ctx, t1156); // cont torch_export.py:54 in forward + ggml_tensor * t1171 = ggml_mul(ctx, t1170, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1172 = ggml_compiler::ops::slice(ctx, t1156, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1173 = ggml_cont(ctx, t1172); // cont torch_export.py:54 in forward + ggml_tensor * t1174 = ggml_neg(ctx, t1173); // neg torch_export.py:54 in forward + ggml_tensor * t1175 = ggml_compiler::ops::slice(ctx, t1156, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1176 = ggml_cont(ctx, t1175); // cont torch_export.py:54 in forward + ggml_tensor * t1177 = ggml_concat(ctx, t1174, t1176, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1178 = ggml_mul(ctx, t1177, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1179 = ggml_add(ctx, t1171, t1178); // add torch_export.py:54 in forward + ggml_tensor * t1180 = ggml_concat(ctx, in44, t1179, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1181 = ggml_cont(ctx, t1159); // cont torch_export.py:54 in forward + ggml_tensor * t1182 = ggml_concat(ctx, in45, t1181, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1183 = ggml_compiler::ops::mul_mat(ctx, t1180, t1169, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1184 = ggml_soft_max_ext(ctx, t1183, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1185 = ggml_permute(ctx, t1182, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1186 = ggml_cont(ctx, t1185); // cont torch_export.py:54 in forward + ggml_tensor * t1187 = ggml_compiler::ops::mul_mat(ctx, t1186, t1184, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1188 = ggml_permute(ctx, t1187, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1189 = ggml_cont(ctx, t1188); // cont torch_export.py:54 in forward + ggml_tensor * t1190 = ggml_compiler::ops::reshape(ctx, t1189, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1191 = ggml_compiler::ops::reshape(ctx, t1190, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1192 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_gen_weight, t1191); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1193 = ggml_compiler::ops::reshape(ctx, t1192, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1194 = ggml_add(ctx, t1143, t1193); // add torch_export.py:54 in forward + ggml_tensor * t1195 = ggml_rms_norm(ctx, t1194, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1196 = ggml_mul(ctx, t1195, net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1197 = ggml_compiler::ops::reshape(ctx, t1196, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1198 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_gen_up_proj_weight, t1197); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1199 = ggml_compiler::ops::reshape(ctx, t1198, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1200 = ggml_relu(ctx, t1199); // relu net.mot_backbone.model.language_model.layers.18.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1201 = ggml_sqr(ctx, t1200); // sqr net.mot_backbone.model.language_model.layers.18.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1202 = ggml_compiler::ops::reshape(ctx, t1201, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1203 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_gen_down_proj_weight, t1202); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1204 = ggml_compiler::ops::reshape(ctx, t1203, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1205 = ggml_add(ctx, t1194, t1204); // add torch_export.py:54 in forward + ggml_tensor * t1206 = ggml_rms_norm(ctx, t1205, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1207 = ggml_mul(ctx, t1206, net_mot_backbone_model_language_model_layers_19_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1208 = ggml_compiler::ops::reshape(ctx, t1207, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1209 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_gen_weight, t1208); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1210 = ggml_compiler::ops::reshape(ctx, t1209, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1211 = ggml_rms_norm(ctx, t1210, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1212 = ggml_mul(ctx, t1211, net_mot_backbone_model_language_model_layers_19_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1213 = ggml_permute(ctx, t1212, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1214 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_gen_weight, t1208); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1215 = ggml_compiler::ops::reshape(ctx, t1214, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1216 = ggml_rms_norm(ctx, t1215, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1217 = ggml_mul(ctx, t1216, net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1218 = ggml_permute(ctx, t1217, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1219 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_gen_weight, t1208); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1220 = ggml_compiler::ops::reshape(ctx, t1219, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1221 = ggml_permute(ctx, t1220, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1222 = ggml_cont(ctx, t1213); // cont torch_export.py:54 in forward + ggml_tensor * t1223 = ggml_mul(ctx, t1222, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1224 = ggml_compiler::ops::slice(ctx, t1213, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1225 = ggml_cont(ctx, t1224); // cont torch_export.py:54 in forward + ggml_tensor * t1226 = ggml_neg(ctx, t1225); // neg torch_export.py:54 in forward + ggml_tensor * t1227 = ggml_compiler::ops::slice(ctx, t1213, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1228 = ggml_cont(ctx, t1227); // cont torch_export.py:54 in forward + ggml_tensor * t1229 = ggml_concat(ctx, t1226, t1228, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1230 = ggml_mul(ctx, t1229, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1231 = ggml_add(ctx, t1223, t1230); // add torch_export.py:54 in forward + ggml_tensor * t1232 = ggml_cont(ctx, t1218); // cont torch_export.py:54 in forward + ggml_tensor * t1233 = ggml_mul(ctx, t1232, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1234 = ggml_compiler::ops::slice(ctx, t1218, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1235 = ggml_cont(ctx, t1234); // cont torch_export.py:54 in forward + ggml_tensor * t1236 = ggml_neg(ctx, t1235); // neg torch_export.py:54 in forward + ggml_tensor * t1237 = ggml_compiler::ops::slice(ctx, t1218, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1238 = ggml_cont(ctx, t1237); // cont torch_export.py:54 in forward + ggml_tensor * t1239 = ggml_concat(ctx, t1236, t1238, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1240 = ggml_mul(ctx, t1239, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1241 = ggml_add(ctx, t1233, t1240); // add torch_export.py:54 in forward + ggml_tensor * t1242 = ggml_concat(ctx, in46, t1241, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1243 = ggml_cont(ctx, t1221); // cont torch_export.py:54 in forward + ggml_tensor * t1244 = ggml_concat(ctx, in47, t1243, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1245 = ggml_compiler::ops::mul_mat(ctx, t1242, t1231, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1246 = ggml_soft_max_ext(ctx, t1245, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1247 = ggml_permute(ctx, t1244, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1248 = ggml_cont(ctx, t1247); // cont torch_export.py:54 in forward + ggml_tensor * t1249 = ggml_compiler::ops::mul_mat(ctx, t1248, t1246, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1250 = ggml_permute(ctx, t1249, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1251 = ggml_cont(ctx, t1250); // cont torch_export.py:54 in forward + ggml_tensor * t1252 = ggml_compiler::ops::reshape(ctx, t1251, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1253 = ggml_compiler::ops::reshape(ctx, t1252, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1254 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_gen_weight, t1253); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1255 = ggml_compiler::ops::reshape(ctx, t1254, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1256 = ggml_add(ctx, t1205, t1255); // add torch_export.py:54 in forward + ggml_tensor * t1257 = ggml_rms_norm(ctx, t1256, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1258 = ggml_mul(ctx, t1257, net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1259 = ggml_compiler::ops::reshape(ctx, t1258, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1260 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_gen_up_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1261 = ggml_compiler::ops::reshape(ctx, t1260, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1262 = ggml_relu(ctx, t1261); // relu net.mot_backbone.model.language_model.layers.19.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1263 = ggml_sqr(ctx, t1262); // sqr net.mot_backbone.model.language_model.layers.19.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1264 = ggml_compiler::ops::reshape(ctx, t1263, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1265 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_gen_down_proj_weight, t1264); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1266 = ggml_compiler::ops::reshape(ctx, t1265, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1267 = ggml_add(ctx, t1256, t1266); // add torch_export.py:54 in forward + ggml_tensor * t1268 = ggml_rms_norm(ctx, t1267, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1269 = ggml_mul(ctx, t1268, net_mot_backbone_model_language_model_layers_20_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1270 = ggml_compiler::ops::reshape(ctx, t1269, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1271 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_gen_weight, t1270); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1272 = ggml_compiler::ops::reshape(ctx, t1271, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1273 = ggml_rms_norm(ctx, t1272, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1274 = ggml_mul(ctx, t1273, net_mot_backbone_model_language_model_layers_20_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1275 = ggml_permute(ctx, t1274, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1276 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_gen_weight, t1270); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1277 = ggml_compiler::ops::reshape(ctx, t1276, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1278 = ggml_rms_norm(ctx, t1277, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1279 = ggml_mul(ctx, t1278, net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1280 = ggml_permute(ctx, t1279, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1281 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_gen_weight, t1270); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1282 = ggml_compiler::ops::reshape(ctx, t1281, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1283 = ggml_permute(ctx, t1282, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1284 = ggml_cont(ctx, t1275); // cont torch_export.py:54 in forward + ggml_tensor * t1285 = ggml_mul(ctx, t1284, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1286 = ggml_compiler::ops::slice(ctx, t1275, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1287 = ggml_cont(ctx, t1286); // cont torch_export.py:54 in forward + ggml_tensor * t1288 = ggml_neg(ctx, t1287); // neg torch_export.py:54 in forward + ggml_tensor * t1289 = ggml_compiler::ops::slice(ctx, t1275, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1290 = ggml_cont(ctx, t1289); // cont torch_export.py:54 in forward + ggml_tensor * t1291 = ggml_concat(ctx, t1288, t1290, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1292 = ggml_mul(ctx, t1291, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1293 = ggml_add(ctx, t1285, t1292); // add torch_export.py:54 in forward + ggml_tensor * t1294 = ggml_cont(ctx, t1280); // cont torch_export.py:54 in forward + ggml_tensor * t1295 = ggml_mul(ctx, t1294, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1296 = ggml_compiler::ops::slice(ctx, t1280, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1297 = ggml_cont(ctx, t1296); // cont torch_export.py:54 in forward + ggml_tensor * t1298 = ggml_neg(ctx, t1297); // neg torch_export.py:54 in forward + ggml_tensor * t1299 = ggml_compiler::ops::slice(ctx, t1280, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1300 = ggml_cont(ctx, t1299); // cont torch_export.py:54 in forward + ggml_tensor * t1301 = ggml_concat(ctx, t1298, t1300, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1302 = ggml_mul(ctx, t1301, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1303 = ggml_add(ctx, t1295, t1302); // add torch_export.py:54 in forward + ggml_tensor * t1304 = ggml_concat(ctx, in48, t1303, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1305 = ggml_cont(ctx, t1283); // cont torch_export.py:54 in forward + ggml_tensor * t1306 = ggml_concat(ctx, in49, t1305, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1307 = ggml_compiler::ops::mul_mat(ctx, t1304, t1293, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1308 = ggml_soft_max_ext(ctx, t1307, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1309 = ggml_permute(ctx, t1306, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1310 = ggml_cont(ctx, t1309); // cont torch_export.py:54 in forward + ggml_tensor * t1311 = ggml_compiler::ops::mul_mat(ctx, t1310, t1308, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1312 = ggml_permute(ctx, t1311, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1313 = ggml_cont(ctx, t1312); // cont torch_export.py:54 in forward + ggml_tensor * t1314 = ggml_compiler::ops::reshape(ctx, t1313, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1315 = ggml_compiler::ops::reshape(ctx, t1314, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1316 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_gen_weight, t1315); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1317 = ggml_compiler::ops::reshape(ctx, t1316, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1318 = ggml_add(ctx, t1267, t1317); // add torch_export.py:54 in forward + ggml_tensor * t1319 = ggml_rms_norm(ctx, t1318, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1320 = ggml_mul(ctx, t1319, net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1321 = ggml_compiler::ops::reshape(ctx, t1320, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1322 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_gen_up_proj_weight, t1321); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1323 = ggml_compiler::ops::reshape(ctx, t1322, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1324 = ggml_relu(ctx, t1323); // relu net.mot_backbone.model.language_model.layers.20.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1325 = ggml_sqr(ctx, t1324); // sqr net.mot_backbone.model.language_model.layers.20.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1326 = ggml_compiler::ops::reshape(ctx, t1325, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1327 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_gen_down_proj_weight, t1326); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1328 = ggml_compiler::ops::reshape(ctx, t1327, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1329 = ggml_add(ctx, t1318, t1328); // add torch_export.py:54 in forward + ggml_tensor * t1330 = ggml_rms_norm(ctx, t1329, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1331 = ggml_mul(ctx, t1330, net_mot_backbone_model_language_model_layers_21_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1332 = ggml_compiler::ops::reshape(ctx, t1331, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1333 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_gen_weight, t1332); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1334 = ggml_compiler::ops::reshape(ctx, t1333, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1335 = ggml_rms_norm(ctx, t1334, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1336 = ggml_mul(ctx, t1335, net_mot_backbone_model_language_model_layers_21_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1337 = ggml_permute(ctx, t1336, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1338 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_gen_weight, t1332); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1339 = ggml_compiler::ops::reshape(ctx, t1338, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1340 = ggml_rms_norm(ctx, t1339, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1341 = ggml_mul(ctx, t1340, net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1342 = ggml_permute(ctx, t1341, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1343 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_gen_weight, t1332); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1344 = ggml_compiler::ops::reshape(ctx, t1343, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1345 = ggml_permute(ctx, t1344, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1346 = ggml_cont(ctx, t1337); // cont torch_export.py:54 in forward + ggml_tensor * t1347 = ggml_mul(ctx, t1346, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1348 = ggml_compiler::ops::slice(ctx, t1337, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1349 = ggml_cont(ctx, t1348); // cont torch_export.py:54 in forward + ggml_tensor * t1350 = ggml_neg(ctx, t1349); // neg torch_export.py:54 in forward + ggml_tensor * t1351 = ggml_compiler::ops::slice(ctx, t1337, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1352 = ggml_cont(ctx, t1351); // cont torch_export.py:54 in forward + ggml_tensor * t1353 = ggml_concat(ctx, t1350, t1352, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1354 = ggml_mul(ctx, t1353, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1355 = ggml_add(ctx, t1347, t1354); // add torch_export.py:54 in forward + ggml_tensor * t1356 = ggml_cont(ctx, t1342); // cont torch_export.py:54 in forward + ggml_tensor * t1357 = ggml_mul(ctx, t1356, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1358 = ggml_compiler::ops::slice(ctx, t1342, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1359 = ggml_cont(ctx, t1358); // cont torch_export.py:54 in forward + ggml_tensor * t1360 = ggml_neg(ctx, t1359); // neg torch_export.py:54 in forward + ggml_tensor * t1361 = ggml_compiler::ops::slice(ctx, t1342, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1362 = ggml_cont(ctx, t1361); // cont torch_export.py:54 in forward + ggml_tensor * t1363 = ggml_concat(ctx, t1360, t1362, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1364 = ggml_mul(ctx, t1363, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1365 = ggml_add(ctx, t1357, t1364); // add torch_export.py:54 in forward + ggml_tensor * t1366 = ggml_concat(ctx, in50, t1365, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1367 = ggml_cont(ctx, t1345); // cont torch_export.py:54 in forward + ggml_tensor * t1368 = ggml_concat(ctx, in51, t1367, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1369 = ggml_compiler::ops::mul_mat(ctx, t1366, t1355, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1370 = ggml_soft_max_ext(ctx, t1369, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1371 = ggml_permute(ctx, t1368, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1372 = ggml_cont(ctx, t1371); // cont torch_export.py:54 in forward + ggml_tensor * t1373 = ggml_compiler::ops::mul_mat(ctx, t1372, t1370, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1374 = ggml_permute(ctx, t1373, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1375 = ggml_cont(ctx, t1374); // cont torch_export.py:54 in forward + ggml_tensor * t1376 = ggml_compiler::ops::reshape(ctx, t1375, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1377 = ggml_compiler::ops::reshape(ctx, t1376, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1378 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_gen_weight, t1377); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1379 = ggml_compiler::ops::reshape(ctx, t1378, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1380 = ggml_add(ctx, t1329, t1379); // add torch_export.py:54 in forward + ggml_tensor * t1381 = ggml_rms_norm(ctx, t1380, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1382 = ggml_mul(ctx, t1381, net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1383 = ggml_compiler::ops::reshape(ctx, t1382, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1384 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_gen_up_proj_weight, t1383); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1385 = ggml_compiler::ops::reshape(ctx, t1384, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1386 = ggml_relu(ctx, t1385); // relu net.mot_backbone.model.language_model.layers.21.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1387 = ggml_sqr(ctx, t1386); // sqr net.mot_backbone.model.language_model.layers.21.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1388 = ggml_compiler::ops::reshape(ctx, t1387, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1389 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_gen_down_proj_weight, t1388); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1390 = ggml_compiler::ops::reshape(ctx, t1389, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1391 = ggml_add(ctx, t1380, t1390); // add torch_export.py:54 in forward + ggml_tensor * t1392 = ggml_rms_norm(ctx, t1391, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1393 = ggml_mul(ctx, t1392, net_mot_backbone_model_language_model_layers_22_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1394 = ggml_compiler::ops::reshape(ctx, t1393, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1395 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_gen_weight, t1394); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1396 = ggml_compiler::ops::reshape(ctx, t1395, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1397 = ggml_rms_norm(ctx, t1396, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1398 = ggml_mul(ctx, t1397, net_mot_backbone_model_language_model_layers_22_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1399 = ggml_permute(ctx, t1398, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1400 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_gen_weight, t1394); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1401 = ggml_compiler::ops::reshape(ctx, t1400, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1402 = ggml_rms_norm(ctx, t1401, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1403 = ggml_mul(ctx, t1402, net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1404 = ggml_permute(ctx, t1403, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1405 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_gen_weight, t1394); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1406 = ggml_compiler::ops::reshape(ctx, t1405, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1407 = ggml_permute(ctx, t1406, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1408 = ggml_cont(ctx, t1399); // cont torch_export.py:54 in forward + ggml_tensor * t1409 = ggml_mul(ctx, t1408, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1410 = ggml_compiler::ops::slice(ctx, t1399, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1411 = ggml_cont(ctx, t1410); // cont torch_export.py:54 in forward + ggml_tensor * t1412 = ggml_neg(ctx, t1411); // neg torch_export.py:54 in forward + ggml_tensor * t1413 = ggml_compiler::ops::slice(ctx, t1399, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1414 = ggml_cont(ctx, t1413); // cont torch_export.py:54 in forward + ggml_tensor * t1415 = ggml_concat(ctx, t1412, t1414, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1416 = ggml_mul(ctx, t1415, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1417 = ggml_add(ctx, t1409, t1416); // add torch_export.py:54 in forward + ggml_tensor * t1418 = ggml_cont(ctx, t1404); // cont torch_export.py:54 in forward + ggml_tensor * t1419 = ggml_mul(ctx, t1418, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1420 = ggml_compiler::ops::slice(ctx, t1404, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1421 = ggml_cont(ctx, t1420); // cont torch_export.py:54 in forward + ggml_tensor * t1422 = ggml_neg(ctx, t1421); // neg torch_export.py:54 in forward + ggml_tensor * t1423 = ggml_compiler::ops::slice(ctx, t1404, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1424 = ggml_cont(ctx, t1423); // cont torch_export.py:54 in forward + ggml_tensor * t1425 = ggml_concat(ctx, t1422, t1424, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1426 = ggml_mul(ctx, t1425, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1427 = ggml_add(ctx, t1419, t1426); // add torch_export.py:54 in forward + ggml_tensor * t1428 = ggml_concat(ctx, in52, t1427, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1429 = ggml_cont(ctx, t1407); // cont torch_export.py:54 in forward + ggml_tensor * t1430 = ggml_concat(ctx, in53, t1429, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1431 = ggml_compiler::ops::mul_mat(ctx, t1428, t1417, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1432 = ggml_soft_max_ext(ctx, t1431, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1433 = ggml_permute(ctx, t1430, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1434 = ggml_cont(ctx, t1433); // cont torch_export.py:54 in forward + ggml_tensor * t1435 = ggml_compiler::ops::mul_mat(ctx, t1434, t1432, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1436 = ggml_permute(ctx, t1435, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1437 = ggml_cont(ctx, t1436); // cont torch_export.py:54 in forward + ggml_tensor * t1438 = ggml_compiler::ops::reshape(ctx, t1437, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1439 = ggml_compiler::ops::reshape(ctx, t1438, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1440 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_gen_weight, t1439); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1441 = ggml_compiler::ops::reshape(ctx, t1440, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1442 = ggml_add(ctx, t1391, t1441); // add torch_export.py:54 in forward + ggml_tensor * t1443 = ggml_rms_norm(ctx, t1442, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1444 = ggml_mul(ctx, t1443, net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1445 = ggml_compiler::ops::reshape(ctx, t1444, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1446 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_gen_up_proj_weight, t1445); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1447 = ggml_compiler::ops::reshape(ctx, t1446, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1448 = ggml_relu(ctx, t1447); // relu net.mot_backbone.model.language_model.layers.22.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1449 = ggml_sqr(ctx, t1448); // sqr net.mot_backbone.model.language_model.layers.22.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1450 = ggml_compiler::ops::reshape(ctx, t1449, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1451 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_gen_down_proj_weight, t1450); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1452 = ggml_compiler::ops::reshape(ctx, t1451, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1453 = ggml_add(ctx, t1442, t1452); // add torch_export.py:54 in forward + ggml_tensor * t1454 = ggml_rms_norm(ctx, t1453, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1455 = ggml_mul(ctx, t1454, net_mot_backbone_model_language_model_layers_23_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1456 = ggml_compiler::ops::reshape(ctx, t1455, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1457 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_gen_weight, t1456); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1458 = ggml_compiler::ops::reshape(ctx, t1457, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1459 = ggml_rms_norm(ctx, t1458, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1460 = ggml_mul(ctx, t1459, net_mot_backbone_model_language_model_layers_23_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1461 = ggml_permute(ctx, t1460, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1462 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_gen_weight, t1456); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1463 = ggml_compiler::ops::reshape(ctx, t1462, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1464 = ggml_rms_norm(ctx, t1463, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1465 = ggml_mul(ctx, t1464, net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1466 = ggml_permute(ctx, t1465, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1467 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_gen_weight, t1456); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1468 = ggml_compiler::ops::reshape(ctx, t1467, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1469 = ggml_permute(ctx, t1468, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1470 = ggml_cont(ctx, t1461); // cont torch_export.py:54 in forward + ggml_tensor * t1471 = ggml_mul(ctx, t1470, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1472 = ggml_compiler::ops::slice(ctx, t1461, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1473 = ggml_cont(ctx, t1472); // cont torch_export.py:54 in forward + ggml_tensor * t1474 = ggml_neg(ctx, t1473); // neg torch_export.py:54 in forward + ggml_tensor * t1475 = ggml_compiler::ops::slice(ctx, t1461, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1476 = ggml_cont(ctx, t1475); // cont torch_export.py:54 in forward + ggml_tensor * t1477 = ggml_concat(ctx, t1474, t1476, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1478 = ggml_mul(ctx, t1477, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1479 = ggml_add(ctx, t1471, t1478); // add torch_export.py:54 in forward + ggml_tensor * t1480 = ggml_cont(ctx, t1466); // cont torch_export.py:54 in forward + ggml_tensor * t1481 = ggml_mul(ctx, t1480, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1482 = ggml_compiler::ops::slice(ctx, t1466, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1483 = ggml_cont(ctx, t1482); // cont torch_export.py:54 in forward + ggml_tensor * t1484 = ggml_neg(ctx, t1483); // neg torch_export.py:54 in forward + ggml_tensor * t1485 = ggml_compiler::ops::slice(ctx, t1466, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1486 = ggml_cont(ctx, t1485); // cont torch_export.py:54 in forward + ggml_tensor * t1487 = ggml_concat(ctx, t1484, t1486, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1488 = ggml_mul(ctx, t1487, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1489 = ggml_add(ctx, t1481, t1488); // add torch_export.py:54 in forward + ggml_tensor * t1490 = ggml_concat(ctx, in54, t1489, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1491 = ggml_cont(ctx, t1469); // cont torch_export.py:54 in forward + ggml_tensor * t1492 = ggml_concat(ctx, in55, t1491, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1493 = ggml_compiler::ops::mul_mat(ctx, t1490, t1479, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1494 = ggml_soft_max_ext(ctx, t1493, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1495 = ggml_permute(ctx, t1492, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1496 = ggml_cont(ctx, t1495); // cont torch_export.py:54 in forward + ggml_tensor * t1497 = ggml_compiler::ops::mul_mat(ctx, t1496, t1494, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1498 = ggml_permute(ctx, t1497, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1499 = ggml_cont(ctx, t1498); // cont torch_export.py:54 in forward + ggml_tensor * t1500 = ggml_compiler::ops::reshape(ctx, t1499, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1501 = ggml_compiler::ops::reshape(ctx, t1500, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1502 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_gen_weight, t1501); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1503 = ggml_compiler::ops::reshape(ctx, t1502, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1504 = ggml_add(ctx, t1453, t1503); // add torch_export.py:54 in forward + ggml_tensor * t1505 = ggml_rms_norm(ctx, t1504, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1506 = ggml_mul(ctx, t1505, net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1507 = ggml_compiler::ops::reshape(ctx, t1506, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1508 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_gen_up_proj_weight, t1507); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1509 = ggml_compiler::ops::reshape(ctx, t1508, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1510 = ggml_relu(ctx, t1509); // relu net.mot_backbone.model.language_model.layers.23.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1511 = ggml_sqr(ctx, t1510); // sqr net.mot_backbone.model.language_model.layers.23.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1512 = ggml_compiler::ops::reshape(ctx, t1511, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1513 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_gen_down_proj_weight, t1512); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1514 = ggml_compiler::ops::reshape(ctx, t1513, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1515 = ggml_add(ctx, t1504, t1514); // add torch_export.py:54 in forward + ggml_tensor * t1516 = ggml_rms_norm(ctx, t1515, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1517 = ggml_mul(ctx, t1516, net_mot_backbone_model_language_model_layers_24_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1518 = ggml_compiler::ops::reshape(ctx, t1517, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1519 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_gen_weight, t1518); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1520 = ggml_compiler::ops::reshape(ctx, t1519, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1521 = ggml_rms_norm(ctx, t1520, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1522 = ggml_mul(ctx, t1521, net_mot_backbone_model_language_model_layers_24_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1523 = ggml_permute(ctx, t1522, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1524 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_gen_weight, t1518); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1525 = ggml_compiler::ops::reshape(ctx, t1524, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1526 = ggml_rms_norm(ctx, t1525, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1527 = ggml_mul(ctx, t1526, net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1528 = ggml_permute(ctx, t1527, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1529 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_gen_weight, t1518); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1530 = ggml_compiler::ops::reshape(ctx, t1529, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1531 = ggml_permute(ctx, t1530, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1532 = ggml_cont(ctx, t1523); // cont torch_export.py:54 in forward + ggml_tensor * t1533 = ggml_mul(ctx, t1532, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1534 = ggml_compiler::ops::slice(ctx, t1523, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1535 = ggml_cont(ctx, t1534); // cont torch_export.py:54 in forward + ggml_tensor * t1536 = ggml_neg(ctx, t1535); // neg torch_export.py:54 in forward + ggml_tensor * t1537 = ggml_compiler::ops::slice(ctx, t1523, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1538 = ggml_cont(ctx, t1537); // cont torch_export.py:54 in forward + ggml_tensor * t1539 = ggml_concat(ctx, t1536, t1538, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1540 = ggml_mul(ctx, t1539, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1541 = ggml_add(ctx, t1533, t1540); // add torch_export.py:54 in forward + ggml_tensor * t1542 = ggml_cont(ctx, t1528); // cont torch_export.py:54 in forward + ggml_tensor * t1543 = ggml_mul(ctx, t1542, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1544 = ggml_compiler::ops::slice(ctx, t1528, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1545 = ggml_cont(ctx, t1544); // cont torch_export.py:54 in forward + ggml_tensor * t1546 = ggml_neg(ctx, t1545); // neg torch_export.py:54 in forward + ggml_tensor * t1547 = ggml_compiler::ops::slice(ctx, t1528, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1548 = ggml_cont(ctx, t1547); // cont torch_export.py:54 in forward + ggml_tensor * t1549 = ggml_concat(ctx, t1546, t1548, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1550 = ggml_mul(ctx, t1549, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1551 = ggml_add(ctx, t1543, t1550); // add torch_export.py:54 in forward + ggml_tensor * t1552 = ggml_concat(ctx, in56, t1551, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1553 = ggml_cont(ctx, t1531); // cont torch_export.py:54 in forward + ggml_tensor * t1554 = ggml_concat(ctx, in57, t1553, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1555 = ggml_compiler::ops::mul_mat(ctx, t1552, t1541, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1556 = ggml_soft_max_ext(ctx, t1555, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1557 = ggml_permute(ctx, t1554, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1558 = ggml_cont(ctx, t1557); // cont torch_export.py:54 in forward + ggml_tensor * t1559 = ggml_compiler::ops::mul_mat(ctx, t1558, t1556, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1560 = ggml_permute(ctx, t1559, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1561 = ggml_cont(ctx, t1560); // cont torch_export.py:54 in forward + ggml_tensor * t1562 = ggml_compiler::ops::reshape(ctx, t1561, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1563 = ggml_compiler::ops::reshape(ctx, t1562, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1564 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_gen_weight, t1563); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1565 = ggml_compiler::ops::reshape(ctx, t1564, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1566 = ggml_add(ctx, t1515, t1565); // add torch_export.py:54 in forward + ggml_tensor * t1567 = ggml_rms_norm(ctx, t1566, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1568 = ggml_mul(ctx, t1567, net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1569 = ggml_compiler::ops::reshape(ctx, t1568, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1570 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_gen_up_proj_weight, t1569); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1571 = ggml_compiler::ops::reshape(ctx, t1570, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1572 = ggml_relu(ctx, t1571); // relu net.mot_backbone.model.language_model.layers.24.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1573 = ggml_sqr(ctx, t1572); // sqr net.mot_backbone.model.language_model.layers.24.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1574 = ggml_compiler::ops::reshape(ctx, t1573, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1575 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_gen_down_proj_weight, t1574); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1576 = ggml_compiler::ops::reshape(ctx, t1575, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1577 = ggml_add(ctx, t1566, t1576); // add torch_export.py:54 in forward + ggml_tensor * t1578 = ggml_rms_norm(ctx, t1577, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1579 = ggml_mul(ctx, t1578, net_mot_backbone_model_language_model_layers_25_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1580 = ggml_compiler::ops::reshape(ctx, t1579, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1581 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_gen_weight, t1580); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1582 = ggml_compiler::ops::reshape(ctx, t1581, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1583 = ggml_rms_norm(ctx, t1582, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1584 = ggml_mul(ctx, t1583, net_mot_backbone_model_language_model_layers_25_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1585 = ggml_permute(ctx, t1584, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1586 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_gen_weight, t1580); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1587 = ggml_compiler::ops::reshape(ctx, t1586, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1588 = ggml_rms_norm(ctx, t1587, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1589 = ggml_mul(ctx, t1588, net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1590 = ggml_permute(ctx, t1589, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1591 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_gen_weight, t1580); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1592 = ggml_compiler::ops::reshape(ctx, t1591, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1593 = ggml_permute(ctx, t1592, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1594 = ggml_cont(ctx, t1585); // cont torch_export.py:54 in forward + ggml_tensor * t1595 = ggml_mul(ctx, t1594, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1596 = ggml_compiler::ops::slice(ctx, t1585, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1597 = ggml_cont(ctx, t1596); // cont torch_export.py:54 in forward + ggml_tensor * t1598 = ggml_neg(ctx, t1597); // neg torch_export.py:54 in forward + ggml_tensor * t1599 = ggml_compiler::ops::slice(ctx, t1585, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1600 = ggml_cont(ctx, t1599); // cont torch_export.py:54 in forward + ggml_tensor * t1601 = ggml_concat(ctx, t1598, t1600, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1602 = ggml_mul(ctx, t1601, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1603 = ggml_add(ctx, t1595, t1602); // add torch_export.py:54 in forward + ggml_tensor * t1604 = ggml_cont(ctx, t1590); // cont torch_export.py:54 in forward + ggml_tensor * t1605 = ggml_mul(ctx, t1604, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1606 = ggml_compiler::ops::slice(ctx, t1590, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1607 = ggml_cont(ctx, t1606); // cont torch_export.py:54 in forward + ggml_tensor * t1608 = ggml_neg(ctx, t1607); // neg torch_export.py:54 in forward + ggml_tensor * t1609 = ggml_compiler::ops::slice(ctx, t1590, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1610 = ggml_cont(ctx, t1609); // cont torch_export.py:54 in forward + ggml_tensor * t1611 = ggml_concat(ctx, t1608, t1610, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1612 = ggml_mul(ctx, t1611, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1613 = ggml_add(ctx, t1605, t1612); // add torch_export.py:54 in forward + ggml_tensor * t1614 = ggml_concat(ctx, in58, t1613, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1615 = ggml_cont(ctx, t1593); // cont torch_export.py:54 in forward + ggml_tensor * t1616 = ggml_concat(ctx, in59, t1615, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1617 = ggml_compiler::ops::mul_mat(ctx, t1614, t1603, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1618 = ggml_soft_max_ext(ctx, t1617, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1619 = ggml_permute(ctx, t1616, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1620 = ggml_cont(ctx, t1619); // cont torch_export.py:54 in forward + ggml_tensor * t1621 = ggml_compiler::ops::mul_mat(ctx, t1620, t1618, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1622 = ggml_permute(ctx, t1621, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1623 = ggml_cont(ctx, t1622); // cont torch_export.py:54 in forward + ggml_tensor * t1624 = ggml_compiler::ops::reshape(ctx, t1623, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1625 = ggml_compiler::ops::reshape(ctx, t1624, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1626 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_gen_weight, t1625); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1627 = ggml_compiler::ops::reshape(ctx, t1626, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1628 = ggml_add(ctx, t1577, t1627); // add torch_export.py:54 in forward + ggml_tensor * t1629 = ggml_rms_norm(ctx, t1628, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1630 = ggml_mul(ctx, t1629, net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1631 = ggml_compiler::ops::reshape(ctx, t1630, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1632 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_gen_up_proj_weight, t1631); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1633 = ggml_compiler::ops::reshape(ctx, t1632, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1634 = ggml_relu(ctx, t1633); // relu net.mot_backbone.model.language_model.layers.25.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1635 = ggml_sqr(ctx, t1634); // sqr net.mot_backbone.model.language_model.layers.25.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1636 = ggml_compiler::ops::reshape(ctx, t1635, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1637 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_gen_down_proj_weight, t1636); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1638 = ggml_compiler::ops::reshape(ctx, t1637, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1639 = ggml_add(ctx, t1628, t1638); // add torch_export.py:54 in forward + ggml_tensor * t1640 = ggml_rms_norm(ctx, t1639, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1641 = ggml_mul(ctx, t1640, net_mot_backbone_model_language_model_layers_26_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1642 = ggml_compiler::ops::reshape(ctx, t1641, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1643 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_gen_weight, t1642); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1644 = ggml_compiler::ops::reshape(ctx, t1643, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1645 = ggml_rms_norm(ctx, t1644, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1646 = ggml_mul(ctx, t1645, net_mot_backbone_model_language_model_layers_26_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1647 = ggml_permute(ctx, t1646, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1648 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_gen_weight, t1642); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1649 = ggml_compiler::ops::reshape(ctx, t1648, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1650 = ggml_rms_norm(ctx, t1649, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1651 = ggml_mul(ctx, t1650, net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1652 = ggml_permute(ctx, t1651, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1653 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_gen_weight, t1642); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1654 = ggml_compiler::ops::reshape(ctx, t1653, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1655 = ggml_permute(ctx, t1654, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1656 = ggml_cont(ctx, t1647); // cont torch_export.py:54 in forward + ggml_tensor * t1657 = ggml_mul(ctx, t1656, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1658 = ggml_compiler::ops::slice(ctx, t1647, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1659 = ggml_cont(ctx, t1658); // cont torch_export.py:54 in forward + ggml_tensor * t1660 = ggml_neg(ctx, t1659); // neg torch_export.py:54 in forward + ggml_tensor * t1661 = ggml_compiler::ops::slice(ctx, t1647, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1662 = ggml_cont(ctx, t1661); // cont torch_export.py:54 in forward + ggml_tensor * t1663 = ggml_concat(ctx, t1660, t1662, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1664 = ggml_mul(ctx, t1663, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1665 = ggml_add(ctx, t1657, t1664); // add torch_export.py:54 in forward + ggml_tensor * t1666 = ggml_cont(ctx, t1652); // cont torch_export.py:54 in forward + ggml_tensor * t1667 = ggml_mul(ctx, t1666, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1668 = ggml_compiler::ops::slice(ctx, t1652, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1669 = ggml_cont(ctx, t1668); // cont torch_export.py:54 in forward + ggml_tensor * t1670 = ggml_neg(ctx, t1669); // neg torch_export.py:54 in forward + ggml_tensor * t1671 = ggml_compiler::ops::slice(ctx, t1652, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1672 = ggml_cont(ctx, t1671); // cont torch_export.py:54 in forward + ggml_tensor * t1673 = ggml_concat(ctx, t1670, t1672, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1674 = ggml_mul(ctx, t1673, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1675 = ggml_add(ctx, t1667, t1674); // add torch_export.py:54 in forward + ggml_tensor * t1676 = ggml_concat(ctx, in60, t1675, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1677 = ggml_cont(ctx, t1655); // cont torch_export.py:54 in forward + ggml_tensor * t1678 = ggml_concat(ctx, in61, t1677, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1679 = ggml_compiler::ops::mul_mat(ctx, t1676, t1665, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1680 = ggml_soft_max_ext(ctx, t1679, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1681 = ggml_permute(ctx, t1678, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1682 = ggml_cont(ctx, t1681); // cont torch_export.py:54 in forward + ggml_tensor * t1683 = ggml_compiler::ops::mul_mat(ctx, t1682, t1680, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1684 = ggml_permute(ctx, t1683, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1685 = ggml_cont(ctx, t1684); // cont torch_export.py:54 in forward + ggml_tensor * t1686 = ggml_compiler::ops::reshape(ctx, t1685, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1687 = ggml_compiler::ops::reshape(ctx, t1686, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1688 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_gen_weight, t1687); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1689 = ggml_compiler::ops::reshape(ctx, t1688, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1690 = ggml_add(ctx, t1639, t1689); // add torch_export.py:54 in forward + ggml_tensor * t1691 = ggml_rms_norm(ctx, t1690, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1692 = ggml_mul(ctx, t1691, net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1693 = ggml_compiler::ops::reshape(ctx, t1692, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1694 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_gen_up_proj_weight, t1693); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1695 = ggml_compiler::ops::reshape(ctx, t1694, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1696 = ggml_relu(ctx, t1695); // relu net.mot_backbone.model.language_model.layers.26.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1697 = ggml_sqr(ctx, t1696); // sqr net.mot_backbone.model.language_model.layers.26.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1698 = ggml_compiler::ops::reshape(ctx, t1697, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1699 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_gen_down_proj_weight, t1698); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1700 = ggml_compiler::ops::reshape(ctx, t1699, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1701 = ggml_add(ctx, t1690, t1700); // add torch_export.py:54 in forward + ggml_tensor * t1702 = ggml_rms_norm(ctx, t1701, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.input_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1703 = ggml_mul(ctx, t1702, net_mot_backbone_model_language_model_layers_27_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.input_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1704 = ggml_compiler::ops::reshape(ctx, t1703, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1705 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_q_proj_gen_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.q_proj_gen linear.py:134 in forward + ggml_tensor * t1706 = ggml_compiler::ops::reshape(ctx, t1705, 128, 16, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1707 = ggml_rms_norm(ctx, t1706, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1708 = ggml_mul(ctx, t1707, net_mot_backbone_model_language_model_layers_27_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1709 = ggml_permute(ctx, t1708, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1710 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_gen_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.k_proj_gen linear.py:134 in forward + ggml_tensor * t1711 = ggml_compiler::ops::reshape(ctx, t1710, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1712 = ggml_rms_norm(ctx, t1711, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1713 = ggml_mul(ctx, t1712, net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1714 = ggml_permute(ctx, t1713, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1715 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_gen_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.v_proj_gen linear.py:134 in forward + ggml_tensor * t1716 = ggml_compiler::ops::reshape(ctx, t1715, 128, 8, 266, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1717 = ggml_permute(ctx, t1716, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1718 = ggml_cont(ctx, t1709); // cont torch_export.py:54 in forward + ggml_tensor * t1719 = ggml_mul(ctx, t1718, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1720 = ggml_compiler::ops::slice(ctx, t1709, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1721 = ggml_cont(ctx, t1720); // cont torch_export.py:54 in forward + ggml_tensor * t1722 = ggml_neg(ctx, t1721); // neg torch_export.py:54 in forward + ggml_tensor * t1723 = ggml_compiler::ops::slice(ctx, t1709, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward + ggml_tensor * t1724 = ggml_cont(ctx, t1723); // cont torch_export.py:54 in forward + ggml_tensor * t1725 = ggml_concat(ctx, t1722, t1724, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1726 = ggml_mul(ctx, t1725, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1727 = ggml_add(ctx, t1719, t1726); // add torch_export.py:54 in forward + ggml_tensor * t1728 = ggml_cont(ctx, t1714); // cont torch_export.py:54 in forward + ggml_tensor * t1729 = ggml_mul(ctx, t1728, t42); // mul torch_export.py:54 in forward + ggml_tensor * t1730 = ggml_compiler::ops::slice(ctx, t1714, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1731 = ggml_cont(ctx, t1730); // cont torch_export.py:54 in forward + ggml_tensor * t1732 = ggml_neg(ctx, t1731); // neg torch_export.py:54 in forward + ggml_tensor * t1733 = ggml_compiler::ops::slice(ctx, t1714, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward + ggml_tensor * t1734 = ggml_cont(ctx, t1733); // cont torch_export.py:54 in forward + ggml_tensor * t1735 = ggml_concat(ctx, t1732, t1734, 0); // concat torch_export.py:54 in forward + ggml_tensor * t1736 = ggml_mul(ctx, t1735, t51); // mul torch_export.py:54 in forward + ggml_tensor * t1737 = ggml_add(ctx, t1729, t1736); // add torch_export.py:54 in forward + ggml_tensor * t1738 = ggml_concat(ctx, in62, t1737, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1739 = ggml_cont(ctx, t1717); // cont torch_export.py:54 in forward + ggml_tensor * t1740 = ggml_concat(ctx, in63, t1739, 1); // concat torch_export.py:54 in forward + ggml_tensor * t1741 = ggml_compiler::ops::mul_mat(ctx, t1738, t1727, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1742 = ggml_soft_max_ext(ctx, t1741, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward + ggml_tensor * t1743 = ggml_permute(ctx, t1740, 1, 0, 2, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1744 = ggml_cont(ctx, t1743); // cont torch_export.py:54 in forward + ggml_tensor * t1745 = ggml_compiler::ops::mul_mat(ctx, t1744, t1742, true); // mul_mat torch_export.py:54 in forward + ggml_tensor * t1746 = ggml_permute(ctx, t1745, 0, 2, 1, 3); // permute torch_export.py:54 in forward + ggml_tensor * t1747 = ggml_cont(ctx, t1746); // cont torch_export.py:54 in forward + ggml_tensor * t1748 = ggml_compiler::ops::reshape(ctx, t1747, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward + ggml_tensor * t1749 = ggml_compiler::ops::reshape(ctx, t1748, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1750 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_o_proj_gen_weight, t1749); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1751 = ggml_compiler::ops::reshape(ctx, t1750, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.o_proj_gen linear.py:134 in forward + ggml_tensor * t1752 = ggml_add(ctx, t1701, t1751); // add torch_export.py:54 in forward + ggml_tensor * t1753 = ggml_rms_norm(ctx, t1752, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1754 = ggml_mul(ctx, t1753, net_mot_backbone_model_language_model_layers_27_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1755 = ggml_compiler::ops::reshape(ctx, t1754, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1756 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_mlp_gen_up_proj_weight, t1755); // mul_mat net.mot_backbone.model.language_model.layers.27.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1757 = ggml_compiler::ops::reshape(ctx, t1756, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.up_proj linear.py:134 in forward + ggml_tensor * t1758 = ggml_relu(ctx, t1757); // relu net.mot_backbone.model.language_model.layers.27.mlp_gen.act_fn activations.py:212 in forward + ggml_tensor * t1759 = ggml_sqr(ctx, t1758); // sqr net.mot_backbone.model.language_model.layers.27.mlp_gen.act_fn activations.py:213 in forward + ggml_tensor * t1760 = ggml_compiler::ops::reshape(ctx, t1759, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1761 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_mlp_gen_down_proj_weight, t1760); // mul_mat net.mot_backbone.model.language_model.layers.27.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1762 = ggml_compiler::ops::reshape(ctx, t1761, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.down_proj linear.py:134 in forward + ggml_tensor * t1763 = ggml_add(ctx, t1752, t1762); // add torch_export.py:54 in forward + ggml_tensor * t1764 = ggml_rms_norm(ctx, t1763, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.norm_gen modeling_cosmos3.py:2436 in forward + ggml_tensor * t1765 = ggml_mul(ctx, t1764, net_mot_backbone_model_language_model_norm_gen_weight); // mul net.mot_backbone.model.language_model.norm_gen modeling_cosmos3.py:2437 in forward + ggml_tensor * t1766 = ggml_compiler::ops::slice(ctx, t1765, 1, 0, 2048, 250, 1, 1); // view torch_export.py:54 in forward + ggml_tensor * t1767 = ggml_compiler::ops::reshape(ctx, t1766, 2048, 250, 1, 1); // reshape net.llm2vae linear.py:134 in forward + ggml_tensor * t1768 = ggml_mul_mat(ctx, net_llm2vae_weight, t1767); // mul_mat net.llm2vae linear.py:134 in forward + ggml_tensor * t1769 = ggml_compiler::ops::reshape(ctx, t1768, 192, 250, 1, 1); // reshape net.llm2vae linear.py:134 in forward + ggml_tensor * t1770 = ggml_add(ctx, t1769, net_llm2vae_bias); // add net.llm2vae linear.py:134 in forward + ggml_tensor * t1771 = ggml_mul(ctx, t1770, const_22); // mul torch_export.py:54 in forward + ggml_tensor * t1772 = ggml_compiler::ops::slice(ctx, t1765, 1, 250, 2048, 16, 1, 1); // view torch_export.py:54 in forward + ggml_tensor * t1773 = ggml_compiler::ops::reshape(ctx, t1772, 2048, 16, 1, 1); // reshape l2a linear.py:134 in forward + ggml_tensor * t1774 = ggml_mul_mat(ctx, l2a_weight, t1773); // mul_mat l2a linear.py:134 in forward + ggml_tensor * t1775 = ggml_compiler::ops::reshape(ctx, t1774, 10, 16, 1, 1); // reshape l2a linear.py:134 in forward + ggml_tensor * t1776 = ggml_add(ctx, t1775, l2a_bias); // add l2a linear.py:134 in forward + ggml_tensor * t1777 = ggml_mul(ctx, t1771, in68); // mul torch_export.py:54 in forward + ggml_tensor * t1778 = ggml_sub(ctx, in0, t1777); // sub torch_export.py:54 in forward + ggml_tensor * t1779 = ggml_mul(ctx, t1776, in68); // mul torch_export.py:54 in forward + ggml_tensor * t1780 = ggml_sub(ctx, in1, t1779); // sub torch_export.py:54 in forward + ggml_tensor * t1781 = ggml_mul(ctx, in0, in69); // mul torch_export.py:54 in forward + ggml_tensor * t1782 = ggml_mul(ctx, in2, in70); // mul torch_export.py:54 in forward + ggml_tensor * t1783 = ggml_add(ctx, t1781, t1782); // add torch_export.py:54 in forward + ggml_tensor * t1784 = ggml_mul(ctx, in4, in71); // mul torch_export.py:54 in forward + ggml_tensor * t1785 = ggml_add(ctx, t1783, t1784); // add torch_export.py:54 in forward + ggml_tensor * t1786 = ggml_mul(ctx, in6, in72); // mul torch_export.py:54 in forward + ggml_tensor * t1787 = ggml_add(ctx, t1785, t1786); // add torch_export.py:54 in forward + ggml_tensor * t1788 = ggml_mul(ctx, t1778, in73); // mul torch_export.py:54 in forward + ggml_tensor * t1789 = ggml_add(ctx, t1787, t1788); // add torch_export.py:54 in forward + ggml_tensor * t1790 = ggml_mul(ctx, in1, in69); // mul torch_export.py:54 in forward + ggml_tensor * t1791 = ggml_mul(ctx, in3, in70); // mul torch_export.py:54 in forward + ggml_tensor * t1792 = ggml_add(ctx, t1790, t1791); // add torch_export.py:54 in forward + ggml_tensor * t1793 = ggml_mul(ctx, in5, in71); // mul torch_export.py:54 in forward + ggml_tensor * t1794 = ggml_add(ctx, t1792, t1793); // add torch_export.py:54 in forward + ggml_tensor * t1795 = ggml_mul(ctx, in7, in72); // mul torch_export.py:54 in forward + ggml_tensor * t1796 = ggml_add(ctx, t1794, t1795); // add torch_export.py:54 in forward + ggml_tensor * t1797 = ggml_mul(ctx, t1780, in73); // mul torch_export.py:54 in forward + ggml_tensor * t1798 = ggml_add(ctx, t1796, t1797); // add torch_export.py:54 in forward + ggml_tensor * t1799 = ggml_mul(ctx, t1789, in74); // mul torch_export.py:54 in forward + ggml_tensor * t1800 = ggml_mul(ctx, t1778, in75); // mul torch_export.py:54 in forward + ggml_tensor * t1801 = ggml_add(ctx, t1799, t1800); // add torch_export.py:54 in forward + ggml_tensor * t1802 = ggml_mul(ctx, in4, in76); // mul torch_export.py:54 in forward + ggml_tensor * t1803 = ggml_add(ctx, t1801, t1802); // add torch_export.py:54 in forward + ggml_tensor * t1804 = ggml_mul(ctx, t1798, in74); // mul torch_export.py:54 in forward + ggml_tensor * t1805 = ggml_mul(ctx, t1780, in75); // mul torch_export.py:54 in forward + ggml_tensor * t1806 = ggml_add(ctx, t1804, t1805); // add torch_export.py:54 in forward + ggml_tensor * t1807 = ggml_mul(ctx, in5, in76); // mul torch_export.py:54 in forward + ggml_tensor * t1808 = ggml_add(ctx, t1806, t1807); // add torch_export.py:54 in forward + ggml_tensor * t1809 = ggml_compiler::ops::scale(ctx, t1778, 0.0f, 0.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1810 = ggml_add(ctx, in4, t1809); // add torch_export.py:54 in forward + ggml_tensor * t1811 = ggml_compiler::ops::scale(ctx, t1780, 0.0f, 0.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1812 = ggml_add(ctx, in5, t1811); // add torch_export.py:54 in forward + + ggml_compiler_build_output(B, 0, t1803); + ggml_compiler_build_output(B, 1, t1808); + ggml_compiler_build_output(B, 2, t1789); + ggml_compiler_build_output(B, 3, t1798); + ggml_compiler_build_output(B, 4, t1778); + ggml_compiler_build_output(B, 5, t1780); + ggml_compiler_build_output(B, 6, t1810); + ggml_compiler_build_output(B, 7, t1812); + return 0; +} + +// Stage 'finish': 4 nodes. +int build_finish(ggml_compiler_stage_build * B) { + ggml_context * ctx = ggml_compiler_build_ctx(B); + const bool gpu = ggml_compiler_build_gpu(B); + (void) gpu; + + // Parameters + ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 16, 10] + + // Weights and constants, by GGUF name + ggml_tensor * const_23 = ggml_compiler_build_weight(B, "c.23"); + ggml_tensor * const_24 = ggml_compiler_build_weight(B, "c.24"); + + // Graph + ggml_tensor * t0 = ggml_compiler::ops::scale(ctx, in0, 1.0f, 1.0f); // scale torch_export.py:54 in forward + ggml_tensor * t1 = ggml_mul(ctx, t0, const_23); // mul torch_export.py:54 in forward + ggml_tensor * t2 = ggml_compiler::ops::scale(ctx, t1, 0.5f, 0.0f); // scale torch_export.py:54 in forward + ggml_tensor * t3 = ggml_add(ctx, t2, const_24); // add torch_export.py:54 in forward + + ggml_compiler_build_output(B, 0, t3); + return 0; +} + +} // namespace vla::cosmos3_edge_graphs diff --git a/src/models/cosmos3_edge_ops.h b/src/models/cosmos3_edge_ops.h new file mode 100644 index 00000000..cd5285af --- /dev/null +++ b/src/models/cosmos3_edge_ops.h @@ -0,0 +1,169 @@ +// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Copied unchanged from ggml-compiler (runtime/include/ggml_compiler_ops.h, Apache-2.0, +// https://github.com/khanhnd61-vr/ggml-compiler). cosmos3_edge_graphs.cpp was generated against exactly +// this header, which is what keeps its graphs node for node the ones ggml-compiler's runtime builds. +// If it changes upstream, regenerate the graphs and copy it again together. + +// ggml_compiler_ops.h - ggml expansions of the IR ops that are more than one ggml call. +// +// Shared by the runtime's op dispatcher and by C++ generated with `ggml-compiler compile --emit cpp`, so a +// generated graph is the same ggml graph the runtime builds, node for node: that is what makes +// their outputs bit-identical. Edit with care; both sides change together. +#pragma once + +#include "ggml.h" + +namespace ggml_compiler::ops { + +// Integer arithmetic of symbolic dims, with Python's floor semantics (as ir/sym.py and the +// runtime's Expr::eval use). +inline int64_t floordiv(int64_t a, int64_t b) { + const int64_t q = a / b; + return (a % b != 0 && ((a < 0) != (b < 0))) ? q - 1 : q; +} +inline int64_t mod(int64_t a, int64_t b) { + const int64_t r = a % b; + return (r != 0 && ((r < 0) != (b < 0))) ? r + b : r; +} +inline int64_t max(int64_t a, int64_t b) { return a > b ? a : b; } +inline int64_t min(int64_t a, int64_t b) { return a < b ? a : b; } + +// IR conv_2d: kernel [KW, KH, IC, OC], input [W, H, IC, N] -> [OW, OH, OC, N] (+ bias [OC]). +// f16 kernels on a GPU run as ggml_conv_2d_direct (implicit GEMM on tensor cores) when the output +// has enough positions to fill it (image backbones). Otherwise im2col in the kernel's float type +// and one matmul, with the kernel as the right operand so the result comes out channel-first. +// (ggml_conv_2d itself would build the patch buffer in f16.) A 1-D U-Net over 16 steps +// runs ~2x faster as im2col + matmul than as direct convolution on an RTX 3060. +constexpr int64_t kDirectConvMinPositions = 1024; + +inline ggml_tensor * conv_2d(ggml_context * ctx, ggml_tensor * w, ggml_tensor * x, ggml_tensor * bias, int s0, int s1, + int p0, int p1, int d0, int d1, bool gpu) { + ggml_tensor * y; + const int64_t ow = (x->ne[0] + 2 * p0 - d0 * (w->ne[0] - 1) - 1) / s0 + 1; + const int64_t oh = (x->ne[1] + 2 * p1 - d1 * (w->ne[1] - 1) - 1) / s1 + 1; + if (gpu && w->type == GGML_TYPE_F16 && ow * oh * x->ne[3] >= kDirectConvMinPositions) { + y = ggml_conv_2d_direct(ctx, w, x, s0, s1, p0, p1, d0, d1); + } else { + const ggml_type ct = w->type == GGML_TYPE_F16 ? GGML_TYPE_F16 : GGML_TYPE_F32; + ggml_tensor * col = ggml_im2col(ctx, w, x, s0, s1, p0, p1, d0, d1, true, ct); // [K, OW, OH, N] + y = ggml_mul_mat(ctx, ggml_reshape_2d(ctx, col, col->ne[0], col->ne[1] * col->ne[2] * col->ne[3]), + ggml_reshape_2d(ctx, w, w->ne[0] * w->ne[1] * w->ne[2], w->ne[3])); + if (col->ne[3] == 1) { + y = ggml_reshape_4d(ctx, y, col->ne[1], col->ne[2], w->ne[3], 1); + } else { + y = ggml_cont(ctx, + ggml_permute(ctx, ggml_reshape_4d(ctx, y, col->ne[1], col->ne[2], col->ne[3], w->ne[3]), 0, 1, 3, 2)); + } + } + if (bias) { + y = ggml_add(ctx, y, ggml_reshape_4d(ctx, bias, 1, 1, bias->ne[0], 1)); + } + return y; +} + +// IR gelu_tanh: 0.5 x (1 + tanh(sqrt(2/pi) (x + 0.044715 x^3))) in f32. GPU backends compute +// ggml_gelu with exactly that formula; the CPU one reads an fp16 table, so CPU spells it out. +inline ggml_tensor * gelu_tanh(ggml_context * ctx, ggml_tensor * x, bool gpu) { + if (gpu) { + return ggml_gelu(ctx, x); + } + ggml_tensor * inner = ggml_add(ctx, x, ggml_scale(ctx, ggml_mul(ctx, ggml_sqr(ctx, x), x), 0.044715f)); + ggml_tensor * t = ggml_tanh(ctx, ggml_scale(ctx, inner, 0.7978845608f)); // sqrt(2/pi) + return ggml_mul(ctx, x, ggml_scale_bias(ctx, t, 0.5f, 0.5f)); +} + +// IR view: a step-1 slice along ggml dim `dim` starting at `start`; ne is the result's shape. +// A size-1 dim's stride never moves an address, so it gets the packed value: ggml's layout checks +// (ggml_is_contiguous, ggml_is_padded_1d in ggml_scale) compare strides even across size-1 dims, +// and a slice of the outermost dim would otherwise keep its parent's. +inline ggml_tensor * slice(ggml_context * ctx, ggml_tensor * x, int dim, int64_t start, int64_t ne0, int64_t ne1, + int64_t ne2, int64_t ne3) { + const int64_t ne[4] = { ne0, ne1, ne2, ne3 }; + size_t nb[4] = { x->nb[0], x->nb[1], x->nb[2], x->nb[3] }; + for (int k = 1; k < 4; k++) { + if (ne[k] == 1) { + nb[k] = nb[k - 1] * ne[k - 1]; + } + } + return ggml_view_4d(ctx, x, ne0, ne1, ne2, ne3, nb[1], nb[2], nb[3], start * x->nb[dim]); +} + +// IR reshape. A contiguous input is ggml_reshape_4d. A strided one (a view) may only gain or lose +// size-1 dims: its non-unit dims keep their order and strides, which is a view with those strides +// (size-1 dims packed, as in slice). Returns nullptr if neither applies. +inline ggml_tensor * reshape(ggml_context * ctx, ggml_tensor * x, int64_t ne0, int64_t ne1, int64_t ne2, int64_t ne3) { + if (ggml_is_contiguous(x)) { + return ggml_reshape_4d(ctx, x, ne0, ne1, ne2, ne3); + } + const int64_t ne[4] = { ne0, ne1, ne2, ne3 }; + size_t nb[4] = { x->nb[0], 0, 0, 0 }; + int k = 0; // next dim of x + for (int i = 0; i < 4; i++) { + if (ne[i] == 1) { + if (i > 0) nb[i] = nb[i - 1] * ne[i - 1]; + continue; + } + while (k < 4 && x->ne[k] == 1) k++; + if (k == 4 || x->ne[k] != ne[i]) return nullptr; + nb[i] = x->nb[k++]; + } + while (k < 4 && x->ne[k] == 1) k++; + if (k != 4 || nb[0] != x->nb[0]) return nullptr; // dims left over, or the innermost moved + return ggml_view_4d(ctx, x, ne0, ne1, ne2, ne3, nb[1], nb[2], nb[3], 0); +} + +// IR scale: x * s + b. +inline ggml_tensor * scale(ggml_context * ctx, ggml_tensor * x, float s, float b) { + return b == 0.0f ? ggml_scale(ctx, x, s) : ggml_scale_bias(ctx, x, s, b); +} + +// A matmul; acc_f32 asks the backend to accumulate in f32 (Stage(matmul_acc="f32")): CUDA's cuBLAS +// path otherwise accumulates 16-bit weights' products in f16. +inline ggml_tensor * mul_mat(ggml_context * ctx, ggml_tensor * a, ggml_tensor * b, bool acc_f32) { + ggml_tensor * r = ggml_mul_mat(ctx, a, b); + if (acc_f32) { + ggml_prec_set_acc(r, GGML_PREC_F32); + } + return r; +} + +// Flash attention accumulating in f32, as llama.cpp asks for in every attention (its language +// models and its vision encoders): the default lets CUDA's kernels accumulate in f16, which Qwen3's +// large activations do not survive (Qwen3-VL-2B F16 KL 9.7e-3 against 1.1e-4 on CPU). +// +// `supported(t)` asks the backend whether it can run the flash attention node t. CUDA covers some +// head sizes only on some GPUs (512: Turing tensor cores and grouped-query heads); where it cannot, +// the same attention is built as Q·Kᵀ, softmax and P·V, both matmuls accumulating in f32 too. The +// runtime and generated C++ ask the same question, so they build the same graph. +template +inline ggml_tensor * flash_attn(ggml_context * ctx, ggml_tensor * q, ggml_tensor * k, ggml_tensor * v, ggml_tensor * mask, + float scale, Supported && supported) { + ggml_tensor * r = ggml_flash_attn_ext(ctx, q, k, v, mask, scale, 0.0f, 0.0f); + ggml_prec_set_acc(r, GGML_PREC_F32); + if (supported(r)) { + return r; + } + // q [D, Sq, H, B], k and v [D, Sk, Hkv, B]: mul_mat broadcasts the K/V heads over the query + // heads as flash attention does (query head h reads K/V head h / (H / Hkv)). + ggml_tensor * kq = ggml_mul_mat(ctx, k, q); // [Sk, Sq, H, B] + ggml_prec_set_acc(kq, GGML_PREC_F32); + kq = ggml_soft_max_ext(ctx, kq, mask, scale, 0.0f); + ggml_tensor * kqv = ggml_mul_mat(ctx, ggml_cont(ctx, ggml_transpose(ctx, v)), kq); // [D, Sq, H, B] + ggml_prec_set_acc(kqv, GGML_PREC_F32); + return ggml_cont(ctx, ggml_permute(ctx, kqv, 0, 2, 1, 3)); // [D, H, Sq, B], flash attention's layout +} + +} // namespace ggml_compiler::ops diff --git a/src/models/cosmos3_edge_prompt.cpp b/src/models/cosmos3_edge_prompt.cpp new file mode 100644 index 00000000..ae4f8019 --- /dev/null +++ b/src/models/cosmos3_edge_prompt.cpp @@ -0,0 +1,497 @@ +// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "cosmos3_edge_prompt.h" + +#include "ggml.h" +#include "gguf.h" + +#include +#include +#include +#include + +namespace vla { + +namespace { + +constexpr const char * kConcatViewTemplate = "This video contains concatenated views from multiple camera perspectives."; + +// Chat template of the understanding stream (the Cosmos3 Edge template: an empty system turn, one user turn, +// the generation prompt with an empty think block) followed by the end-of-turn token and the token that starts +// the generation stream, as Cosmos3TokenizerProcessorStep.encode builds it. The pieces around the caption. +constexpr const char * kPromptHead = "\n<|im_start|>system\n<|im_end|>\n<|im_start|>user\n"; +constexpr const char * kPromptTail = "<|im_end|>\n<|im_start|>assistant\n\n<|im_end|><|vision_start|>"; + +// ---- ASCII classes of the pre-tokenizer ------------------------------------------------------------ +inline bool is_upper(unsigned char c) { return c >= 'A' && c <= 'Z'; } +inline bool is_lower(unsigned char c) { return c >= 'a' && c <= 'z'; } +inline bool is_digit(unsigned char c) { return c >= '0' && c <= '9'; } +inline bool is_letter(unsigned char c) { return is_upper(c) || is_lower(c); } +inline bool is_nl(unsigned char c) { return c == '\r' || c == '\n'; } +inline bool is_space(unsigned char c) { return c == ' ' || (c >= '\t' && c <= '\r'); } + +// The length of the pre-token that starts at `i`, for the Split regex of the tokenizer: +// [^\r\n\p{L}\p{N}]?[\p{Lu}...]*[\p{Ll}...]+ | [^\r\n\p{L}\p{N}]?[\p{Lu}...]+[\p{Ll}...]* | \p{N} +// | ?[^\s\p{L}\p{N}]+[\r\n/]* | \s*[\r\n]+ | \s+(?!\S) | \s+ +// restricted to ASCII, where the letter classes are A-Z and a-z. The first alternative that matches wins. +size_t pretoken_len(const std::string & t, size_t i) { + const size_t n = t.size(); + auto at = [&](size_t k) { return (unsigned char) t[k]; }; + + // 1 and 2: an optional leading symbol, then capitals and lower case letters. + for (int alt = 1; alt <= 2; alt++) { + for (int with_prefix = 1; with_prefix >= 0; with_prefix--) { + size_t p = i; + if (with_prefix) { + if (p >= n || is_nl(at(p)) || is_letter(at(p)) || is_digit(at(p))) + continue; + p++; + } + size_t u = p; + while (u < n && is_upper(at(u))) + u++; + size_t l = u; + while (l < n && is_lower(at(l))) + l++; + if (alt == 1 && l > u) + return l - i; // upper* lower+ + if (alt == 2 && u > p) + return l - i; // upper+ lower* + } + } + // 3: one digit. + if (is_digit(at(i))) + return 1; + // 4: an optional space, symbols, then newlines and slashes. + { + size_t p = i; + if (at(p) == ' ') + p++; + size_t s = p; + while (s < n && !is_space(at(s)) && !is_letter(at(s)) && !is_digit(at(s))) + s++; + if (s > p) { + while (s < n && (is_nl(at(s)) || at(s) == '/')) + s++; + return s - i; + } + } + // 5, 6 and 7: white space. \s*[\r\n]+ ends at the last line break of the run. + size_t run = i; + while (run < n && is_space(at(run))) + run++; + if (run == i) + return 1; // not reachable for ASCII; keeps the loop moving + for (size_t k = run; k > i; k--) + if (is_nl(at(k - 1))) + return k - i; + if (run == n) + return run - i; // \s+(?!\S) at the end of the text + if (run - i >= 2) + return run - i - 1; // \s+(?!\S) leaves the last space for the next token + return run - i; // \s+ +} + +// GPT-2's bytes_to_unicode: printable bytes stand for themselves, the others take 256 + n in order. +void byte_level_table(std::string out[256], int cp_of_byte[256]) { + int n = 0; + for (int b = 0; b < 256; b++) { + const bool printable = (b >= 33 && b <= 126) || (b >= 161 && b <= 172) || (b >= 174 && b <= 255); + const int cp = printable ? b : 256 + n++; + cp_of_byte[b] = cp; + std::string s; + if (cp < 0x80) { + s += (char) cp; + } else { // cp < 0x800 here + s += (char) (0xC0 | (cp >> 6)); + s += (char) (0x80 | (cp & 0x3F)); + } + out[b] = s; + } +} + +std::string json_string(const std::string & s) { // json.dumps(s) for ASCII s + std::string o = "\""; + for (unsigned char c : s) { + switch (c) { + case '"': o += "\\\""; break; + case '\\': o += "\\\\"; break; + case '\n': o += "\\n"; break; + case '\r': o += "\\r"; break; + case '\t': o += "\\t"; break; + case '\b': o += "\\b"; break; + case '\f': o += "\\f"; break; + default: + if (c >= 0x20 && c <= 0x7e) { + o += (char) c; + } else { + char b[8]; + std::snprintf(b, sizeof(b), "\\u%04x", c); + o += b; + } + } + } + return o + "\""; +} + +std::string strip(const std::string & s) { // str.strip() for ASCII + size_t a = 0, b = s.size(); + while (a < b && is_space((unsigned char) s[a])) + a++; + while (b > a && is_space((unsigned char) s[b - 1])) + b--; + return s.substr(a, b - a); +} + +bool ascii(const std::string & s) { + return std::all_of(s.begin(), s.end(), [](unsigned char c) { return c < 0x80; }); +} + +} // namespace + +// --------------------------------------------------------------------------------------------------- +// Loading +// --------------------------------------------------------------------------------------------------- + +bool Cosmos3Prompt::load(const gguf_reader & g) { + gguf_context * ctx = g.gctx; + const int64_t kt = gguf_find_key(ctx, "tokenizer.ggml.tokens"); + const int64_t kg = gguf_find_key(ctx, "tokenizer.ggml.token_type"); + const int64_t km = gguf_find_key(ctx, "tokenizer.ggml.merges"); + if (kt < 0 || kg < 0 || km < 0 || !g.has("cosmos3_edge.caption.view_description")) { + std::fprintf(stderr, "vla(cosmos3_edge): this GGUF has no tokenizer; convert with --policy-dir, or pass --tokens\n"); + return false; + } + if (gguf_get_arr_type(ctx, kt) != GGUF_TYPE_STRING || gguf_get_arr_type(ctx, km) != GGUF_TYPE_STRING || + gguf_get_arr_type(ctx, kg) != GGUF_TYPE_INT32) { + std::fprintf(stderr, "vla(cosmos3_edge): the tokenizer arrays have unexpected types\n"); + return false; + } + const size_t n = gguf_get_arr_n(ctx, kt); + if (n == 0 || gguf_get_arr_n(ctx, kg) != n) { + std::fprintf(stderr, "vla(cosmos3_edge): the token and token-type arrays disagree\n"); + return false; + } + int cp_of_byte[256]; + byte_level_table(byte_str_, cp_of_byte); + std::unordered_map byte_of_cp; + for (int b = 0; b < 256; b++) + byte_of_cp[cp_of_byte[b]] = b; + + const int32_t * types = (const int32_t *) gguf_get_arr_data(ctx, kg); + tokens_.resize(n); + vocab_.reserve(n * 2); + for (size_t i = 0; i < n; i++) { + tokens_[i] = gguf_get_arr_str(ctx, kt, i); + vocab_.emplace(tokens_[i], (int32_t) i); + // llama.cpp's token types: 3 control, 4 user defined. Both are matched as such in the text. + if (types[i] == 3 || types[i] == 4) { + std::string raw; // back from the byte-level spelling to bytes + bool ok = true; + for (size_t k = 0; k < tokens_[i].size();) { + const unsigned char c = (unsigned char) tokens_[i][k]; + int cp, len; + if (c < 0x80) { + cp = c; len = 1; + } else if ((c & 0xE0) == 0xC0 && k + 1 < tokens_[i].size()) { + cp = ((c & 0x1F) << 6) | ((unsigned char) tokens_[i][k + 1] & 0x3F); len = 2; + } else { + ok = false; + break; + } + const auto it = byte_of_cp.find(cp); + if (it == byte_of_cp.end()) { ok = false; break; } + raw += (char) it->second; + k += (size_t) len; + } + if (ok && !raw.empty()) + specials_.emplace_back(raw, (int32_t) i); + } + } + std::stable_sort(specials_.begin(), specials_.end(), + [](const auto & a, const auto & b) { return a.first.size() > b.first.size(); }); + + const size_t nm = gguf_get_arr_n(ctx, km); + rank_.reserve(nm * 2); + for (size_t i = 0; i < nm; i++) + rank_.emplace(gguf_get_arr_str(ctx, km, i), (int32_t) i); + + view_description_ = g.str("cosmos3_edge.caption.view_description"); + aspect_ratio_ = g.str("cosmos3_edge.caption.aspect_ratio"); + fps_ = g.f32("cosmos3_edge.caption.fps"); + use_state_ = g.u32("cosmos3_edge.caption.use_state") != 0; + chunk_ = (int) g.u32("cosmos3_edge.chunk_size"); + canvas_h_ = (int) g.u32("cosmos3_edge.canvas_h"); + canvas_w_ = (int) g.u32("cosmos3_edge.canvas_w"); + if (fps_ <= 0.0 || chunk_ <= 0 || aspect_ratio_.empty()) { + std::fprintf(stderr, "vla(cosmos3_edge): the caption settings of the GGUF are incomplete\n"); + return false; + } + return true; +} + +// --------------------------------------------------------------------------------------------------- +// The caption and the chat text +// --------------------------------------------------------------------------------------------------- + +std::string Cosmos3Prompt::caption(const std::string & task_in) const { + std::string task = strip(task_in); + if (task.empty()) + return ""; + if (task.back() != '.' && task.back() != '!' && task.back() != '?') + task += "."; + const double duration = (double) (chunk_ + 1) / fps_; + const long rounded = (long) std::nearbyint(duration); // Python's round(): half to even + char time[48]; + std::snprintf(time, sizeof(time), "0:00-%ld:%02ld", rounded / 60, rounded % 60); + + std::string framing = kConcatViewTemplate; + const std::string vd = strip(view_description_); + if (!vd.empty()) + framing += " " + vd; + + std::string o = "{\"cinematography\": {\"framing\": " + json_string(framing) + "}, \"actions\": [{\"time\": " + + json_string(time) + ", \"description\": " + json_string(task) + ", \"idle_frame\": " + + json_string("0 out of " + std::to_string(chunk_ + (use_state_ ? 1 : 0)) + ".") + "}], \"duration\": " + + json_string(std::to_string((long) duration) + "s") + ", \"fps\": " + std::to_string((long) fps_) + + ".0, \"resolution\": {\"H\": " + std::to_string(canvas_h_) + ", \"W\": " + std::to_string(canvas_w_) + + "}, \"aspect_ratio\": " + json_string(aspect_ratio_) + "}"; + return o; +} + +std::string Cosmos3Prompt::chat_text(const std::string & task) const { + return std::string(kPromptHead) + caption(task) + kPromptTail; +} + +// --------------------------------------------------------------------------------------------------- +// BPE +// --------------------------------------------------------------------------------------------------- + +bool Cosmos3Prompt::bpe_segment(const std::string & text, std::vector & ids, std::string & err) const { + if (!ascii(text)) { + err = "non-ASCII text: this tokenizer implements the ASCII letter classes only"; + return false; + } + for (size_t i = 0; i < text.size();) { + const size_t len = pretoken_len(text, i); + std::string word; // the pre-token in the byte-level alphabet + for (size_t k = i; k < i + len; k++) + word += byte_str_[(unsigned char) text[k]]; + i += len; + + // ignore_merges: a pre-token that is a token is not merged. + const auto whole = vocab_.find(word); + if (whole != vocab_.end()) { + ids.push_back(whole->second); + continue; + } + // Merges by rank, the leftmost pair of the lowest rank first (the order of a priority queue). + std::vector sym; + for (size_t k = 0; k < word.size();) { + const size_t cl = ((unsigned char) word[k] < 0x80) ? 1 : 2; // byte-level characters are 1 or 2 bytes + sym.push_back(word.substr(k, cl)); + k += cl; + } + for (;;) { + int32_t best = INT32_MAX; + size_t at = 0; + for (size_t k = 0; k + 1 < sym.size(); k++) { + const auto it = rank_.find(sym[k] + " " + sym[k + 1]); + if (it != rank_.end() && it->second < best) { + best = it->second; + at = k; + } + } + if (best == INT32_MAX) + break; + sym[at] += sym[at + 1]; + sym.erase(sym.begin() + (long) at + 1); + } + for (const std::string & s : sym) { + const auto it = vocab_.find(s); + if (it == vocab_.end()) { + err = "a symbol is not in the vocabulary: " + s; + return false; + } + ids.push_back(it->second); + } + } + return true; +} + +bool Cosmos3Prompt::encode(const std::string & text, std::vector & ids, std::string & err) const { + size_t start = 0, i = 0; + while (i < text.size()) { + const char c = text[i]; + if (c == '<' || c == '[') { + const std::pair * hit = nullptr; + for (const auto & sp : specials_) // longest first + if (text.compare(i, sp.first.size(), sp.first) == 0) { + hit = &sp; + break; + } + if (hit) { + if (i > start && !bpe_segment(text.substr(start, i - start), ids, err)) + return false; + ids.push_back(hit->second); + i += hit->first.size(); + start = i; + continue; + } + } + i++; + } + return start >= text.size() || bpe_segment(text.substr(start), ids, err); +} + +bool Cosmos3Prompt::tokens(const std::string & task, std::vector & ids, std::string & err) const { + ids.clear(); + // The caption is json.dumps of the task, which escapes non-ASCII as UTF-16 \u sequences: refuse it here + // instead of escaping bytes wrongly. + if (!ascii(task)) { + err = "non-ASCII instruction: only ASCII text is supported"; + return false; + } + return encode(chat_text(task), ids, err); +} + +// --------------------------------------------------------------------------------------------------- +// rot6d -> axis-angle +// --------------------------------------------------------------------------------------------------- + +namespace { + +// Eigen-decomposition of a symmetric 3x3 matrix by cyclic Jacobi rotations; eigenvalues descending, the +// eigenvectors as the columns of v. +void jacobi3(double a[3][3], double w[3], double v[3][3]) { + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + v[i][j] = i == j ? 1.0 : 0.0; + for (int sweep = 0; sweep < 50; sweep++) { + const double off = std::fabs(a[0][1]) + std::fabs(a[0][2]) + std::fabs(a[1][2]); + if (off < 1e-300) + break; + for (int p = 0; p < 2; p++) + for (int q = p + 1; q < 3; q++) { + if (std::fabs(a[p][q]) < 1e-300) + continue; + const double theta = (a[q][q] - a[p][p]) / (2.0 * a[p][q]); + const double t = (theta >= 0 ? 1.0 : -1.0) / (std::fabs(theta) + std::sqrt(theta * theta + 1.0)); + const double c = 1.0 / std::sqrt(t * t + 1.0), s = t * c; + for (int k = 0; k < 3; k++) { // columns p and q of a + const double akp = a[k][p], akq = a[k][q]; + a[k][p] = c * akp - s * akq; + a[k][q] = s * akp + c * akq; + } + for (int k = 0; k < 3; k++) { // rows p and q + const double apk = a[p][k], aqk = a[q][k]; + a[p][k] = c * apk - s * aqk; + a[q][k] = s * apk + c * aqk; + } + for (int k = 0; k < 3; k++) { + const double vkp = v[k][p], vkq = v[k][q]; + v[k][p] = c * vkp - s * vkq; + v[k][q] = s * vkp + c * vkq; + } + } + } + int order[3] = { 0, 1, 2 }; + std::sort(order, order + 3, [&](int x, int y) { return a[x][x] > a[y][y]; }); + double v2[3][3]; + for (int j = 0; j < 3; j++) { + w[j] = a[order[j]][order[j]]; + for (int i = 0; i < 3; i++) + v2[i][j] = v[i][order[j]]; + } + std::memcpy(v, v2, sizeof(v2)); +} + +} // namespace + +void cosmos3_libero_action(const float * a, float * out) { + const double f[3] = { a[3], a[4], a[5] }, s[3] = { a[6], a[7], a[8] }; + const double c[3] = { f[1] * s[2] - f[2] * s[1], f[2] * s[0] - f[0] * s[2], f[0] * s[1] - f[1] * s[0] }; + double m[3][3]; // columns: first, second, their cross product + for (int r = 0; r < 3; r++) { + m[r][0] = f[r]; + m[r][1] = s[r]; + m[r][2] = c[r]; + } + // The nearest rotation (the SVD projection onto SO(3)): U V^T, with the last singular direction flipped + // if that is a reflection. Singular values and V from the eigenproblem of M^T M. + double mtm[3][3]; + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + mtm[i][j] = m[0][i] * m[0][j] + m[1][i] * m[1][j] + m[2][i] * m[2][j]; + double w[3], v[3][3]; + jacobi3(mtm, w, v); + + double u[3][3] = {}; + const double smax = std::sqrt(std::max(w[0], 0.0)); + bool ok = smax > 0.0; + for (int j = 0; j < 3 && ok; j++) { + const double sj = std::sqrt(std::max(w[j], 0.0)); + if (sj <= 1e-12 * smax) { + if (j == 0) { ok = false; break; } + // A vanishing singular value: complete U to an orthonormal frame. + if (j == 1) { // pick any vector orthogonal to u0 + const double ax = std::fabs(u[0][0]), ay = std::fabs(u[1][0]), az = std::fabs(u[2][0]); + double t[3] = { 0, 0, 0 }; + t[ax <= ay && ax <= az ? 0 : (ay <= az ? 1 : 2)] = 1.0; + const double d = t[0] * u[0][0] + t[1] * u[1][0] + t[2] * u[2][0]; + double x[3] = { t[0] - d * u[0][0], t[1] - d * u[1][0], t[2] - d * u[2][0] }; + const double nx = std::sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]); + for (int r = 0; r < 3; r++) u[r][1] = x[r] / nx; + } else { + u[0][2] = u[1][0] * u[2][1] - u[2][0] * u[1][1]; + u[1][2] = u[2][0] * u[0][1] - u[0][0] * u[2][1]; + u[2][2] = u[0][0] * u[1][1] - u[1][0] * u[0][1]; + } + continue; + } + for (int r = 0; r < 3; r++) + u[r][j] = (m[r][0] * v[0][j] + m[r][1] * v[1][j] + m[r][2] * v[2][j]) / sj; + } + double R[3][3] = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } }; + if (ok) { + auto compose = [&]() { + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + R[i][j] = u[i][0] * v[j][0] + u[i][1] * v[j][1] + u[i][2] * v[j][2]; + }; + compose(); + const double det = R[0][0] * (R[1][1] * R[2][2] - R[1][2] * R[2][1]) - R[0][1] * (R[1][0] * R[2][2] - R[1][2] * R[2][0]) + + R[0][2] * (R[1][0] * R[2][1] - R[1][1] * R[2][0]); + if (det < 0) { + for (int r = 0; r < 3; r++) u[r][2] = -u[r][2]; + compose(); + } + } + // matrix_to_axis_angle (angles below pi), in double as lerobot does. + const double skew[3] = { R[2][1] - R[1][2], R[0][2] - R[2][0], R[1][0] - R[0][1] }; + const double sin_a = std::sqrt(skew[0] * skew[0] + skew[1] * skew[1] + skew[2] * skew[2]) / 2.0; + const double cos_a = (R[0][0] + R[1][1] + R[2][2] - 1.0) / 2.0; + const double angle = std::atan2(sin_a, cos_a); + const double scale = sin_a > 1e-8 ? angle / std::max(sin_a, 1e-8) : 1.0; + + out[0] = a[0]; + out[1] = a[1]; + out[2] = a[2]; + for (int r = 0; r < 3; r++) + out[3 + r] = (float) (skew[r] * scale / 2.0); + out[6] = std::min(1.0f, std::max(-1.0f, 1.0f - 2.0f * a[9])); +} + +} // namespace vla diff --git a/src/models/cosmos3_edge_prompt.h b/src/models/cosmos3_edge_prompt.h new file mode 100644 index 00000000..f277efd4 --- /dev/null +++ b/src/models/cosmos3_edge_prompt.h @@ -0,0 +1,77 @@ +// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Cosmos3-Edge outside the graphs: the prompt (lerobot's Cosmos3PromptProcessorStep and +// Cosmos3TokenizerProcessorStep) and the LIBERO action decode (Cosmos3LiberoActionProcessorStep). +// +// * The prompt is the JSON caption of the task in the chat template of the understanding stream, then the +// end-of-turn token and <|vision_start|>. The tokenizer is the model's byte-level BPE (131,072 tokens), +// read from the GGUF (`tokenizer.ggml.*`, the keys llama.cpp uses). It handles ASCII text only: its +// pre-tokenizer splits on Unicode letter classes, which are not implemented here, so other text is refused. +// Checked against Hugging Face's tokenizer and llama.cpp's (pre-tokenizer "tekken") on every LIBERO task. +// * rot6d -> axis-angle follows the lerobot step: the two columns and their cross product form a matrix that +// is projected onto SO(3), then converted to a rotation vector, in double precision. + +#pragma once + +#include "gguf_reader.h" + +#include +#include +#include +#include + +namespace vla { + +struct Cosmos3Prompt { + // Loads the tokenizer and the caption settings from a Cosmos3-Edge GGUF written with + // `--policy-dir`. False, with a reason on stderr, when the file has none. + bool load(const gguf_reader & g); + + // The ids of the prompt of `task` (what the policy feeds the understanding stream, unpadded). False, + // with a reason in `err`, for text this tokenizer does not handle. + bool tokens(const std::string & task, std::vector & ids, std::string & err) const; + + // The JSON caption (Cosmos3PromptProcessorStep.caption with 0 idle frames) and the full text the + // tokenizer sees (chat template, end-of-turn and <|vision_start|> included); for tests and debugging. + std::string caption(const std::string & task) const; + std::string chat_text(const std::string & task) const; + + // Token ids of a text with special tokens recognised in it, as Hugging Face's tokenizer does. + bool encode(const std::string & text, std::vector & ids, std::string & err) const; + +private: + bool bpe_segment(const std::string & text, std::vector & ids, std::string & err) const; + + std::vector tokens_; // id -> byte-level spelling + std::unordered_map vocab_; // byte-level spelling -> id + std::unordered_map rank_; // "left right" -> merge priority + std::vector> specials_; // raw text -> id, longest first + std::string byte_str_[256]; // byte -> its byte-level character (UTF-8) + + // Caption settings. + std::string view_description_; + std::string aspect_ratio_; + double fps_ = 20.0; + int chunk_ = 16; + int canvas_h_ = 192; + int canvas_w_ = 320; + bool use_state_ = false; +}; + +// The LIBERO command of one 10-wide model action [dpos(3), rot6d(6), gripper]: [dpos(3), axis-angle(3), gripper] +// with the gripper mapped from 1 open / 0 closed to -1 open / +1 closed. +void cosmos3_libero_action(const float * action10, float * out7); + +} // namespace vla diff --git a/src/serving/vla-cli.cpp b/src/serving/vla-cli.cpp index b9074ad8..e2e8c7b8 100644 --- a/src/serving/vla-cli.cpp +++ b/src/serving/vla-cli.cpp @@ -27,6 +27,7 @@ #include "model.h" #include "options.h" #include "serving/hf_fetch.h" +#include "models/cosmos3_edge_prompt.h" #include "tokenizer.h" #define STB_IMAGE_IMPLEMENTATION @@ -132,6 +133,7 @@ const char * arch_slug(Arch a) { case Arch::OCTO: return "octo"; case Arch::TURBOVLA: return "turbovla"; case Arch::ACT: return "act"; + case Arch::COSMOS3_EDGE: return "cosmos3_edge"; } return ""; } @@ -256,6 +258,7 @@ void usage(const char * prog) { " --state proprioception floats, comma-separated (default zeros); pi05\n" " --text needs it, since the state is part of the prompt\n" " --pretty print one action row (max_action_dim values) per line\n" + " --libero Cosmos3-Edge only: print LIBERO commands [dpos(3), axis-angle(3), gripper] instead of rot6d rows\n" " --config policy config.json; its \"runtime\" block sets the flags below,\n" " and flags given here win\n" "%s", @@ -268,6 +271,7 @@ int main(int argc, char ** argv) { std::string mmproj, ckpt, hf, tokens_s, state_s, text_s, config_path; std::vector image_paths; bool pretty = false; + bool libero = false; Options opts; std::string opt_err; @@ -289,6 +293,7 @@ int main(int argc, char ** argv) { else if (a == "--text") text_s = need("--text"); else if (a == "--state") state_s = need("--state"); else if (a == "--pretty") pretty = true; + else if (a == "--libero") libero = true; else if (a == "--config") config_path = need("--config"); else if (opts.parse_arg(argc, argv, i, opt_err)) continue; else if (!opt_err.empty()) { @@ -350,7 +355,7 @@ int main(int argc, char ** argv) { if (!parse_floats(state_s, state)) return 1; if (!text_s.empty()) { - if (has_spm_tokenizer(ckpt, arch_slug(arch))) { + if (arch == Arch::COSMOS3_EDGE || has_spm_tokenizer(ckpt, arch_slug(arch))) { if (!tokenize_prompt(ckpt, arch_slug(arch), text_s, state, lang, attn)) return 1; for (size_t i=0; i 0 ? cfg.max_action_dim : 1; + int64_t cols = cfg.max_action_dim > 0 ? cfg.max_action_dim : 1; + if (libero) { + if (arch != Arch::COSMOS3_EDGE || cols != 10) { + std::fprintf(stderr, "vla-cli: --libero decodes the 10-wide rot6d action of Cosmos3-Edge only\n"); + model_free(m); + return 1; + } + std::vector cmd; + for (size_t r = 0; r + 10 <= act.size(); r += 10) { + float row[7]; + cosmos3_libero_action(&act[r], row); + cmd.insert(cmd.end(), row, row + 7); + } + act = std::move(cmd); + cols = 7; + } if (pretty) { for (size_t i=0; i LIBERO command, always; +// * caption, chat template and BPE ids, when a Cosmos3-Edge GGUF made with --policy-dir is given +// (argv[2] or VLA_COSMOS3_EDGE_GGUF); otherwise that part is skipped. +// +// test_cosmos3_edge_prompt [model.gguf] + +#include "models/cosmos3_edge_prompt.h" + +#include +#include +#include +#include +#include +#include +#include + +using namespace vla; + +namespace { + +std::vector split(const std::string & s, char sep) { + std::vector out; + std::string cur; + for (char c : s) { + if (c == sep) { out.push_back(cur); cur.clear(); } else { cur += c; } + } + out.push_back(cur); + return out; +} + +std::string unhex(const std::string & h) { + std::string o; + for (size_t i = 0; i + 1 < h.size(); i += 2) + o += (char) std::strtol(h.substr(i, 2).c_str(), nullptr, 16); + return o; +} + +std::vector ints(const std::string & s) { + std::vector v; + std::istringstream is(s); + int x; + while (is >> x) + v.push_back(x); + return v; +} + +std::vector floats(const std::string & s) { + std::vector v; + std::istringstream is(s); + float x; + while (is >> x) + v.push_back(x); + return v; +} + +std::vector lines(const std::string & path) { + std::ifstream f(path); + std::vector out; + for (std::string l; std::getline(f, l);) + if (!l.empty()) + out.push_back(l); + return out; +} + +int fails = 0; + +void check(bool ok, const char * what, const std::string & detail = "") { + if (!ok) { + fails++; + std::fprintf(stderr, "FAIL %s %s\n", what, detail.c_str()); + } +} + +} // namespace + +int main(int argc, char ** argv) { + if (argc < 2) { + std::fprintf(stderr, "usage: %s [model.gguf]\n", argv[0]); + return 2; + } + const std::string dir = argv[1]; + + // ---- rot6d -> LIBERO command -------------------------------------------------------------------- + { + const auto rows = lines(dir + "/cosmos3_edge_rot6d.tsv"); + double worst = 0; + for (const auto & l : rows) { + const auto cols = split(l, '\t'); + const auto in = floats(cols.at(0)), want = floats(cols.at(1)); + float got[7]; + cosmos3_libero_action(in.data(), got); + for (int i = 0; i < 7; i++) + worst = std::fmax(worst, std::fabs((double) got[i] - (double) want[(size_t) i])); + } + std::printf("rot6d: %zu rows, max |d| %.2e\n", rows.size(), worst); + check(!rows.empty() && worst < 3e-6, "rot6d decode", "max |d| " + std::to_string(worst)); + } + + // ---- caption, chat template, BPE ----------------------------------------------------------------- + const char * gguf_path = argc > 2 ? argv[2] : std::getenv("VLA_COSMOS3_EDGE_GGUF"); + if (!gguf_path || !*gguf_path) { + std::printf("prompt: skipped (no GGUF: pass one, or set VLA_COSMOS3_EDGE_GGUF)\n"); + return fails ? 1 : 0; + } + gguf_reader g("cosmos3_edge"); + if (!g.open(gguf_path)) { + std::fprintf(stderr, "cannot open %s\n", gguf_path); + return 2; + } + Cosmos3Prompt p; + if (!p.load(g)) + return 2; + + { + const auto rows = lines(dir + "/cosmos3_edge_prompts.tsv"); + int bad = 0; + for (const auto & l : rows) { + const auto cols = split(l, '\t'); + const std::string task = unhex(cols.at(0)), want_caption = unhex(cols.at(1)); + const auto want_ids = ints(cols.at(2)); + std::vector ids; + std::string err; + const bool ok_tok = p.tokens(task, ids, err); + const std::string cap = p.caption(task); + const bool same_cap = cap == want_caption || (want_caption.empty() && cap.empty()); + if (!ok_tok || !same_cap || ids != want_ids) { + bad++; + std::fprintf(stderr, "FAIL prompt for task \"%s\": tokenized %d, caption %s, ids %s %s\n", task.c_str(), + (int) ok_tok, same_cap ? "same" : "DIFFERENT", ids == want_ids ? "same" : "DIFFERENT", err.c_str()); + } + } + std::printf("prompts: %zu tasks, %d differ (caption text and ids)\n", rows.size(), bad); + check(!rows.empty() && bad == 0, "prompts"); + } + { + const auto rows = lines(dir + "/cosmos3_edge_bpe.tsv"); + int bad = 0; + for (const auto & l : rows) { + const auto cols = split(l, '\t'); + const std::string text = unhex(cols.at(0)); + std::vector ids; + std::string err; + if (!p.encode(text, ids, err) || ids != ints(cols.at(1))) { + bad++; + if (bad <= 3) + std::fprintf(stderr, "FAIL bpe text of %zu bytes %s\n", text.size(), err.c_str()); + } + } + std::printf("bpe: %zu texts, %d differ\n", rows.size(), bad); + check(!rows.empty() && bad == 0, "bpe"); + } + // Text this tokenizer must refuse rather than get wrong. + { + std::vector ids; + std::string err; + check(!p.tokens("caf\xc3\xa9 au lait", ids, err), "non-ASCII task is refused"); + } + std::printf(fails ? "FAILED\n" : "OK\n"); + return fails ? 1 : 0; +} diff --git a/tests/cosmos3_edge_pyshim.cpp b/tests/cosmos3_edge_pyshim.cpp new file mode 100644 index 00000000..13eb82a9 --- /dev/null +++ b/tests/cosmos3_edge_pyshim.cpp @@ -0,0 +1,61 @@ +// Copyright 2026 VinRobotics +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// A test-only C shim over Cosmos3-Edge's prompt and action decode, so a Python harness (the closed-loop +// LIBERO eval) can run the C++ code instead of lerobot's. Not part of libvla and not installed. + +#include "models/cosmos3_edge_prompt.h" + +#include +#include +#include +#include +#include + +extern "C" { + +// The ids of the prompt of `task`, from the tokenizer in `gguf`. Returns their number, or -1 (the reason in +// `err`) when the GGUF has no tokenizer, the text is not supported or `cap` is too small. +int64_t cosmos3_shim_tokenize(const char * gguf, const char * task, int32_t * ids, int64_t cap, char * err, int64_t errcap) { + static std::map> cache; + auto fail = [&](const std::string & m) { + std::snprintf(err, (size_t) errcap, "%s", m.c_str()); + return (int64_t) -1; + }; + auto & slot = cache[gguf]; + if (!slot) { + vla::gguf_reader g("cosmos3_edge"); + if (!g.open(gguf)) + return fail("cannot open the GGUF"); + auto p = std::make_unique(); + if (!p->load(g)) + return fail("the GGUF has no tokenizer"); + slot = std::move(p); + } + std::vector v; + std::string e; + if (!slot->tokens(task, v, e)) + return fail(e); + if ((int64_t) v.size() > cap) + return fail("buffer too small"); + std::memcpy(ids, v.data(), v.size() * sizeof(int32_t)); + return (int64_t) v.size(); +} + +// The LIBERO command of one 10-wide model action. +void cosmos3_shim_libero_action(const float * in10, float * out7) { + vla::cosmos3_libero_action(in10, out7); +} + +} // extern "C" diff --git a/tests/data/cosmos3_edge_bpe.tsv b/tests/data/cosmos3_edge_bpe.tsv new file mode 100644 index 00000000..1054c09a --- /dev/null +++ b/tests/data/cosmos3_edge_bpe.tsv @@ -0,0 +1,550 @@ +3166482e205a4d39545f420a724b727c6d5b473a2628734e6d3d6a245138276d54334f297b413f39342c48683f626c2b5a26 1049 1102 1072 1046 2163 1077 1057 1084 8037 1010 1114 79441 1124 1109 1091 1071 1058 1038 1040 1115 90104 1061 1106 1036 1081 1056 4525 1084 1051 1079 24342 1065 1063 1057 1052 118121 1104 1063 2970 1043 1090 1038 +29 1041 +51463d502669792243457321356c6b4f2e206e4d3f4c26703f512141283f2f4b346c5c584f2d454c78797865293e4838696c237c7174656b5e212459263b4a2c 1081 1070 1061 1080 1038 5077 1034 9158 1115 1033 1053 30623 1079 1046 1308 1077 1063 1076 1038 1112 1063 1081 1033 1065 102810 1047 1075 1052 1108 1092 1088 1079 1045 11213 8731 17264 49442 1072 1056 1318 1035 1124 1113 17848 1094 129081 1089 1038 1059 1074 1044 +42232f315f4a35093e7d5e546b50296f202f5d517946633d496f2643567651 1066 1035 1047 1049 80611 1053 1009 1062 29009 1084 1107 1080 1041 1111 1987 1093 1081 1121 1070 1099 1061 51483 1038 34456 1118 1081 +686d735e43662d7b3a28246a64707b79282d70596c566f65286379782a7039413d68236321325b6d4869436a7d4d533378680a37665c6d 1104 2943 68454 1102 113356 1058 3186 1106 28384 41057 11398 1112 1089 1108 1086 16122 5164 70653 111510 1057 1065 1061 1104 1035 1099 1033 1050 52468 37133 1067 1106 1125 7985 1051 1120 1104 1010 1055 1102 1092 1109 +7a48543d3822765e234168237575523b47705c34407762382430222e4e3c54583e4774272562367e6b517e66214a7245395429 1122 8395 1061 1056 1034 1118 1094 1035 37696 1035 47583 1082 1059 1071 1112 1092 1052 1064 78020 1056 1036 1048 3871 1078 11652 1088 1062 1071 1116 1039 1037 1098 1054 1126 1107 1081 1126 1102 1033 1074 1114 1069 1057 1084 1041 +23542f7b5b712a4e5860313c6b615c795e517545437b355726232231655a5e22313e266676 1035 1084 25546 1091 1113 107066 1088 1096 1049 1060 3002 1092 1121 1094 6605 13275 1123 1053 1087 16466 1034 1049 1101 1090 1094 1034 1049 21751 1102 1118 +69485e75353b2027287c616509504e376731793f7b6b2b71625a23314f6142622a7c61233b296d7970283c7a4d4a25786d38595d6b634a356f47 1105 1072 1094 1117 1053 1059 1576 60476 10539 1009 28666 1055 1103 1049 1121 1063 1123 1107 1043 1113 1098 1090 1035 1049 1079 1097 1066 1098 1042 1124 1097 1035 123872 1109 2493 71082 1122 1077 1074 121406 1109 1056 1089 1093 28417 1074 1053 1111 1071 +3c2c3c7d536f744a636666412448274f5522 1060 1044 1060 1125 1083 1360 65650 1609 1065 1036 1072 17282 1085 1034 +605e283c092a 1096 58924 1060 1009 1042 +7b33563a7741572f4c627274495152562a6c525b65664975745f4c55593f714c6f393d45674e772c3d6a4d5a514d316e6d273938525270396f5e09 1123 1051 1086 77794 1065 1087 15288 3285 1116 108372 1086 1042 1108 1082 1091 2263 1073 1341 11876 1085 1089 92404 10793 1057 1061 122689 1078 1119 1044 1061 1106 1077 1090 1081 1077 1049 36406 1039 1057 1056 60853 1112 1057 1111 1094 1009 +654d517e2474765d22577b6c696b7a60436858626d59272c4c35205f2a2342326b5643485f763379546f695e643b357c237a7009594741 1101 94031 1126 1036 44117 59805 1087 1123 7719 1122 1096 2814 1088 23704 1089 2096 1076 1053 1957 1042 1035 1066 1050 1107 1086 7247 11221 1051 1121 2892 1105 1094 1100 1059 1053 1124 1035 1122 1112 1009 1089 19454 +425b736e7a36 1066 1091 44515 1122 1054 +5521746e5c2073225a7b24322c09235009097b407a212943625226604f50653b73472874575f4c2a2638696b2c66694371 1085 1033 4829 1092 1265 1034 1090 49399 1050 1044 1009 1035 1080 1009 1009 1123 1064 1122 47905 98779 1082 1038 1096 14748 1101 108622 1071 4039 1087 11876 1042 1038 1056 1552 1044 16198 1067 1113 +4d6235517574 98413 1053 1081 1341 +560a573b0a652d6c232c5c6a60327c414c3a5c313958282f44633e617e784d0a2247516909484d30585868757d71454b3d51686539317320282a6b 1086 1010 1087 1365 1101 3217 1035 5217 1106 1096 1050 1124 4286 13249 1049 1057 1088 47264 1068 1099 1062 1097 1126 1120 1077 1010 1034 1071 90148 1009 103147 1048 18860 17279 126674 82787 1061 1081 1268 1057 1049 1115 3052 1107 +54306529375836676d387463655c5b715d506e5e 1084 1048 1101 1041 1055 1088 1054 127241 1056 1116 1368 6524 1113 1093 1080 1110 1094 +3c537958206f68295e37295d523c70242a5b4c71584c6024702c79655934567c7936545d6a66662047642c40222d42446c5d0a5e3b310a4e6f733222326b6e31696d31743d6435 1060 70017 1088 12447 26397 1055 19322 1082 20711 1036 1042 1091 1076 1113 113479 1096 1036 1112 1044 6857 1089 1052 1086 1124 1121 1054 1084 1093 1106 1609 85830 105936 57829 18704 1108 2820 1094 1059 1049 1010 64602 1050 1034 1050 6754 1049 1329 1049 1116 97316 1053 +24316409502b476b546a705425645353776244556a5c734161413e233d7060614c56256428447378366f395326487164415551384c4c3f7b 1036 1049 1100 1009 1080 1043 1071 1107 1084 1106 1112 1084 52071 4290 78020 33674 1106 84891 1065 1097 1065 1062 1035 1061 1112 1096 1097 51489 52071 24803 1115 1120 1054 1111 1057 1083 1038 1072 125482 117778 1081 1056 23947 1063 1123 +782f6b6e3a5f4e75577371434f2e46457c784c56313e66715c63596a5e6a71314d3f317e732f324d7b54 1120 1047 6754 36777 69249 81187 1113 9335 6350 1069 1124 1120 51489 1049 1062 1102 1113 1092 1099 1089 1106 1094 118757 1049 1077 1063 1049 1126 1115 1047 1050 1077 35865 +46345d567b3b6857306231 1070 1052 1093 1086 1123 1059 1104 1087 1048 1098 1049 +3441564c386c786e4a6f272825745e355a783133774636522c7354375d7b6c397c414c615e355b376142 1052 29970 1076 1056 106372 1110 32870 1039 36805 1116 1094 1053 1090 1120 1049 1051 1119 1070 1054 1082 34361 1084 1055 20079 1108 1057 1124 1065 3453 1094 1053 1091 1055 1097 1066 +6f5d4d21287432267c386c230944215a4a5d63704940666147593b5f2659346e6047544b7c237a 1111 1093 1077 31881 1116 1050 1038 1124 1056 1108 1035 130610 1033 1090 1074 1093 21097 1073 1064 7918 1071 1089 1059 1095 1038 1089 1052 1110 1096 35985 1075 1124 1035 1122 +6b656a484e3a52703b467569314c4b2c722d2c5d413a6e307b215a7e4a4c3456225d7275705e70575a2f377227404d545d386031423920250a4f093c68344d736009675b4264543859623b6924 51662 1072 1078 1058 1082 1112 1059 1070 2386 1049 1076 1075 47086 18532 1093 1065 24082 1048 1123 1033 1090 1126 1074 1076 1052 1086 4964 21001 1094 1112 1087 1090 1047 1055 1114 1039 1064 15901 1093 1056 1096 1049 1066 1057 45352 1079 1009 28932 1052 35201 1096 28706 1091 1066 1100 1084 1056 1089 1098 16430 1036 +247e40596155666f5b6149 1036 1126 1064 53881 1085 2751 44697 1073 +3d44737c2d4b796e33362a51587651317d2433733526733b4f7141783453583220583d437a34 1061 46723 1124 1045 1075 2249 1051 1054 1042 1081 1088 1118 1081 1049 5521 1051 1115 1053 1038 1115 1059 1079 1113 82928 1052 1083 1088 1050 2628 82063 1122 1052 +2f26675865447b6b785568607b237744294d296c262e7c4b543036 1047 1038 1103 1088 1101 1068 38399 1120 1085 1104 1096 105191 1119 1068 1041 1077 1041 1108 1038 1046 1124 81092 1048 1054 +5d5e2c403c3f7e 1093 31789 1064 6780 1126 +5f36204726384252496666677553614c3c61726932244328592743367952286e286b4f503a365047642c6679566b413b53797a47233d7e4d 1095 1054 1461 1038 1056 1066 8707 1609 3394 34610 1076 1060 1859 1050 1036 1067 62180 1039 1067 1054 1121 1082 4990 16026 14748 1058 1054 54406 1100 48315 1121 1086 1107 1065 1059 1083 7354 1071 1035 1061 1126 1077 +2c584739532a45664e3f6a6236092b346730093634706b6b456d74304234296a32277c5966784620 35784 1071 1057 1083 1042 1069 1102 1078 1063 1106 1098 1054 1009 1043 1052 1103 1048 1009 1054 1052 1112 13775 5969 1116 1048 1066 1052 1041 1106 1050 1039 1124 1089 25790 1070 1032 +714a544f336e274b29217a2a4c342e28373a7b4849446370292a6d773d 1113 1074 9197 1051 1110 1039 1075 85188 1122 1042 1076 1052 26667 1055 43529 1072 3084 21097 7394 1109 1119 1061 +46424b7e3e617e3a2e326770587d49707e225444232a26213e4b437e45692c4e235044565d394b5f7672623f0a50555f7b6471597477 62311 1075 1126 1062 1097 1126 70511 1050 127398 1088 1125 46895 1126 1034 30975 1035 1042 1038 1033 1062 120387 1126 1069 1105 45730 1035 9315 1086 1093 1057 1075 11221 20907 9551 81208 1746 1100 1113 1089 28895 +6a724109225e42453d71445854282f715d096e29643b5c5420364e6243273c753e097e39214f266b4872285a26794f4c586841654f2b60465234402b3e3e43485340 1106 1114 1065 1009 1034 1094 34817 1061 1113 1068 32225 47264 1113 1093 51893 117175 27076 1084 1032 1054 90279 1067 96726 1117 1062 1009 1126 1057 1033 1079 11049 1072 1114 80724 1038 1121 8568 1088 1104 1065 1101 1079 107285 53744 1052 1064 1043 8424 7247 1083 1064 +4e63542d21683d5d745463205d6864456662433c50 1078 1099 1084 1045 1033 1104 1061 1093 1116 102514 12750 19173 1069 45568 1067 1060 1080 +68533e327242353373 1104 1083 1062 1050 1114 1066 1053 1051 1115 +4e773c513d6030576230483a3a7e242637662270305876610a725b3e2e3d5e736b514577466376602427762a6b32 1078 1119 1060 1081 60303 1048 1087 1098 1048 1072 66356 1036 1038 1055 1102 1034 1112 1048 1088 2940 1010 1114 1091 42552 1061 1094 2728 1081 1069 1119 1070 56625 1096 1036 1039 1118 124944 1050 +6e5b5d36267429286647527e3d57645d65096c544c407436450a54757e7c5a52490959624e3b4b3f38653a2d3f48246536592b705a53096763497e654724245f5e4c24413b2c525847416f2251 1110 4344 1054 1038 1116 9731 1102 32874 1126 1061 1087 1100 1093 1101 41983 35570 1064 1116 1054 1069 1010 31155 1126 1124 1090 8707 1009 1089 1098 1078 1059 1075 1063 1056 1101 38053 1063 1072 1036 1101 1054 1089 89856 1090 1083 28706 1099 1073 1126 1101 1071 19587 1095 1094 1076 1036 1065 1059 1044 130864 19454 1111 1034 1081 +2f232b3a245475745160625f67227453554c5d4c50095a5c3376617322663471 47667 1043 57366 1084 1341 1081 1096 1098 11898 1034 1116 1083 4614 1093 28547 1009 1090 1092 1051 7797 1034 1102 1052 1113 +622b39403e47602979693f324a773b76693e7b755f6f0a5d2128587c33494e4b62322a4a483a3b3f4f527926 1098 1043 1057 1064 1062 1071 32891 15958 1063 1050 1074 1119 1059 2719 17965 1117 55925 1010 1093 31881 1088 1124 1051 57142 1098 1050 1042 1074 1072 1058 1059 1063 3749 1121 1038 +73617c2e743e5e225855376527307b294463553b7524795d545d5e09633d7e462d454a78316a2d3545602a352e266d79763469327b594947 7839 1124 1046 1116 1062 1094 1034 1088 1085 1055 1101 1039 1048 54690 1068 1099 1085 1059 1117 1036 1121 1093 1084 102121 6622 1061 1126 1070 12145 1074 1120 1049 1106 1045 1053 1069 1096 1042 1053 1046 1038 3933 1118 1052 1105 1050 82514 4351 +7c5429506c4e640962477a5958337b5d23585e655f3754227122264a506459382c72666b2253556169792a6f402138664f644f59717b4a30 1124 1084 1041 4444 1078 1100 40796 1071 1122 1089 1088 1051 111201 1035 1088 1094 1101 1095 1055 1084 1034 1113 1034 1038 72267 1100 1089 1056 1044 31601 1107 1034 50885 2464 1121 1042 1111 1064 1033 1056 1102 42956 1079 1089 1113 96460 1048 +5c735a4e2e6875717239267d2a2b663d2c6627 84891 1090 1078 3628 77139 1114 1057 1038 68793 1043 1102 1061 1044 1102 1039 +78535f6b6b2777487a48505e2647482c36747c353f74655d5f777d2e657c4f6a797d362945362c7526513c72382768216b2c 1120 1083 1095 13775 1039 1119 12160 13719 1094 1038 96633 1044 1054 1116 1124 1053 1063 1400 113650 1119 14522 1101 1124 1079 1106 1121 1125 1054 1041 1069 1054 79647 1038 1081 1060 1114 1056 6782 1033 1107 1044 +616b6e322854223551572e557b70724f63783d716352287966307d685e4e58675c2a76546a30673454285b7c 1489 1110 1050 14621 1034 1053 1081 1087 25251 1123 1553 1079 87703 1061 1113 1099 1082 16367 1102 1048 109669 1094 1078 1088 1103 1092 1042 1118 1084 1106 1048 1103 1052 1084 9038 1124 +234e22363078643648795869546d70645363775a29253c6250363f602509386b67 1035 1078 1034 1054 1048 72401 1054 54901 108124 77059 1100 5492 1119 1090 59909 1060 1098 1080 1054 1063 1096 1037 1009 1056 10096 +5a48647d2c6d6b51546d3865742c5d4b65615752753f5e737577757b24465b5164395d23596643457b4b5176455443753137552272582262755f6124582a77746364502e61 1090 1072 1100 4179 75583 1081 1084 1109 1056 1304 124866 13958 1097 44407 1117 1063 1094 6453 123679 49399 1070 1091 1081 1100 1057 1093 1035 1089 1102 9158 55681 1081 1118 4321 21988 1049 1055 1085 1034 1114 1088 1034 3991 17202 1036 1088 1042 22075 5979 1080 15664 +676f2d2973 2762 39210 1115 +23576431332224512a4672552e423a5a6a713022 1035 1087 1100 1049 1051 128379 1081 1042 27897 1085 7138 1058 1090 118757 1048 1034 +6d33334638574359457d39595f69474a3b562163282938454a662950595d6e3a67732a5964313d59336e2a3628 1109 1051 1051 1070 1056 61778 1089 1069 1125 1057 1089 13755 1071 1074 1059 1086 1033 1099 1690 1056 1069 1074 1102 1041 45242 1093 1110 1058 6735 1042 1089 1100 1049 1061 1089 1051 1110 1042 1054 1040 +7576523830752f4b0a6f5653735d54385d2c7c677a47772b5f504c577b664c3f3365243049573d415372716f29547664332d59376a7d2626246a3221 5786 1082 1056 1048 1117 54888 1010 1111 73553 1115 1093 1084 1056 3605 1124 78976 1071 1119 1043 1095 24520 1087 41548 1076 1063 1051 1101 1036 1048 1073 1087 1061 6003 1114 1113 1111 1041 1084 52866 1051 32401 1055 1106 23283 1038 1036 1106 1050 1033 +727674417644643b7209545b7e4b2a512470304875525d0a513a2573577e60274e45575358382e4e30306d247473615f5c7b262c6e5e7d5e415c7d282e6f49253d2976576b6562 17750 1116 17039 1068 1100 1059 1114 83080 1091 1126 1075 1042 1081 1036 1112 1048 68667 1082 2820 1081 31007 1115 1087 1126 93080 29156 20266 1088 1056 8787 1048 1048 1109 1036 2392 1097 1095 38732 1038 1044 1110 1094 29009 1065 1092 4709 1046 1111 1073 20096 1041 1118 1087 1965 1098 +552b394f6e2335565f5e4740204475 1085 1043 1057 3680 1035 1053 1086 1095 1094 1071 1064 8415 +3f6a2e76647d762c30283e413426245a48632f725876342267576c7d2f5a51440a3666395b6e490a203f7d59384878442155754d287336696939592230276c4839446f4c73556d72 1063 1106 10246 1100 86469 1044 1048 1040 1062 1065 1052 1038 1036 1090 1072 1099 24020 1088 1118 1052 1034 1103 1087 1108 9657 1090 1081 1068 1010 1054 1102 1057 25501 1073 1010 3082 1125 1089 1056 1072 1120 1068 1033 1085 1117 1077 3848 1054 4743 1057 1089 1034 1048 54297 1072 1057 9476 111268 35877 1114 +40722f277a61655a 1064 1114 41117 2712 1101 1090 +5e7c28202a256e382753526d24614544094e4a436209542e526c6a4e2d32437e565773444b7a60393e544b582971705a540a38443c26565d54334a545a2a4b6e394c703574534660 1094 1124 1040 1364 1037 1110 1056 1039 21967 1109 92411 7051 1009 1078 1074 98779 83080 6047 26186 1078 1045 1050 1067 1126 1086 81187 49329 1122 1096 1057 1062 105765 1088 1041 123033 1090 1084 1010 1056 1068 1060 1038 1086 1093 1084 1051 1074 1084 1090 1042 76194 1057 1076 1112 1053 1116 28036 1096 +5209446f245858372e37225b43235a0a4e20444f2c24616c 1082 1009 9476 1036 18860 1055 1046 1055 1034 1091 1067 1035 1090 1010 1078 21478 15985 1279 +4f594433672d66306c487a2b50776f785e5564446662573a61716f28287a6b7e377a612c5b31693a77444431573861334157662949645f532656522336 1079 1089 1068 1051 1103 3421 1048 1108 12160 1043 1080 2054 1120 1094 1085 1100 1068 45568 1087 1058 56014 1111 4564 13552 1126 1055 2712 28741 1049 1105 77794 27789 1049 1087 1056 1097 1051 1065 1087 1102 1041 2406 5618 1038 56994 1035 1054 +5c2c6c476e2a6e496425735b3e7257412d3e 10380 1108 1071 1110 61415 2406 54315 1091 1062 1114 32111 1941 +7a312e0a70276e2538702e353877363f52713147576b220a5144364653393064352b613f5a35433245 1122 1049 1626 1112 14362 1037 1056 1112 1046 1053 1056 1119 1054 1063 1082 1113 1049 102348 1107 2241 1081 1068 1054 21313 1057 1048 1100 1053 63389 1063 1090 1053 1067 1050 1069 +39387344344b553c205c742c246c794d2c5d237068745265515b75375823793009 1057 1056 1115 1068 1052 1075 1085 1060 1617 1116 15985 1405 1077 124866 1035 1112 1478 2596 1081 81696 1055 1088 1035 1121 1048 1009 +76596752242c792b50782c212a5c5f33747b255b093e2d425c 1118 1089 1103 1082 10933 1121 1043 120346 1044 27278 28178 1051 1116 54389 1091 1009 93242 1066 1092 +654620284f273d7a6166687246342329433e246e7c2c327d7b4b2452092479755627542a3459343e4f376973437c6f7c745937262141562666 1101 1070 1319 1079 1039 1061 2712 1102 2551 1070 1052 1035 1041 1067 81942 1110 1124 1044 1050 3483 1075 1036 1082 1009 1036 105451 1086 1039 1084 1042 1052 1089 1052 1062 1079 1055 1275 1067 1124 1111 1124 1116 1089 1055 1038 1033 29970 1038 1102 +5a416c 1090 3635 +5f223021417b6140723b7d204e57213a696b283d097c624131297c554e6b60634529642f2e567437486f2f354a435758600a52442f 48349 1048 1033 1065 26827 1064 1114 1059 1125 91124 98977 1552 1040 1061 1009 1124 1098 1065 1049 38547 8929 1107 1096 1099 1069 117175 22735 1086 1116 1055 45258 1047 1053 1074 1067 1087 1088 10632 50289 1047 +6c66744f5d5f2220693b39334f583d646f33284072736470263346655d4948586f53 1108 1846 1079 1093 48349 1623 1059 1057 1051 60261 1061 3846 1051 14303 7311 28384 1038 1051 11204 1093 1073 1072 1088 1111 1083 +56297b7960212168522e3f627509637b485172536d29273169472d6e2c6a2f7120652c43536d 1086 24342 1121 1096 7290 1104 1082 1046 1063 3991 6622 35069 1081 1114 18848 42347 1049 1105 1071 6603 22916 53643 1324 1044 13754 1109 +264277253e445a7a285e60345375492b533f7a42374f714a2740616b3e504e2650656b29624c6f762a4a7a2e3f53356c310a3a30706b2f3750774c455d33235e4b6563627b496a3e 38019 1119 1037 1062 1068 1090 1122 1040 1094 1096 1052 7352 1073 1043 1083 1063 1122 1066 1055 1079 1113 1074 1039 1064 1489 1062 28666 116011 2166 1041 1098 1076 1539 1042 1074 1122 1046 1063 1083 1053 1108 1049 1010 1058 1048 64312 1047 1055 1080 1119 3561 1093 1051 1035 1094 1075 2025 1098 50642 1106 1062 +4f3f3c4b672646252c72485c6858314a5f43474f3a203526703256762c674426395864456b4e6d7871 1079 1063 1060 1075 1103 1038 1070 8630 1114 1072 1092 1104 1088 1049 1074 4598 28649 1058 1032 1053 1038 1112 1050 1086 1118 68141 1068 1038 1057 1088 1100 98678 1078 52132 1113 +627c553b30703b46094b495a33385e6876263b547a4674434d73783f47216478442b3126754627715f247660463b4d267e632b367a68307657 1098 1124 1085 1059 1048 1112 1059 1070 1009 1075 15152 1051 1056 1094 51701 1038 1059 1084 1122 1070 1116 1067 35201 1120 1063 1071 1033 19903 1068 1043 1049 1038 1117 1070 1039 1113 1095 1036 1118 1096 1070 1059 1077 1038 1126 1099 1043 1054 25434 1048 1118 1087 +5842583a3b096e716c3a626b626046605935234a30533e59482b6a752f467e4166672e6925354635263e725c5d2e4c625c73534054554d0a7d25477263393d7a28 1088 1066 1088 1058 1059 51893 4765 1058 1098 82524 1096 1070 1096 1089 1053 1035 1074 1048 1083 1062 1089 1072 1043 5517 28546 1126 1065 18968 25610 1037 1053 1070 1053 1038 1062 1114 1092 3077 1076 1098 84891 1083 1064 1084 11458 1010 1125 1037 1071 2908 1057 1061 1122 1040 +52384d3472384c5e51537b2857595f5a5e0a4d237c2245793342482e762e725c2c7c3a0a7d385248334d363c3b673d79473625 1082 1056 1077 1052 1114 1056 1076 1094 1081 1083 22485 1087 1089 62446 1094 1010 1077 1035 1124 1034 1069 1121 1051 1066 1072 10246 5950 10380 1124 1877 1125 1056 82104 1051 1077 1054 1060 1059 1103 74951 1071 1054 1037 +637a5c6e476142785b 5206 6250 54074 1066 1120 1091 +3e55294962233e636328764e4559097e55546c5f336f5e 1062 1085 1041 1073 1098 83059 1666 14097 29156 1089 1009 1126 5489 1108 1095 1051 1111 1094 +77625c3a 78020 1092 1058 +547e41587a4f7877093e74292f0a302f5d4461673328657d7d7d720a6b314e517b5d5b 1084 1126 13339 1122 58596 1119 1009 1062 1116 12982 1010 1048 1047 1093 1068 1393 1051 6680 31700 1114 1010 1107 1049 1078 1081 1123 5371 +2a6852724f3e604a20392851497d6a367c756e2e48272a5a28 1042 1104 1082 1114 1079 27051 1074 1032 1057 25403 1073 1125 1106 1054 1124 1384 12015 23545 1090 1040 +314075283171243e6f5f6f7860394c243d6d2432484a6f7b542e3a6a626628627270305839644f5d726b5e597d5f604367413064675c5a71273d 1049 1064 1117 1040 1049 1113 1036 1062 1111 1095 3155 1096 1057 1076 1036 1061 1109 1036 1050 1072 32870 35865 14223 1106 5551 1040 3285 1112 1048 1088 1057 1100 1079 1093 112739 1094 1089 32796 1096 1067 1103 1065 1048 1100 1103 1092 1090 1113 1039 1061 +305a21686035217327717d412f766c2d384b4947425a24627b673b69627b4b74730a726f51617e 1048 1090 1033 1104 1096 1053 1033 1115 1039 1113 63360 11801 1108 1045 1056 1075 4351 1066 1090 1036 1098 52444 1059 1612 55681 2392 1010 1291 1081 1097 1126 +73515f7c696c56414735512420383a3b6b6b4f34585a21393f322c6a43737d5a2e4f736a737465587d22 1115 1081 1095 1124 1318 1086 6970 1053 1081 1036 1032 1056 1058 1059 13775 1079 1052 1088 1090 1033 1057 1063 1050 22916 38360 1125 1090 1046 18570 1106 2969 1088 27024 +40693b49224d54403d395a2f4f6040 1064 1105 1059 1073 1034 15901 1064 1061 1057 1090 33338 1096 1064 +372e53440a652b5855522e61462d6a386f56335b4621642c0a6f662254665578524920397c31617d453c3c39602b53242b75667e393b3e76585e4b245f39426426365b5c407729344f5f5033225d732e 1055 3051 1068 1010 1101 1043 1088 5553 15664 1070 17895 1056 1111 1086 1051 1091 1070 1033 1100 1520 2935 1034 1084 1102 1085 1120 8707 1032 1057 1124 1049 1097 107740 12130 1057 1096 1043 1083 1036 1043 3676 1126 1057 1059 1062 1118 1088 1094 1075 57994 1057 1066 1100 1038 1054 23233 1064 1119 1041 1052 1079 5482 1051 4964 1115 1046 +594556574c454247453a2f5636455c525b7b73504673473f773a26265c6f35394125785c542846266c2109414c58492e7a54304f3d6366 1089 66703 1087 3561 1066 19527 25771 1086 1054 1069 1092 1082 57096 1115 1080 53843 1071 1063 1119 1058 30004 1092 1111 1053 1057 1065 121406 1092 1084 34510 60846 1033 1009 4286 107321 24145 1084 1048 1079 1061 23074 +7a287527366b470a4b2520314f23605e5e58676f6851754929 1122 24952 1039 1054 1107 1071 1010 1075 1037 1032 1049 1079 1035 1096 48697 1088 1103 2523 6605 1073 1041 +344e3f31395643236c2b6b5d6c0a633e5f2e513d5c6d224563666d3d4e6c2f5926712d293b7a4a4c75782f4372714448094d737e2949416b723e30787a2f63533a3e3923717c7e49 1052 1078 1063 1049 1057 20500 1035 1108 75577 1093 1108 1010 1099 1062 9220 1081 4762 1109 1034 1069 23074 1109 105493 1108 111616 130208 1045 3455 1122 1074 1076 2428 14787 1114 1113 47909 1009 35201 33141 20501 28156 1062 1048 1120 1122 5938 1083 1058 1062 1057 1035 1113 1124 1126 1073 +2b5e5b254a5c7e43617341 14914 87914 1074 1092 1126 68073 1065 +2361317173203a660a4f434077364f4034443c7b3d4a2326796d532049543a2f4b424b3f596977576f2f3c6d2c722a367332483d3a79777e69483450572e6753587e2b583f71262a2122 1035 1097 1049 55485 1737 1102 1010 11815 1064 1119 1054 1079 1064 1052 1068 1060 1123 1061 1074 1035 1038 2360 1083 22784 25771 60305 1075 1063 1089 114919 70007 75263 1109 47086 1042 1054 1115 1050 1072 120271 16852 68887 1072 1052 109996 3596 1083 1088 1126 1043 1088 92404 1038 1042 17405 +3c654e29342c2d31413741596c6d3a5a700a2337 1060 1101 1078 1041 1052 20879 1049 1065 1055 25698 56383 1058 1090 1112 1010 1035 1055 +657a44456d5c5730693f423b7a42206c796d2e712879 8019 5088 1109 1092 1087 1048 1105 1063 1066 1059 1122 1066 1295 2360 60920 16367 +2d2c7b5b335c597d4823387b5d28645353415e7d657a34422c244261734536386c284a3c4c59517e2b402a4d406c29700956295b3c6c4472304563204b732c7b567e23736f2e50 18532 72036 1051 1092 1089 40673 1035 1056 1123 4015 1100 4290 1065 1094 1125 8019 1052 1066 15985 44125 1069 1054 1056 1108 43504 1060 38180 1081 1126 1043 1064 1042 1077 1064 1108 102356 1009 1086 20760 1060 1108 16236 1048 108976 1550 1115 91651 1086 1126 1035 1778 6565 +242b6a55797a4c2c5e323c2b7e57596573346a4b5d3e743b79282053745f742d32487e426f7572343a 1036 1043 1106 1085 7354 1076 1044 1094 1050 1060 1043 1126 1087 16860 1052 1106 1075 93748 1116 1059 1121 1040 1757 2480 1045 1050 1072 1126 1066 1479 1052 1058 +77654d7c382d6b24557d6d6d09462c666426242f6c37487e5f475e275775455d70235f3d2c75093c5d46624373265c23737b742f5b7769 1808 1077 1124 1056 11167 1036 1085 1125 8383 1009 1070 1044 34788 1038 112888 1108 1055 1072 1126 1095 1071 1094 1039 119515 1069 1093 1112 1035 1095 1061 1044 1117 1009 1060 1093 1070 1098 38360 37134 1035 1115 37876 95540 19559 +4a6d495b372d485f3166266a7335 1074 1109 1073 1091 1055 8005 1095 1049 1102 1038 6519 1053 +5351477b3058634c 1083 1081 1071 1123 1048 1088 1099 1076 +426c2f2b73462c42354f6247315f2c3f7126512a223c3a587a4d6d343c7b49 5855 114182 1115 1070 41778 1053 8944 1071 1049 5880 1063 1113 1038 1081 21808 1060 1058 1088 1122 1077 1109 1052 1060 1123 1073 +7d484e6b56733564587d35675d4b2e5b32372922602c797561496e5826477a 40673 1078 1107 38472 1053 1100 1088 1125 1053 1103 1093 1075 8925 1050 1055 18881 7273 1121 4037 1785 1088 126003 1122 +38482e5a7128094977256241524826266e3e64334e505b2b795130717d7046542b3834772454323330555f6e6c2735716d623b5e583c3945597b2b6d316823 1056 1072 45798 1113 1040 1009 1073 1119 1037 1098 3905 1072 30004 1110 1062 1100 1051 26640 1091 1043 1121 1081 1048 1113 74631 17310 1043 1056 1052 1119 1036 1084 1050 1051 1048 1085 4883 1108 1039 1053 1113 14192 1059 1094 1088 1060 1057 1069 1089 1123 1043 1109 1049 1104 1035 +5c764d4a3b70274023526173616c527c52357a4656402d37482176355a626e616e512b414e21 116348 1077 1074 1059 1112 1039 1064 1035 1082 66475 1082 1124 1082 1053 1122 1070 1086 1064 1045 1055 1072 1033 1118 1053 1090 1098 26836 1081 1043 5010 1033 +0a4d6c6e21294b7e68466f24763476 1010 1077 4876 47905 1075 1126 1104 1070 1111 1036 1118 1052 1118 +3748257634262d64275763706d4e6b5d5741472b5844 1055 1072 1037 1118 1052 73000 1100 1039 1087 1099 6411 1078 1107 1093 1087 6970 1043 1088 1068 +7d5c0a275678327b622f3128444b532e4f385d7e37602a47534975784337507d6356385b5e4b2346636e363d2c787a585e28513f7265203037345662 2380 1010 1039 1086 1120 1050 21623 1047 1049 24803 110718 20740 1056 1093 1126 1055 1096 1042 1071 27239 2428 1067 1055 1080 70206 1086 1056 1091 1094 1075 1035 1070 18170 1054 1061 1044 1120 1122 1088 58924 1081 1063 1273 1032 1048 1055 1052 1086 1098 +22416920713e6c2b2c25403f5a294a416b326321392a60527e61 1034 70466 4367 1062 1108 1043 38667 1064 1063 1090 1041 1074 70745 1050 1099 1033 1057 102676 1082 1126 1097 +294c3135262e5e4b69656c53577d30577d5e7b444b205a3f615d 1041 1076 1049 1053 1038 1046 1094 1075 1907 74938 1125 1048 1087 3161 49329 2163 1063 1097 1093 +7b4b2320745a2333592a2f2b5c4d383f564d315f7d7653653234344e692444514457645b52747809696d772865443c77623c2c2333233377 55681 1035 1257 1090 1035 1051 1089 10212 11428 1077 1056 1063 30569 1049 99743 1118 3201 1050 1052 1052 46519 1036 1068 1081 1068 1087 1100 1091 1082 14413 1009 1329 1119 6680 1068 1060 78020 1060 116638 1051 1035 1051 1119 +59344e3a657539756e3e6f383d4b3d4e4d59652f49513769683c2a4c43367b4e3f4157693266 1089 1052 1078 1058 15955 1057 1384 1062 1111 1056 1061 1075 1061 99056 42414 45517 1081 1055 4183 1060 1042 13515 1054 35361 1063 1065 77774 1050 1102 +6c56614c4e68 1108 68032 1076 51852 +65 1101 +66745c76383c6b5f72636027726e6a2669283e6f7a6d20336b6f382a350a3d76216e72563d322e716b5d0a653d3f466d3d57563b50275e2d21594e4522256c74285a557e4b540a5663626173477e2425 1846 116348 1056 1060 1107 1095 2908 93080 1114 26066 1038 1105 1040 1062 5665 1109 1032 1051 3505 1056 1042 1053 1010 120125 1033 76536 1086 1061 1050 60920 1107 2820 1101 92294 1070 1109 1061 1087 1086 1059 1080 1039 42280 1033 1089 29156 125684 3234 80724 1085 1126 81092 1010 1086 1099 13753 1071 1126 1036 1037 +3c72786f207e3940714a487266773e5360507a5d6d0a09735d4750 1060 1114 43101 7849 1057 1064 1113 1074 1072 31601 1119 1062 1083 1096 1080 1122 1093 1109 1010 13293 1093 31714 +7b6f5b402546545a6e4a582754657b514459657c313a497548 78366 34238 1037 17310 68905 1074 1088 1039 9510 52173 1068 42414 1124 1049 1058 1073 1117 1072 +60492b6b513c 1096 1073 75577 1081 1060 +612349443c267747563b7b6f76097a22292f6a304b252366486164287551775a445f3f7a657d217c7936213e352f5b5153556f633155 1097 1035 3084 1060 1038 1119 109488 1059 1123 1539 1009 1122 4428 1047 1106 1048 1075 1037 1035 1102 111045 24952 1081 1119 1090 1068 1095 1063 2343 119020 1124 1121 1054 1033 1062 1053 95540 1081 50885 1453 1049 1085 +39442b243d7b602b5d585c624079296009307c5975742332 1057 1068 1043 1036 37375 1043 1093 1088 1092 1098 1064 1121 17783 1009 1048 1124 1089 1341 1035 1050 +347e2b7d604247695e7522614d60786d74477759472c7d31503a3d3220377047284f47472b4b57282e63097d2e0a7a3249 1052 1126 1043 14483 1066 42435 1094 1117 1034 1097 1077 1096 1120 6578 1071 1119 1089 1071 78036 1049 1080 50144 1050 1032 1055 1112 1071 1040 48368 1071 1043 1075 1087 37206 1099 1009 62853 1122 1050 1073 +2b656331276b4a2a64640923583a533f383b3427603d26385f782f7c642854414e3369436d7628365d71094f34257420472052263b 1043 2025 1049 1039 1107 1074 1042 2805 1009 1035 1088 1058 1083 1063 1056 1059 1052 69066 74113 1056 12454 1047 1124 1100 14621 5010 1051 1105 1067 111053 1040 1054 1093 1113 1009 1079 1052 1037 1116 1461 1434 1038 1059 +66552e48593a3c5c6d4e710a7273695279666420386a2d3b67725d3722 1102 1085 12015 1089 1058 44129 1109 1078 1113 1010 1114 5822 1082 1121 34788 1032 1056 1106 1045 1059 1870 1093 1055 1034 +22486b4d5471375666516e6d5b236f4e3e4e 1034 1072 1107 15901 1113 1055 1086 1102 1081 36406 1091 1035 1111 1078 1062 1078 +5578613e7c385a5a7b426c31492033400957733241325d79496a723750554c35524675377126524309746d3a2f28343d4f776c3e4f7549543e2a6f6f5750504e5161793e3c4d7b78762775 1085 28674 1062 1124 1056 105156 1123 5855 1049 1073 1032 1051 1064 1009 81187 1050 1065 1050 1093 1121 1073 1106 1114 1055 1080 4614 1053 43456 1117 1055 1113 1038 22805 14133 1109 25771 1040 1052 1061 1079 130450 1062 110084 4778 85029 12078 1087 11388 1078 1081 1417 4812 1077 17222 1118 40439 +456b2a3b48266e6757606c5937203e732673686f745d705a286d4b6b2d5f6d42604d5a773b355e49525d777d5a4877752b6b427b2c54237e363e6c512c 98678 18146 1072 1038 1716 1087 1096 1108 1089 1055 3006 1115 1038 17947 1093 1112 1090 5239 1075 1107 73924 1109 1066 1096 1077 76109 1059 1053 1094 9474 1093 1119 1125 1090 1072 123679 75577 1066 1123 1044 1084 1035 1126 1054 1062 1108 1081 1044 +4d3668725377094344697134336d557c437050727a45293f4f3e09522f7b390a3e494c635b245b78497a0a3f266f4e34776f67363b3b27 1077 1054 2551 17705 1009 8584 36926 1052 1051 1109 1085 1124 119568 5240 1122 1069 36036 1079 1062 1009 1082 25546 1057 1010 1062 9387 1099 16337 1091 1120 88814 1010 1063 1038 1111 1078 1052 1119 1500 1054 52100 1039 +22217e3e57314f2852445109732c2b7e647e3972616b2763726f68504e4079692367443d7755583c3b5b23563141592b665c7e432261357e6231747a695f7b714f7c4a4c35523b302051492c4d343a 1034 1033 1126 1062 1087 1049 1079 8334 1068 1081 13293 1044 1043 1126 1100 1126 1057 8041 1039 61014 1104 28666 1064 15958 1035 1103 1068 1061 1119 82838 1060 1059 1091 1035 1086 1049 25698 1043 1102 1092 1126 1067 1034 1097 1053 1126 1098 1049 1116 4606 1746 1113 1079 1124 1074 1076 1053 1082 1059 1048 2466 1073 84592 1052 1058 +5a40515a7c4a5e62422a377c4d5a327e7e2471773979765b796a490a0a752f783e2070394633786f672c65 1090 1064 1081 1090 1124 1074 1094 1098 1066 1042 1055 1124 1077 1090 1050 26385 1036 1113 1119 1057 33983 1091 37094 1073 1267 1117 27432 1062 1274 1057 1070 1051 1120 1500 67672 +602b6d2f727322417d54556d 1096 1043 1109 1047 7311 93192 78522 35877 +572071512d2c4128435c223428 1087 4367 1081 18532 1065 16366 17931 1052 1040 +6d72316d60792a717725494a235076352652216d7c6c5962687952334651322f7051693928 61373 1049 1109 1096 1121 1042 1113 1119 1037 1073 1074 1035 1080 1118 1053 125903 1033 1109 53326 1089 1098 16713 1082 1051 1070 1081 1050 8273 90148 1057 1040 +4d46582a685351766c274a36615b5d75737e27225224603625695849374b645a64366f714d514d287420346128507431644d772d756b317c2e353a7d72315271 1077 75215 1042 1104 1083 1081 32064 1039 1074 1054 1097 4344 1374 1126 38416 1082 1036 1096 1054 129955 107321 1055 1075 1100 1090 1100 1054 105357 94031 1077 4039 1032 1052 1097 26071 1116 1049 1100 1077 1119 1045 2699 1049 1124 1046 1053 1058 1125 1114 1049 1082 1113 +552f766b6c466f7a392a3c7964575148542f47342c60654e3533437c7e6038622c5c3d592a524222534c75772b2a4a7a70547e57744d47265b765a64406a7858306b6a2322463a69 1085 11801 4904 1070 5665 1057 1042 1060 3282 1087 1081 8395 38484 1052 1044 1096 1101 1078 1053 1051 1067 1124 1126 1096 1056 1098 5217 1061 1089 1042 84165 1034 27893 43754 1043 1042 1074 1122 1112 1084 1126 1087 1116 64937 1038 1091 1118 1090 1100 1064 1106 1120 1088 1048 89773 1035 1034 1070 55350 +506035272a286d7675282f28673448423a68096a633c675c7976097c 1080 1096 1053 1039 19197 1109 22786 1040 30875 1103 1052 68291 126067 56663 1099 1060 1103 1092 33983 1009 1124 +2c4c2d7e226c745621615b513c4e21435f4d622d30546a514a53 80377 1045 1126 1034 3234 1086 1033 1097 1091 1081 124549 1033 1067 6911 1098 1045 1048 1084 1106 1081 32452 +4d227454652b627d5c5a623344 1077 1034 1116 9510 41058 2380 1090 1098 1051 1068 +22374c6177252d363a697d6240666c7159585c773d433c3f6e6466595a4b765764404f5d312c7a2e545c46236531092e5d677a52363d7822 1034 1055 60057 32002 1054 55350 72532 1064 2444 1113 1089 1088 1092 1119 82063 6780 1298 1102 1089 1090 1075 1118 1087 1100 1064 1079 1093 1049 45065 6847 1092 1070 1035 1101 1049 1009 68129 78976 1082 1054 50098 1034 +42657a704c7c50513d4e73782d2b314a68576f7c220975574330 5934 1122 1112 1076 1124 1080 1081 1061 47794 1120 1045 1043 1049 1074 1104 70007 1124 1034 61429 61778 1048 +71275d345b2555667d293b44422e5a20432d3d6b216f74764d644f6f715b7b3b5b78213147625572662e422a344029493168 1113 2963 1052 87914 1085 1102 75204 12223 45798 1359 1045 1061 1107 1033 1360 1118 104644 1079 105357 57096 1059 1091 1120 1033 1049 1071 1098 1085 31601 7138 1042 1052 1064 1041 1073 1049 1104 +2f497952406e254920564c68485e6e544b795244457a792457703a4740765359 45517 1121 1082 1064 1110 1037 1073 115941 1104 1072 48550 105765 1121 1082 5088 3520 1036 1087 1112 1058 1071 73661 101289 +3a40663a 24609 1102 1058 +246f47267a2e4d7e6b6e0a32233f547773704b3d7e4c77204c463a5f25456a3979543249506e72375d530a7169365a394f294e39734b6630 1036 1111 1071 1038 1122 4700 1126 6754 1010 1050 1035 1063 35132 2308 1075 1061 1126 1076 1119 85540 36777 1037 126699 1057 1121 1084 1050 9918 76536 1055 1093 1083 1010 24026 1054 1090 1057 1079 1041 1078 1057 1115 1075 1102 1048 +372f77696f59444c5d 1055 13001 1655 1089 42559 1093 +325d5f4c216422675a7e303b5644 1050 113650 1076 1033 1100 1034 1103 1090 1126 1048 1059 10566 +753c3c6e6f3a28734c54202e4633745c5c7852783e6351746e2e4f28466e7e60 1117 12130 2649 16992 1115 71905 2247 1070 1051 1116 8093 1120 81616 1062 1099 1081 4829 20740 34510 1110 1126 1096 +6e7e24392c295e094b51296c41667b5a482e2652432f52482b605e69357165406d34264a51473463523d507b46543d55542a577a63595d5f3a4e5a286321704f6433736c71673e27 1110 1126 1036 1057 1044 26397 1009 1075 1081 1041 1108 52895 40999 1072 1046 1038 22805 30403 1072 107285 1094 1105 1053 1113 1101 1064 1109 1052 1038 1074 1081 1071 1052 1099 1082 1061 1080 1123 17310 1061 5489 1042 1087 1122 1099 1089 1093 32045 88653 5164 1033 1112 42956 1051 7950 1113 1103 33820 +7a7c3c5546226b4340334f7d7b5e5d4b6369364a5d5742752b35627561762d24676c56674043 1122 1124 1060 52359 1034 1107 1067 1064 1051 1079 3483 1094 1093 1075 2253 1054 1074 1093 1087 4551 1043 1053 3991 1430 77960 3779 1086 1103 1064 1067 +09474e22567e3c3a4f3c5e09290a6746717e42446d726e665c276c2f2b 1009 123165 1034 1086 1126 1060 1058 1079 1060 1094 1009 1456 1103 1070 1113 1126 18704 61373 107295 60878 1108 114182 +33363c3559627e297b3b5d4f262c4171294d3f4c235a5c2c7c67362d22465948273e4e7e704f2d26475e2e4935356e2f4e50256a2a335260616e2a512f6e277a2d23406163634e60376f2c4063097e 1051 1054 1060 1053 1089 1098 1126 24342 1059 1093 1079 1038 1044 1065 1113 1041 1077 1063 1076 1035 1090 10380 1124 1103 1054 76880 1070 1089 1072 19686 1078 1126 1112 1079 1045 1038 1071 42232 1073 1053 1053 1110 1047 26640 1037 1106 1042 1051 1082 1096 1271 1042 1081 23409 93964 1045 1035 1064 4679 1078 1096 1055 1111 105936 1099 1009 1126 +4a2e4d487a605a2835394e51622d285c4c6e52256c74583648534a5b246043 1074 4700 12160 1096 1090 1040 1053 1057 1078 1081 1098 1045 6169 114892 1082 1037 3234 1088 1054 30316 1074 16337 1096 1067 +3f363748386d6b24773f674755515568584052774b386621 1063 1054 1055 1072 1056 75583 1036 1119 1063 1103 1071 1085 27289 1104 1088 1064 1082 1119 1075 1056 1102 1033 +4d4f495b5d4f6a5363355b7754294c2548206135754653446f7d675734577d5c65506423623647425e77376e5e7e5a2768486e72686247323b3e5f4b6951395f52 28497 1073 4344 1079 1106 5492 1053 1091 1119 1084 1041 1076 1037 1072 1261 1053 1117 21313 9476 95976 1087 1052 1087 2380 1101 130885 1035 1098 1054 12737 1094 1119 1055 1110 1094 1126 1090 6782 1072 1110 32177 1098 1071 1050 1059 1062 1095 69056 1081 1057 14138 +5144677e2c45342c266323574f663b7a2a7e6f2746643d3a4f742a452d0921093378 1081 1068 1103 23928 1069 1052 52977 1099 1035 1087 5162 1059 1122 1042 1126 1111 1039 1070 1100 120271 81222 1042 1069 1045 1009 1033 1009 1051 1120 +48776555234c7e525d4a44596168246d725c51227663663a755f746b72743f78305863564b532263452f625656526c2d23245655693079552d47 1072 1808 1085 128177 1126 1082 1093 1074 1068 1089 1816 1036 61373 1092 1081 1034 22160 1102 1058 1117 2480 1107 5185 1063 1120 1048 1088 1099 1086 110718 1034 1099 1069 15836 1086 56994 1108 1045 1035 1036 1086 47430 1048 1121 1085 7491 +423b785c720a6f4f5f5f275d5b6d297654473748 1066 1059 1120 18980 1010 1111 1079 3308 39768 1109 1041 1118 118593 1055 1072 +785931556d4f74487752356b5656493e547430417a755f365c323e2f2646615572643430226d67584c5b257a33612629445a2920095c325a5a68 1120 1089 1049 35877 81222 1072 1119 1082 1053 1107 1086 31416 1062 1084 1116 1048 1065 8966 1095 1054 1092 1050 55190 1038 50056 1085 7989 1052 1048 1034 21495 113479 87914 1122 1051 1097 1038 1041 1068 1090 1041 1032 1009 1092 1050 105156 1104 +777650700a5b35752d58442a714763364f39532e7c434e2264205e72494156624b5b333d44614328 1119 1118 1080 1112 1010 1091 1053 1117 24860 1068 1042 1113 125561 1054 1079 1057 1083 1046 1124 47271 1034 1100 12032 1114 20501 1086 1098 1075 1091 1051 1061 19927 1067 1040 +72472b7b2d3f7a7158223e7e39552338292a7264605c593e32534e734c094859265c45377a25780936657e7e307a3b4c2532 1114 1071 1043 39450 1063 1122 1113 1088 2571 1126 1057 1085 1035 1056 7394 7989 1096 1092 1089 1062 1050 1083 47794 1076 1009 1072 1089 37134 1069 1055 1122 121406 1009 1054 1101 26385 1048 1122 1059 1076 1037 1050 +4e4975747c414e717553412d2f75 42859 1341 1124 5010 1348 11941 63586 1117 +6e71472d4b4b7868 1110 1113 1071 10451 1075 1120 1104 +2d566e3048512a5c273b5d486e27276864523d3228394f402f44703231406b2f4721532b 11422 1110 1048 1072 1081 127689 27249 1093 1072 1110 20040 19173 1082 1061 1050 1040 1057 1079 1064 1047 1068 1112 1050 1049 1064 1107 38484 1033 1083 1043 +66627158556456512c2f2f5a212a6f6e5b3f7942 45568 1113 1088 1085 1100 1086 1081 1044 1555 1090 27278 1263 1091 1063 1121 1066 +7d275a73666b657b54413022257d6f3041526c6e2b7c7249453e7e764258337a41622c4a312a422e6e7c 40751 1090 21695 1965 1123 12887 1048 125684 1125 1111 1048 3905 4876 1043 1124 1114 20851 1062 1126 1118 1066 1088 1051 1122 10746 122617 1049 1042 1066 6019 1124 +557b51472e44095f422267223e6e48337d6d656d50516f5b4b6d454d2d696d5939745043714572662a226737393f3f453246425b6d51772a4c6e35357a3c384839793540752842225a533348587671 1085 52173 1071 5226 1009 8037 1034 1103 2571 1110 1072 1051 1125 27274 1080 97038 1091 1075 1109 15187 38787 1089 1057 1116 9793 1113 3859 1102 21808 1103 1055 1057 45509 1069 1050 62311 52468 1081 1119 1042 114892 1053 1053 1122 1060 1056 1072 1057 1121 1053 1064 1117 19608 1034 1090 1083 1051 1072 1088 1118 1113 +21206f45285324224a614e354259434c5f4f645565323d7c642d5d3f63606767305b4d35517d6427576e314a7e66526668533c233e705b2560625d3b5d6d2d7c2165422f5f304a6d6e7870743f 1033 1281 1069 13977 1036 1034 39488 1078 1053 82317 8534 10820 1100 1085 1101 1050 1061 1124 1100 1045 1093 1063 1099 1096 2867 1048 1091 1077 1053 1081 76554 1039 1087 1110 1049 1074 1126 1102 1082 115256 1083 1060 83059 1112 87914 1096 1098 18290 1093 1109 1045 1124 1033 1101 1066 35143 1048 1074 80209 1120 1515 1063 +443928485a41672c3b206a447159253e366946447074332320314728793f65 1068 1057 38917 1090 19068 1044 1059 1475 1068 1113 1089 1037 1062 1054 1105 61930 1515 1051 1035 1032 1049 1071 16367 1063 1101 +5e4058745e097e2d72674e585f3940365c6031517b3a44694d3a0a45522b4d452e33494c5750604f416d4d4d796e46303a754f423137464a2c5559695f3834236d767b703b4948 1094 1064 1088 1116 1094 1009 48724 19345 1078 1088 1095 1057 1064 1054 1092 1096 1049 1081 1123 1058 20609 1077 1877 2794 1043 5180 1046 1051 9387 64557 1096 1079 8459 20451 2249 1070 1048 1058 1117 53045 1049 1055 1070 1074 1044 1085 1089 1105 1095 1056 1052 1035 111053 29529 1059 1073 1072 +5859 50706 +64287568313251322b576649383e2d2f626c6574292745762b51 1100 1040 6786 1049 1050 1081 1050 1043 1087 1102 1073 1056 1062 63586 1098 2186 42347 48572 1043 1081 +720a4c7c20467b6a49735b794672622a64344a4d3d3b635737293c7665763c622c5a546c4f6423372b2e4448576833352076425d6f212c 1114 1010 1076 1124 1439 97992 5356 56010 1070 20907 1042 1100 1052 1074 1077 1061 1059 1099 1087 1055 65667 1672 1118 87794 1044 1090 126347 42956 1035 1055 116667 47909 3237 1051 1053 1330 1066 1093 1111 45949 +3b425d2a7e275a504a447e5c68 1059 1066 33666 1126 1039 1090 1080 1074 1068 104333 1104 +234a6c265c5f786e36633954473377652a3b777533602a263d7a4d283a5f676744642d407c5647362b 1035 1074 1108 1038 28178 1120 1110 1054 1099 1057 118593 1051 1808 18146 123679 1051 1096 1042 108401 1122 1077 17350 1095 2867 1068 1100 1045 1064 1124 122406 1054 1043 +4b4a3b515671697d343a6f3d6d74765231423a472b545d54470a7e622c693e313e6f2d2631366a606d2b365d73577e7830276553324a4b736b7b2234214f5c792740403e6643347e2b5d0a30723f21 1075 1074 1059 1081 1086 24026 1125 1052 1058 1111 1061 6578 1118 1082 1049 1066 1058 1071 1043 1084 1093 118593 1010 1126 1098 29668 1062 1049 1062 1111 1045 1038 1049 1054 1106 1096 1109 1043 1054 1093 1115 1087 1126 1120 1048 11424 1083 1050 92274 2728 19227 1052 1033 1079 1092 1121 1039 93023 1062 1102 1067 1052 1126 1043 2820 1048 1114 74206 +2b7a4b2741 105892 1075 6494 +682e55253d4b587165795b4d41354c616632333f25622576236e553144495a0a5422 1104 25251 20096 1075 1088 1113 3566 1091 8900 1053 3453 1102 1050 1051 1063 1037 1098 1037 1118 1035 1110 1085 1049 1068 15152 1010 1084 1034 +2b6c5042406659574a51790a2a7c45222f226520 115052 76628 1064 1102 1089 1087 1074 1081 1121 1010 1042 1124 1069 10681 1034 1101 1032 +414a75783544666b445959325d7c6473294b264e3c6622414d20576f29232553 1065 1074 2428 1053 1068 129777 1068 28131 1050 100741 15988 1041 1075 1038 1078 1060 1102 1034 6758 18739 102110 1037 1083 +403655435b5f666d543e3779 1064 1054 24859 61377 110302 1084 1062 1055 1121 +4c7e6d61694028337a09412027233d5a2c387574613b366a305d5e4f3d776b222952365b792a2023 1076 1126 31948 1064 1040 1051 1122 88974 17244 1061 1090 1044 1056 7734 1059 1054 1106 1048 102121 1079 1061 1119 1107 4428 1082 1054 56010 1042 2569 +6775474c3a4c40332f613c0969384c2b37243f55395b693c4e417c313754347d7325395569477d22412f72403b4b3c6b773d61275f3d 3394 17899 1058 1076 1064 1051 22139 1060 36533 1056 1076 1043 1055 1036 1063 1085 1057 3755 1060 3251 1124 1049 1055 1084 1052 77633 1037 1057 47430 1071 27024 1065 24020 1064 1059 1075 1060 24928 54265 119421 1061 +3627394a78617d33544d33675e656646323c6c6657385c416f49637738286769634773347542457d43213e6368352051747d6a683e5c67687b445a486209486d27746b562b 1054 1039 1057 1074 28674 1125 1051 40139 1051 1103 1094 2263 1070 1050 1060 29492 1087 1056 1092 72531 1073 1099 1119 1056 15244 1290 40232 1052 1117 34817 52520 1033 1062 1331 1053 28606 1125 1106 1104 25867 1834 39058 1090 111757 1009 1072 1109 2405 1107 1086 1043 +5d2c3c7a3a23295b42272e4d3b46757854696d4b31322e473b746f565970786730276422493e602d3d 3605 1060 1122 40048 20760 1066 9528 1077 1059 1070 2428 33111 1075 1049 1050 8130 1059 1611 1086 1089 3654 1103 1048 6813 14834 27051 1045 1061 +457c6368656344506f5d7e3c5e6c4b4737686e324448492f5c3d247e6f722170565549556769304c55 1069 1124 1837 1099 1068 10488 1093 1126 1060 1094 1108 99414 1055 7014 1050 47909 1073 24547 13907 1126 1270 1033 1112 1086 8442 1085 6216 1048 73275 +6172205143416a32533a3e6a75777b5b443f6c4b260a57685d5442372f227a370a6e347a 1277 2466 9467 1106 1050 1083 1058 1062 5517 1119 72036 1068 116105 1075 1038 1010 3237 1093 64833 1055 17294 1122 1055 1010 1110 1052 1122 +284f522a5e285b64327c7d3d6e4f583256457156575826274b262540794169574178796752573c696e283f5b66 1040 3749 1042 1094 9038 1100 1050 1124 7055 1110 60261 1050 16578 1113 1086 1087 1088 1038 1039 1075 1038 1037 1064 1121 70466 32111 8731 1103 1082 1087 1060 1259 102810 1091 1102 +7476543731524d4c50327e763523723e377230215d544f706426735e54504041702a4c5529676d5e347b3f7b294463 44117 1084 1055 1049 1082 6243 1080 1050 1126 1118 1053 1035 1114 1062 1055 1114 1048 1033 1093 9197 45110 1038 1115 1094 8426 1064 8952 1042 73275 125055 1109 1094 1052 1123 1063 54690 1068 1099 +3869456a41417d5c7a5456614d254a2362525b685376306b3d40333f25733e36383a407d4f6256636b37202661463b68236e576d3071392d224d2d 1056 1105 126699 14229 2380 1122 11488 1097 1077 1037 1074 1035 1098 1082 1091 1104 86592 1048 1107 1061 1064 1051 1063 1037 1115 1062 1054 1056 24609 1125 8944 1086 1800 1055 1748 1097 1070 1059 1104 1035 1110 1087 1109 1048 1113 1057 76880 1077 1045 +613a652d42765c7737773579620a662e382058493c7c36522929213c7b6d762d233c2b3c6635203949324366653d7e505720 1097 92655 5630 1118 1092 1119 1055 1119 1053 27362 1010 1102 1046 1056 27146 1060 1124 1054 1082 2798 1033 1060 1123 111053 1045 1035 1060 1043 1060 1102 1053 1032 1057 1073 1050 1067 3070 1061 1126 109996 1032 +282f633a5d7a22517925744c3a3a5e78335b6e5e475842692956597423303a 47264 1099 90370 1122 1034 1081 1121 1037 1116 1076 2164 1094 1120 1051 25501 1094 1071 1088 39903 1041 1086 1089 1116 1035 1048 1058 +6e483254555a5430404861413655426c4f625731412f32463c5d3d5e7d40314f6f63417b4d6a424d6b4175452d5e337b504c75453c2c09617c71207d5b6961 1110 1072 1050 1084 1085 1090 1084 1048 1064 36161 1065 1054 1085 5855 8944 1087 1049 1065 1047 1050 1070 1060 18652 1094 1125 1064 1049 1079 1453 1065 41573 1106 20195 1107 19452 1069 1045 1094 1051 1123 24520 1117 1069 1060 1044 44056 1124 1113 1495 1091 1485 +342b497a2e21725d24524e7278505a264c53353931775c364148313c3320685220525d675009557d 1052 1043 88814 1046 1033 1114 53148 109334 52915 1080 1090 1038 18369 1053 1057 1049 1119 1092 1054 91939 1049 1060 1051 1310 1082 1434 1093 1103 1080 1009 1085 1125 +696c603a4b3c4c5b33523c7d366f5323357d3021655921537b6154632f380a293243242a684e2e3a79283a42246f0a5a703f67484f52673524 1318 49431 1075 1060 1076 1091 1051 1082 1060 1125 1054 1111 1083 1035 1053 1125 1048 1033 1101 1089 1033 1083 26827 102514 1047 1056 1010 1041 1050 1067 1036 1042 1104 1078 14223 1121 17350 1066 1036 1111 1010 1090 1112 1063 1103 1072 3749 1103 1053 1036 +2e2f635c3c282930473949297e3a23434c75467a 5384 1099 1092 1060 1690 1048 1071 1057 1073 56202 40048 8534 1117 1070 1122 +7e46464953792d2a507469587941292841577520254d296b606d2a4e426467536c354c4e09574a432327563b286e5d505956703a735b38292f583b53493a74 1126 7762 6673 1121 35450 1080 4464 1088 1121 1065 9731 1065 119515 2545 1077 1041 1107 1096 1109 1042 46713 1100 1103 12863 1053 1076 1078 1009 1087 1074 1067 1035 1039 1086 1059 1040 1110 1093 45242 1086 1112 43235 1091 1056 12982 1088 1059 27239 1058 1116 +6a746c4766257d433c0a543d5827537e6e5e 26082 1108 1071 1102 1037 1125 1067 100335 1084 1061 1088 44161 1126 1110 1094 +265f3d38647a2130633040322f3f27466e6b52313a4e3c420937775d7d405f2f4b2c2138556d2b61525336743a4a67693578093c4d7b2e74752f6a23450a242675 1038 1095 1061 1056 17602 1033 1048 1099 1048 1064 1050 10361 1039 46047 1107 1082 1049 94507 1060 1066 1009 1055 1119 16474 1064 121099 1075 1044 1033 1056 35877 63389 19693 1054 1116 1058 1074 6216 1053 1120 1009 1060 1077 1123 1046 17391 5298 1035 1069 1010 1036 1038 1117 +65702c547c513253446f3060202b285f2e6c2d282a2f374d64523a39703e40272b4d6e2956665f784e3e7852394357525d263a6256522235413631 2003 61868 1124 1081 1050 1083 9476 1048 1096 1867 121227 1108 14283 10212 1055 104644 1082 1058 1057 1112 1062 1064 29157 65984 1041 1086 1102 12454 1078 1062 1120 1082 1057 1067 44407 1093 1038 1058 1098 56994 1034 1053 1065 1054 1049 +7e2d4f3332397975396779660961756e752c42247e6f247032793b637557757031512e432336686f6f7a3b6e6e272a6b5b6b627847365f3b734e3e4c2d222943504a713d7b09765140 48724 1079 1051 1050 1057 105451 1057 2891 1102 44056 21583 41778 1036 1126 1111 1036 1112 1050 1121 1059 7296 1087 1982 1049 1081 4358 1035 1054 2621 5665 1059 39681 23545 1107 24321 82061 1071 1054 49109 1115 1078 1062 1076 1045 4428 13943 1074 1113 3181 29285 1081 1064 +4571605b593857682f7828634b6d67326574424e6a4079632d35 49695 1096 1091 1089 1056 3237 27432 5164 1075 21495 1050 1304 90805 1106 1064 26163 1045 1053 +334038414a25236a2a5420325129633e656f2f5c38347a25350a61474666447c4f2b0a4a7c655955254146794f635b2a6e 1051 1064 1056 1065 1074 1037 1035 1106 1042 1084 1032 1050 1081 1041 1099 1062 58633 24547 1056 1052 1122 1037 1053 1010 1097 10624 1102 1068 1124 1079 44065 1074 1124 1101 1089 1085 77685 1121 1079 1099 94610 1110 +6c43545c2b6e3a 1108 4061 36501 1110 1058 +495d7a78343536432f6c0a3f782570525f786a26482a7c334d41726e24467b414e47676e7321094826726b6f7a5b0a46437135 1073 1093 1122 1120 1052 1053 1054 1067 23857 1010 1063 1120 1037 1112 1082 12454 1106 1038 1072 1042 1124 1051 1077 91133 1036 1070 1123 38866 5891 1115 1033 1009 1072 1038 1114 103404 33966 10858 1113 1053 +095b096e5532217761307d2d29712f26715e58562b3b217a2a41 1009 1091 51893 1085 1050 1033 4761 1048 9299 1041 1113 1047 1038 1113 1094 1088 1086 1043 1059 1033 1122 64586 +435b097b67302824376621507a4f756450206a27295a4e2d3a77434063386f5e2a41354c2f4d4c6126295349406c 1067 1091 1009 52444 1048 3186 1055 1102 1033 1080 1122 1079 1501 1080 1475 4576 1090 1078 1045 1058 1119 1067 1064 1099 1056 1111 97307 1065 1053 1076 17124 3453 1038 1041 27239 1064 1108 +5c64 115373 +67746b68474e3d6a696b432f29655d4f51282837643a23283d203d5a4c296445545350763179596764492821424d745c622b5a47466366297760355c 6834 33453 123165 1061 1106 1552 1067 44280 1101 1093 1079 1081 4564 1055 1100 40048 1040 1061 1376 1090 1076 117175 4321 8504 1118 1049 1121 1089 86164 1073 14069 20195 1116 1092 1098 1043 1090 10624 23074 1041 1119 1096 1053 1092 +43293d514d3c590a5e6a2e3843494865552d4d22 1067 8429 1081 1077 1060 1089 1010 1094 1106 1046 1056 15466 3452 1085 5036 1034 +445e4e513b4c4a57206f5e6a317a3c772423414a563c3b347d345e5b3041213452 1068 1094 1078 1081 1059 1076 1074 1087 1281 1094 1106 1049 1122 1060 1119 1036 1035 1065 1074 1086 1060 1059 1052 1125 1052 81287 1048 1065 1033 1052 1082 +7e4229394e2f7c6e63656a235e 1126 1066 1041 1057 1078 1047 1124 1110 39343 1035 1094 +3f323c500a6d6c394c2b0937684e213c3f38565b38714021437b67352245 1063 1050 1060 1080 1010 3027 1057 1076 1043 1009 1055 1104 1078 1033 6780 1056 1086 1091 1056 1113 1064 1033 1067 52444 1053 1034 1069 +2f4423654b6f58523153732f5836713175446556373e366f2451485c713d264d 18392 1035 1101 77767 1088 1082 1049 1083 1115 77533 1054 1113 1049 1117 3761 1086 1055 1062 1054 1111 1036 1081 1072 1092 1113 74113 1077 +7a3b4c4845 1122 1059 1076 7626 +366f3a206050784e0a6e61 1054 1111 1058 2000 120346 1078 1010 2302 +43553a775651444e797b2e682357474c58496b5d68615f71442761 97829 77794 1086 1081 57310 1121 1123 1046 1104 1035 1087 17899 107321 1107 1093 3230 44749 1068 8490 +2b712f5b4b3e77755f20653c095c4e3f45232a245470414374744a2c394e354c795241723739752e4333584a42533c4e3723715e335735303d42296747222c60673e392d6730 1043 1113 95540 1075 1062 123679 1095 1324 1060 1009 1092 1078 1063 1069 1035 1042 1036 1084 1112 5193 2132 1074 1044 1057 1078 1053 83664 1082 2995 1055 1057 1117 4358 1051 1088 1074 7814 124549 1055 1035 1113 1094 1051 1087 1053 1048 1061 1066 125055 1071 1897 1096 1103 1062 1057 5243 1048 +5c7764625c47776965495163264d596e57307e517c412546762834584f353a7e73226d7e4b355b6f724d3a463c0a5223302d51695509626f737240474a7145755352240a437c452f662e407921205677 1092 1119 7959 1092 1071 20373 1073 1081 1099 1038 61997 1110 1087 1048 1126 1081 1124 1065 1037 130533 1040 1052 1088 1079 1053 130417 1115 1034 1109 1126 1075 1053 1091 1270 1077 1058 1070 100335 1082 1035 1048 40713 1105 1085 40796 1346 1114 1064 1071 1074 1113 50324 21967 38471 1067 1124 1069 14751 1046 1064 1121 1033 1581 1119 +3809413521585e4d44702c3d37315b3d494f6c6d747d43093a786836783b6039716445787a5c655253394e512251506b4d7b5a 1056 88974 1053 1033 1088 1094 14534 1112 1044 1061 1055 1049 1091 1061 11364 1108 6578 52520 1009 80560 1104 1054 1120 64047 1057 125482 2763 1122 1092 1101 19693 1057 1078 1081 1034 1081 122605 1077 40999 +25205b7b4f2f53336d60 1037 42800 1079 14327 1051 1109 1096 +2463743a225545646b276e3e4e32584c 1036 1316 10762 1085 6208 1107 14362 1062 1078 1050 113479 +396845495e513050686b6a664f227260674d2f485c3d433c2c503f42417229355726746b48602b2b5750 1057 1104 1069 1073 1094 1081 1048 6996 89773 1102 1079 1034 1114 1096 1103 1077 35840 1092 1061 1067 1060 1044 1080 1063 1066 2995 1041 1053 1087 1038 26716 1072 1096 1670 64557 +4c7b33517d795d637d32734f6a71443b71394e5f66342a3421733c0a586b282845367b313f50274366634a 1076 1123 1051 1081 63679 1093 1099 1125 1050 1115 1079 118757 1068 1059 1113 1057 1078 3557 1052 1042 1052 1033 1115 100335 1088 1107 4564 1069 1054 1123 1049 1063 1080 1039 1067 35091 1074 +5a257343447d5b315c0a777340677e456d2f61455f6f693c667946744252303b306b562f6c4f7d58702e50676a674c4d2665766e56544b76363e327c793c7e466c703175092f2c3621253b77612a6d 1090 54315 8584 26013 1049 28335 11954 1064 1103 1126 5969 22139 1069 1095 5317 1060 81120 1070 1116 35846 1048 1059 1048 1107 1086 23857 1079 81525 1112 6565 67890 1103 45623 1038 9568 1110 96527 1075 1118 1054 1062 1050 1124 1121 1060 1126 20961 1112 1049 1117 1009 38154 1054 1033 24169 4761 112191 +397441 1057 1116 1065 +2d676b0a2c4771485132707e5925613d4b3f254d31284f09264e6763092b71703e65414744705d2c432a79 5243 1107 1010 121613 1113 1072 1081 1050 1112 1126 1089 1037 1097 1061 1075 1063 1037 1077 1049 60850 1009 1038 36149 1099 1009 1043 123033 1062 1101 6970 1068 1112 3605 1067 110448 +4c334c372b395b602d31424123612642557e764e4265273330215242714c6c71685167713c693b6f6f2b67707357294e64346e79283d282e27624476622d34484c 1076 1051 1076 1055 1043 1057 1091 73839 1049 10574 1035 1097 38019 1085 1126 1118 1078 5934 1039 1051 1048 1033 84165 1113 1076 1108 1113 1104 1081 1103 1113 71099 1059 12078 1043 1103 1822 1087 1041 1078 1100 1052 3491 1040 14592 13287 1098 1068 1118 1098 1045 1052 46862 +28782e5c594f6e76703f7338746228654d427048483520434923282733364d34435c21316e31597a707e555d3c3c22463e7e630a2369632a30547a2a4151336e662b20334e4958284a585f745d 4790 11556 1089 3680 96871 1063 1115 1056 88133 6680 21291 1112 79438 1053 12877 1035 2021 1051 1054 1077 1052 1067 21400 1049 1110 1049 1089 1122 1112 1126 1085 1093 29841 1070 1062 1126 1099 1010 1035 1290 1042 1048 1084 1122 64586 1081 1051 107295 1043 1032 1051 1078 10445 43504 1088 2480 1093 +636977664f28553b37337a5a6854230a58 2253 1119 1102 1079 50750 1059 1055 1051 1122 1090 1104 1084 28656 1088 +225c5a22475c2f6f7b774b767b3e3f5f60215a47723c2d6b4e334d7c335b6109413b4b7a627c28232e4e6d307e7c553d57552b283d57414f62686e 57051 1090 1034 1071 34309 1111 63637 1075 1118 1123 1062 109585 1096 1033 1090 20560 84430 1107 1078 1051 1077 1124 1051 44697 88974 1059 1075 20027 1124 96958 1046 90104 1048 1126 1124 1085 1061 1087 1085 41939 1061 32111 8944 7014 +0a5e7b3c316f31525d435251265356734f526b47523d7b4a7b4b74305f5943286e4449355d714b724a67624555513e5d6f25357b684a74204244516c6e4820374e3160555f21786c70715a496b212f26 1010 1952 1060 1049 1111 1049 1082 1093 12540 1081 1038 24592 1115 3749 1107 32874 3181 1074 55681 1116 1048 41706 1067 4990 29951 1053 1093 1113 79441 1074 45702 78963 1081 1062 1093 1111 1037 1053 69464 1074 1116 39728 1081 4876 1072 1032 1055 1078 1049 1096 1085 1095 1033 35871 1112 1113 1090 120823 1033 1047 1038 +2c7626383146564a497c517748426d4c585a52373d6d406927467636795f557c496572615e56 42129 1038 1056 1049 1070 1086 1074 1073 1124 1081 1119 68291 1109 1076 1088 1090 1082 1055 83278 1064 1105 1039 130533 1054 1121 24097 1124 1073 2901 1094 1086 +4b3e7c224e5e5d51773e625f4c756434347033405e7d386b6537232a33434a712f39356c7d545e31214e0938354f224e6b6f6e6a4625323469 1075 1062 1124 1034 1078 1094 1093 1081 1119 1062 1098 11876 1501 1052 1052 1112 1051 1064 1094 1125 1056 1965 1055 1035 1042 1051 1067 1074 1113 1047 1057 1053 1108 78522 1094 1049 1033 1078 1009 1056 1053 1079 1034 1078 13024 1106 1070 1037 1050 1052 1105 +377d632177733e3027245176255175463959766d5575366d2a745165256f4d4e4a775f404159382a2763495d5a226f4d56213f574b4c6b355e434c386345636f635132734d666e6d4e374e7e 1055 70206 1033 11954 1062 1048 79435 1081 1118 1037 6605 1070 1057 1089 31274 1085 1117 1054 1109 85274 1081 1101 1037 1111 113464 1074 1119 1095 1064 25698 1056 31780 1099 1073 1093 1090 1034 1111 54258 8937 79469 1076 1107 1053 1094 8534 1056 1099 108976 1453 1081 1050 1115 1077 28117 1109 1078 1055 1078 1126 +3247554831315f2c4e2d393345265d774036 1050 1071 1085 1072 1049 1049 5880 1078 1045 1057 1051 1069 1038 1093 1119 1064 1054 +726d227871474b4a6e4f6f617a692d254f3b6649283c2032707647242679445c4f78656761 3650 1034 1120 1113 1071 1075 1074 1110 1079 1111 15589 35884 1079 1059 1102 1073 71082 1032 1050 1112 1118 1071 1036 1038 1121 1068 1092 58596 13987 +6d2b2467096c4e7a0a542a5d327545260a25275f7636587a673b 1109 1043 1036 1103 41983 1078 1122 1010 1084 75650 1050 1117 1069 1038 1010 94710 1095 1118 1054 1088 44445 1059 +5b32222a097430292e2e246a772d764f5b752930557d29323e314c415a305f310a26432b366b6224242f383b65505250397b2a2d4b2d3b6a68695e4c78496046406c6d2d79654d33476b2e2865637e71 1091 1050 24878 14133 1048 1577 10775 1106 1119 9332 1079 81696 1041 1048 1085 4672 1050 1062 1049 10265 1090 1048 1095 1049 1010 1038 1067 1043 1054 82524 19587 1047 1056 1059 1101 17554 1080 1057 1123 13975 1075 1045 1059 1106 8101 1094 1076 1120 1073 1096 1070 1064 56383 101398 1077 1051 1071 1107 26667 2025 1126 1113 +6b3271262f6028536a414438226c2c432e377536285646726f4e200a402a 1107 1050 1113 1038 76901 1040 1083 1106 5516 1056 1034 1108 55434 1046 1055 1117 1054 1040 28198 1291 1078 1032 1010 1064 1042 +5a4233362f717c58 1090 1066 1051 1054 53643 1124 1088 +27610a463a5f 8490 1010 1070 36777 +64716c3b6e435e26765856416a307a2a732a443829304d54757e2b4a4d5e59564546267a303e5d725a4b7c4176664f 1100 4765 121982 1067 1094 1038 1118 1088 15725 1106 1048 1122 89117 1042 1068 1056 1041 1048 15901 1117 1126 1043 1074 1077 1094 1089 16578 1070 1038 1122 1048 1062 1093 1114 1090 1075 1124 17039 1102 1079 +402824654c7920727d6626762741563632443b717823393b29732a635c665a71687a2322574239615a3b2170 1064 3186 1101 83664 1382 45553 1038 1118 6494 1086 1054 1050 1068 1059 1113 1120 1035 1057 123872 1115 1042 1099 1092 1102 1090 1113 1104 1122 1035 1034 126602 1057 1097 1090 1059 1033 1112 +37674f396720725e7225295436503e686b7a2f407e3d616b3049416f524551392759 1055 1103 1079 1057 1103 1382 1094 1114 6879 1084 1054 1080 1062 103245 1122 59962 1126 1061 1489 1048 20501 1111 3609 1081 1057 1039 1089 +7944596a202063347a617a444e282c766c207c5c59597764686a6d095c6d6a4159504a687c287b0a5f23382c216023507d6d3e52486349683e655a536138225378467e782e5c29 1121 1068 1089 1106 1032 1272 1052 1122 1955 57310 1040 1044 32064 96241 28131 18213 1104 61139 1009 1092 1109 1106 25698 1080 1074 1104 1124 6637 1095 1035 1056 1044 1033 1096 1035 1080 100729 1062 82104 1099 1073 1104 1062 1101 1090 34610 1056 1034 1083 1120 1070 1126 1120 1046 1918 +4a243436724249785e703e43726b493538533c62737a 1074 1036 1052 1054 1114 17782 1120 1094 1112 1062 25238 1107 1073 1053 1056 1083 1060 5136 1122 +5e46666347782d653448545f6e5d3c5749505a5257544f793b4d3e26202b7a67664a54755b605f384d58466474 1094 1070 35091 1071 1120 7058 1052 8395 4883 110501 1087 9918 1090 1082 1087 9197 1121 1059 1077 21751 1867 44445 1102 1074 31155 1091 1096 1095 1056 115032 1070 15651 +49775a4d294048632b536e225524522c2650265c432b600a4547632e764f262c60415b48534659532157505140335a4c447d3a5e6e4a6b5236733a20216b4742757049503f6352 1073 1119 1090 1077 1041 1064 1072 1099 1043 40311 1034 1085 1036 1082 52977 1080 37134 1067 1043 10632 17238 1099 10246 1079 1038 1044 1096 1065 1091 1072 28036 61300 1033 64557 1081 1064 1051 1090 20008 28748 1094 1110 1074 1107 1082 1054 1115 1058 2662 1107 12737 1982 9918 1063 1099 1082 +617455396e5c4658404448676128533a2224494f640a28612d5845362440394c7158644244323e696c234e6a522671326f6f426e77797a3a566b3b463e234a2a7a 1269 1085 1057 1110 1092 75215 1064 47909 3577 13977 10762 1036 11364 1100 1010 8897 24860 1069 1054 1036 1064 1057 1076 1113 1088 1100 18704 1050 1062 1318 1035 1078 1106 1082 130208 1050 12078 1066 1110 1119 7354 1058 1086 1107 1059 1070 1062 1035 1074 1042 1122 +794a6b42295e5e39456a2f53612f4e3e7741633a3c5e376026297b3b5329435a60725c552e2e75096a41095538605c3147777e613c2048666a5c3c3d6553273933 1121 1074 1107 1066 26397 1094 1057 126699 14327 1097 37921 1062 1119 17502 99441 1094 1055 1096 1038 24342 1059 1083 1041 1067 1090 1096 1114 1092 1085 1791 1117 56663 1065 1009 1085 1056 1096 1092 1049 1071 1119 1126 1097 1060 1443 1102 1106 1092 28944 1101 1083 1039 1057 1051 +7b20707a3e67565848533b5c52725174703d546c49535a6e4f5f73580a4b47547522686f79386c4f43473476325d413f2c3f3678205e713839273d552429230a5e65417669264f570959 1123 1274 1122 1062 1103 1086 1088 30316 27076 1082 1114 1081 54049 1061 126347 6673 68905 1079 3134 1088 1010 99414 31155 1034 1104 2340 1056 1108 11815 1071 1052 1118 1050 1093 1065 39191 1063 1054 1120 12032 1113 1056 1057 1039 1061 1085 67036 28656 1094 1101 1065 2719 1038 12381 1009 1089 +3b5a652f4f7375487b5e755f76376d5c7e53295b433a7b295a50725f2c28343b6e59574c5134223e7b4f58366e7109393477427e77266f5d265d53712d2c785f7d273443432730387b78665b3b494c0a 1059 60575 33338 6453 1072 1123 1094 1117 11221 1055 1109 1092 1126 1083 20760 1067 43529 1041 1090 5240 5880 1040 1052 121982 1089 130049 1081 1052 44186 60261 1054 1110 1113 1009 1057 1052 1119 1066 1126 1119 1038 1111 1093 1038 1093 1083 1113 18532 1120 1095 40751 1052 7619 1039 1048 1056 17222 1102 1091 1059 9387 1010 +63204a32662a47396621387c39 1099 1507 1050 1102 1042 1071 1057 1102 1033 1056 1124 1057 +3b523c243832214a5b656a6c4479424a7d7d4f3c3a77215a44462e6c635562784e5a3868734025555c704e7358405e313e2038502b227646534f5b762d306057515060213073346b3c254d 1059 1082 62556 1056 1050 1033 1074 1091 9472 1108 1068 1121 119492 2821 1079 1060 1058 1119 1033 1090 28562 2656 1099 1085 82061 88653 1056 22145 1064 1037 1085 1092 1112 47794 1088 1064 1094 1049 1062 1032 1056 1080 21658 1118 1070 19124 66105 1045 1048 1096 1087 1081 1080 1096 1033 1048 1115 1052 1107 61998 1077 +7a64252c34434e623e624c2961685c452e5155536b2e5f4a637268693f516a2f3d4973535d5f7d465c613321523260592458 11869 8630 1052 47271 1098 1062 1098 1076 1041 1816 1092 1069 33169 5507 1107 4443 1074 15196 8101 1063 1081 1106 1047 1061 5356 1083 1093 99743 1070 1092 1097 1051 1033 1082 1050 1096 1089 1036 1088 +236f3b613448236f546a20513b59576d3a5b6177307d5a5365687e29755477364c29393c2a4f4d3c6d557709655e3633495679615646293b6f41584e 1035 1111 1059 1097 1052 1072 1035 1111 1084 1106 2466 1059 1089 1087 1109 29077 3026 1048 1125 1090 3201 1104 33141 1117 35132 1054 1076 1041 1057 1060 1042 11135 1060 1109 1085 1119 32635 1094 1054 1051 6217 4263 28198 3455 1111 13339 1078 +643129562936775f304c79273e49537b284f575c5c5e 1100 1049 1041 1086 1041 1054 1119 1095 1048 83664 19686 6673 22485 12381 8093 1094 +312b6f5741652541203e7e520a44276046207c2a7e39466f72743d494f716622242d260a57765737664737565d4e5829332c693138604d4663314c28352d2f395824513d532871534e2d36 1049 1043 1111 32111 1101 16310 3006 1126 1082 1010 1068 69066 1070 1312 1042 1126 1057 49839 1061 11364 1113 1102 1034 37583 1038 1010 1087 1118 1087 1055 1102 1071 1055 1086 1093 1078 1088 1041 1051 29668 1049 1056 1096 96790 1099 1049 1076 1040 1053 63586 1057 1088 1036 1081 1061 1083 36476 54061 1045 1054 +2c414e6b3672476f76552e26395f663f5c7823 1044 5010 1107 1054 1114 1071 1539 1085 1046 1038 1057 3557 1063 1092 1120 1035 +7b7a49625d2f53613e7b4f516d7d796c215766582a2d4b4671276d53274125793c7c602c307d75337c7b634a476b61354c4a55663165 54226 1073 1098 28530 34610 17965 1079 1081 1109 1125 2776 1033 1087 1102 1088 13975 1075 1070 1113 4525 1083 6494 1037 1121 1060 1124 7273 1048 66241 1051 1124 1123 1099 1074 1071 3002 1053 1076 1074 1085 1102 1049 1101 +667a2861736c7a2e7d59305e4f6e6d7d454f6b5d77773a4526203b29286c33222e442e2a51492e57346e22613c7c306b534c217e686756786d46542c657c513f452d434f6c237c6b686d5009585d255a 1102 1122 106667 1108 1122 91145 1089 1048 1094 3680 1109 107740 22496 1093 3837 1058 1069 1038 4295 9731 1108 1051 3871 1068 5993 1081 1073 6235 1052 1110 1034 1097 1060 1124 1048 1107 27893 1033 1126 1104 1103 1086 1120 1109 17310 67672 1124 1081 1063 1069 5849 43574 1035 1124 1107 11950 1080 1009 1088 1093 1037 1090 +52545d6671356c2152723052653430297754373745545f5b62232d43216a466c2877313445234d2940296e61097b686374257d60672639727933737b66417627 19891 1093 1102 1113 1053 1108 1033 1082 1114 1048 2596 1052 1048 1041 1119 1084 1055 1055 4321 37953 1098 1035 1045 1067 1033 1106 20961 15333 1049 1052 1069 1035 1077 1041 1064 1041 2302 1009 69464 1316 1037 14483 1103 1038 1057 1938 1051 1115 41548 17039 1039 +416974 1065 1276 +617a5a7b7e263f3e2b3d39255b622a372c5a496334263d77207a6a79376450587024597858293d217e324e77303f493c3b70317e3d6c537b6221394c3d5822347b0954390a 1955 1090 1123 1126 1038 59827 33159 1057 1037 1091 1098 1042 1055 1044 1090 1073 1099 1052 108401 1119 1554 1106 1121 1055 1100 1080 1088 1112 1036 1089 1120 1088 8429 1033 1126 1050 1078 1119 1048 1063 1073 1060 1059 1112 1049 1126 1061 1108 1083 21623 1033 1057 1076 1061 1088 1034 1052 1123 83080 1057 1010 +46645544464e4733334a4b71644572290941273f3e090968293e3f3866635e2b5b6d24442d6a21457432223e3c2b4d737b3c4248292d364c4a732447433f2a3141 1070 1100 23855 1070 16705 1051 1051 92274 125482 3859 1041 88974 1039 59827 1009 73240 49442 1063 1056 35091 1094 1043 1091 1109 1036 1068 17895 1033 24030 1050 8970 1043 35201 1123 1060 1066 1072 8537 1054 1076 51790 1036 16497 41376 1049 1065 +23662e724a2f5543484360633b28266a094921426454573134275632262b484a 1035 1102 5950 1074 126395 7247 1067 1096 1099 1059 9208 1106 1009 1073 1033 1066 1100 1084 1087 1049 1052 1039 1086 1050 1038 1043 1072 1074 +4c23522d4c613d61552a7057545c0939265527747563592f466e727a4d4a375c2b48434d682c73445c54513e227a396f7b09477a5930663368576a37417d40506373340a3d36 1076 1035 1082 52294 54265 1085 111510 38315 1092 1009 1057 1038 1085 2405 2359 1089 28546 1110 15600 1077 1074 1055 36501 24093 1077 1104 34361 1068 1092 1084 1081 30486 1122 1057 1111 1123 1009 1071 1122 1089 1048 1102 1051 1104 1087 1106 1055 1065 1125 1064 1080 10359 1052 1010 1061 1054 +0a65717443207c6a66693a646121503e69556642383f6a5f7a607c4e4e6443207b7745535d67687d354f3a5766662c63783f6a452023 1010 22134 1116 1067 1312 1106 16198 1058 3190 1033 1080 1062 1105 1085 1102 1066 1056 1063 1106 45874 1096 1124 35756 1100 1067 1445 1119 5548 1093 1834 1125 1053 1079 1058 1087 1609 30134 1120 1063 1106 1069 2569 +3f0a4568433462717c66763545386d402a3d4f233a337d2d3422454669493d5739593e784b264c28486142434437616c59506909622a55353e09674a2223497a775c2747472e6c 9551 124710 1067 1052 1098 1113 1124 1102 1118 1053 1069 1056 1109 1064 114192 1079 1035 1058 1051 9299 1052 1034 1069 30893 1073 1061 1087 1057 1089 1062 1120 1075 1038 1076 1040 36161 6535 1068 1055 1279 31130 1105 40796 1042 1085 1053 1062 28706 1074 1034 1035 1073 12503 60878 67199 2656 +30573b69537d5b48483235353030 1048 1087 16430 1083 26013 79438 1050 1053 1053 1048 1048 +476e74213b27295f3126634f785a2b253b2a4d655e50236062646246557a6a4166427d5c2f78533f214a316e2509257432286154772f 1071 1684 1033 1059 4576 1095 1049 1038 1099 58596 1090 11862 1059 1042 9180 1094 1080 1035 1096 1098 7959 1070 1085 1122 1106 52895 1066 2380 1047 1120 1083 74206 1074 1049 1110 1037 1009 1037 1116 1050 8897 35132 1047 +51616149413b2d3f7c772a59283822207a4356392f5521332c4c33474b20286d7e5e67617c49582c3c7d59793c2a68572d3b3e632323500946553a513c2f 1081 17498 20501 1059 1045 1063 1124 1119 1042 1089 1040 1056 1034 1554 34456 1057 126395 1033 1051 80377 1051 1071 1075 1319 1109 127529 3577 1124 10445 1044 1060 1125 1089 1121 1060 1042 1104 1087 1045 1059 1062 1099 1358 1080 1009 1070 1085 1058 1081 1885 +682665433430093d4a4b5c6c63476c6e453a602d50447620307054676c74706e582058774f09643a26794e51242f3c4576580a2f4c496e582c3c536b2b4856412f2433237c536c615d39257e64466a3c 1104 1038 1101 1067 1052 1048 1009 1061 92274 1092 77335 1071 4876 1069 41867 1045 9315 1118 1032 1048 1112 1084 1103 3234 61662 1088 2628 1119 1079 20757 1058 1038 1121 1078 1081 1036 75263 48572 1088 1010 15288 1785 1088 1044 1060 23844 96084 15725 43914 1051 1035 1124 1083 2584 1093 1057 1037 1126 1100 1070 1106 1060 +236f22473367476e5e2a2d57413a5641743669215760700a782c6f3541773d604f7e755c615e 1035 1111 1034 1071 1051 1103 1071 1110 1094 13975 32111 1058 1086 5629 1054 1105 1033 1087 1096 1112 1010 1120 1044 1111 1053 55315 60303 1079 1126 1117 1092 1097 1094 +33316679276a09777e4436252b3762596f48425f58796c6d705a603d2b414e626f553b43226458 1051 1049 81120 1039 1106 65062 1126 1068 1054 1037 1043 1055 1098 57025 68291 31733 2776 3524 1090 1096 1061 1043 5010 2363 1085 1059 1067 1034 1100 1088 +726e72256a 62551 1114 1037 1106 +56425b76252624496b3c2431502a4c3c4f223f6f2445795a30735c6a6045434c2a60334b30675d6859594a645a6e616f22634b6663583f5b2773 103461 66105 1037 1038 1036 120823 62556 1049 1080 1042 1076 1060 1079 69235 1111 1036 1069 1121 1090 1048 1115 1092 1106 1096 1069 8534 102676 1051 1075 1048 1103 1093 1104 28131 1074 1100 1090 2302 1111 1034 1099 1075 35091 1088 1063 3024 1115 +6d6c2d6730414645616a6d3e7e423c4134563a5226533d402a29623358572f393150746142415a59716020493e7d272166315079633150776f3c45604f5923 3027 5243 1048 110896 2146 1109 1062 1126 1066 78014 1052 1086 1058 1082 1038 1083 1061 1064 4371 1098 1051 1088 1087 1047 1057 1049 1080 2083 10574 1090 1089 1113 1096 1362 1062 40751 1033 1102 1049 1080 26163 1049 1080 2054 96682 1096 1079 1089 1035 +4f78792f46576e582f275d5c46607c4d62782f4d55502e522f307e3478536b465523557a65502e257b 1079 8731 28546 1087 1110 1088 1047 2963 1092 1070 1096 1124 1077 82061 17124 15401 6047 1047 1048 1126 1052 1120 23844 1070 1085 1035 1085 2343 1080 62672 1123 +5647225d646b4a72344a4c6a3a 122406 4964 18830 1074 1114 1052 1074 1076 1106 1058 +5c722f70693a465c6871 18980 1047 3861 1058 1070 1092 1104 1113 +52256d6a727c2d775372483b383c2a4a465e3a614c42537a57095047625c7348444d4d72465074276c6e0952296b4440234c75664a62646b4e483e4f3231723c4029253b7d6f5c31 1082 1037 1109 1106 1114 1124 1045 1119 88498 1072 1059 1056 1060 1042 1074 1070 1094 1058 1097 1076 7814 1122 1087 1009 54406 1098 84891 26205 20451 1114 31994 1116 1039 4876 1009 1082 1041 1107 1068 1064 1035 1076 3676 1074 1098 18830 19644 1062 1079 1050 1049 1114 1060 1064 1041 24169 1125 1111 1092 1049 +544d2d386e3425326f336e4e35487659287122307972752c6c4479554d4c36200a5c66524a4c332627092f634b3263792b256b454b7d0a3c4363 40139 1045 1056 1110 1052 1037 1050 1111 1051 1110 1078 1053 1072 1118 1089 36476 1034 1048 1121 1649 61248 1068 1121 1085 6243 1054 1032 1010 1092 1102 1082 1074 1076 1051 1038 1039 1009 5938 1075 1050 8453 11862 1107 82787 2002 1060 1067 1099 +6b2f3b436b48406d5f5740265770356c624975540945424c547974733c0942097874504a246274485d6a5d342e3a45326045357d3a68 1107 1047 1059 1067 1107 1072 1064 1109 13618 1064 1038 1087 1112 1053 43611 1073 1117 1084 1009 1069 30631 59389 2392 1060 1009 1066 1009 1637 1080 1074 1036 9599 1072 1093 1106 1093 1052 14223 1069 1050 1096 1069 1053 28748 1104 +6e324a225f697d0953796c7869643370522f506f2475514d3b6f217252305d78257366524e7a464b34612c473a705b7b 1110 1050 1074 88587 1105 1125 1009 1083 2776 25162 1051 1112 1082 1047 10488 1036 1117 1081 1077 1059 1111 1033 1114 1082 1048 1093 1120 1037 21695 109334 1122 66480 1052 1097 121613 98091 57096 +4178 82928 +306471357c5a342e364f3d2c403d2334396c4969327b7a2b7d6b6b536b5825592a31795209664f0a724e4c2d2b25627168763f4a505a28475a2a447a51397b5077647c49737c49433d2e 1048 1100 1113 1053 1124 1090 1052 1046 1054 1079 1061 105936 1061 1035 1052 1057 1108 1073 1105 1050 54226 73583 13775 23844 1088 1037 1089 1042 1049 1121 1082 10135 1079 1010 1114 70818 1045 11862 1098 1113 51701 1063 72267 1090 29746 1090 1042 1068 1122 1081 1057 30925 18213 1124 5356 1124 6048 57736 +3e5a40703136343040306c62424e61445f247b24717857767a322b5b3b66776365285e724a4a495c307a6a6b634d423a3b406340505e3b693a504429216a3539393f2d2a5d2234222d37455f 1062 1090 1064 1112 1049 1054 1052 1048 1064 1048 43611 1066 14589 1068 1095 6707 1036 1113 1120 1087 1118 1122 1050 1043 1091 1059 72770 1368 1040 1094 1114 1074 1074 1073 1092 1048 1122 1106 28417 21291 1058 1059 1064 1099 1064 1080 1094 1059 1105 1058 9315 85188 1106 1053 1057 1057 1063 35450 59805 1052 57829 1055 1069 1095 +213f675c7d656832283039416450 8937 1103 86062 12687 1050 1040 1048 1057 5448 1080 +33 1051 +41095f6c2d6e4a5b3071264b792564607e78333f435e56236840735936596d584d68494473572d3e7750432e68555a3064456a563e75207e216d2a216d392c55383c63753b7734415e097132 1065 1009 3445 6603 1074 1091 1048 1113 1038 115795 52071 1096 1126 1120 1051 1063 1067 1094 1086 1035 1104 1064 1115 1089 1054 1089 1109 1088 1077 1104 50708 1087 1941 1119 9793 3628 1085 1090 1048 1100 126699 1086 1062 1117 7849 1033 1109 1042 1033 1109 1057 1044 1085 1056 1060 7296 1059 1119 1052 1065 1094 108865 1050 +0a68377679206a71582d6e4330094d3c4d3b706a2b34322560577972536a63482525444f6b7340 1010 1104 1055 18952 123372 1088 6603 1067 1048 1009 1077 1060 1077 1059 112124 1043 1052 1050 1037 1096 1087 6345 1083 1106 1099 1072 33615 24151 3096 1064 +0a30674b616a5c325c69573b273f662b29696f796925312b295f7e2d65 1010 1048 1103 1075 2146 1092 1050 1092 1105 1087 116739 1063 1102 48340 1655 15958 1037 1049 1043 45477 48724 1101 +4f2f26583e61203a4d56382a6847614c4b46773e4d43276d24797b4435316f612e71766d78583f3f3e7a34397a44694d72296832 1079 1047 1038 1088 1062 1097 1737 54258 1056 1042 1104 54074 1076 1075 1070 1119 1062 16126 4525 1036 1121 39058 1053 1049 19374 60920 31274 1120 1088 45509 1062 1122 1052 1057 1122 20609 27118 1041 1104 1050 +4c3b27493f5b23385926473f5257402b2a6a602f6d386971515569305e4a2b5a784e2e4d 1076 116739 1073 1063 1091 1035 1056 1089 126003 1063 1082 1087 1064 1043 1042 1106 1096 1047 1109 1056 36926 27289 1105 1048 1094 1074 1043 1090 1120 1078 4700 +682c4e2c743879337b40662625414c5f4a6a3d7b2d35607525284a6b50687677325251626a733c40552a543264555e692d5f533c5c5273366e7e5e60245b3f35713d355739274e3d60233c 1104 45730 26201 1056 1121 1051 1123 1064 1102 1038 1037 4286 80611 1106 3181 1045 1053 1096 1117 99431 1074 1107 6996 72308 1050 1082 1081 1098 6519 1060 1064 1085 1042 1084 1050 1100 1085 1094 1105 73924 1083 44129 47850 1054 1110 127529 1096 1036 1091 1063 1053 1113 1061 1053 1087 1057 1039 1078 60303 1035 1060 +42324f64203073284c4f426f7a713d2f30665d3d2023527e49515d396e6164567d4a31245f4458432d5e692f6d3c492f63594c26565a785557285f2a707e27 1066 1050 42956 1032 1048 1115 1040 49519 5665 1113 49104 1048 1102 18652 2569 1082 1126 1073 1081 1093 1057 46290 1086 1125 1074 1049 57994 52885 1067 1045 1094 1105 3766 53884 5938 1089 1076 1038 1086 1090 1120 1085 1087 11030 1042 1112 1126 1039 +5148516d5b773445796d355e7661235b78547e687e4e45756b3a7e5039296b2d5f506466506f6e3139572d534a282d2265457b497a403e 1081 1072 1081 1109 1091 1119 1052 1069 2360 1053 1094 2940 42352 1120 1084 1126 1104 1126 29156 2699 130417 1080 1057 1041 1107 73924 101420 1080 1263 1049 1057 1087 5624 1074 11398 1034 1101 1069 50642 1122 1064 1062 +61605d2c093e610a64616a777d5536093f6d5a753f3d7e377856377569376437585b6b67375f6b6f2d743e34753d2265706633565270563109296e687970773662093121725c5d 1097 1096 3605 1009 1062 1097 1010 1100 2146 1119 1125 1085 1054 1009 1063 1109 58963 1063 1061 1126 1055 1120 1086 1055 2386 1055 1100 1055 1088 1091 10096 1055 1095 3505 2848 1062 1052 1117 1622 2003 1102 1051 56994 1112 1086 1049 1009 1041 3556 2493 1119 1054 1098 1009 1049 1033 1114 20872 +3d725e 87851 1094 +6f700a3a4426465c646f406b663c295079556f4f714f432f67243b21206d5f713e242f5039740a77207d5372662576254a535246 1484 1010 1058 1068 1038 1070 1092 3846 1064 1107 1102 1060 1041 45527 1085 1111 1079 1113 11815 13126 1036 1059 1033 1283 44749 81942 1047 1080 1057 1116 1010 1119 1495 1083 31601 1037 1118 1037 1074 21967 1070 +5f304b7d4f5b633d3e384c7424487963204e2b7c38626d563d46287d274558793c586d 1095 1048 1075 26132 40902 9947 1056 1076 1116 1036 1072 26163 1464 1043 1124 1056 23704 1086 1061 1070 1040 40751 10164 1121 1060 1088 1109 +476d4b7627722d7e3630583144276b3d6c324f4e09317c 1071 1109 1075 1118 37985 1045 1126 1054 1048 1088 1049 1068 1039 1107 1061 1108 1050 2918 1009 1049 1124 +535a385946656f4b503b674f4d50206a292d716529266e5946614c444e6d3d58314a695e62434b27636a2a2e2f49744341454b696b 1083 1090 1056 1089 11204 1111 1075 1080 1059 1103 1079 7690 1475 8537 1113 1101 61176 1110 1089 50056 20008 90104 1061 1088 1049 95742 1094 1098 17131 1039 1099 1106 3583 1047 2757 9467 82787 1552 +376963207c717c5432573c513772297d28617a33423c6a4a2c6f284d37 1055 1290 1312 1113 1124 1084 1050 1087 1060 1081 1055 1114 81547 1955 1051 1066 1060 1106 1074 1044 1111 14299 1055 +267957466e3067694f514e2476715b64455d5e7d3e6c4c654477337b2d3124517d70385c6a3e577d387e28676e76385e307c 1038 1121 1087 46047 1048 6216 1079 1081 1078 1036 1118 1113 86186 1069 102121 28219 1108 3277 1068 1119 1051 39450 1049 1036 1081 74631 1056 1092 1106 1062 1087 1125 1056 59602 5891 1118 1056 1094 1048 1124 +425e314e766b6d367b634c5e757b715874445e6f587479752056225b6e635e586430 1066 1094 1049 1078 1118 12055 1054 28717 1076 1094 1117 58460 1088 1116 1068 1094 1111 1088 2760 1117 1581 1034 1091 35800 1094 1088 1100 1048 +47502a2e21276c41547e40695365460a7d245a7c6c283c692e6a5b4e6558642d2e5930 31714 3583 75629 1108 3313 1126 1064 1105 3201 1070 1010 5521 1090 53326 71082 1105 2616 1091 11993 1088 1100 38012 1089 1048 +53423e7c09776569793f722749 5038 1062 1124 1009 1808 5077 1063 1114 24853 +3444785939704949603c31695d3c272e5756296d6d737b4c43342f23794109795b7a7a49334721217c45472d395b29723e242046647d516a5d395a78376565342a43435b212a7d445e5a61 1052 1068 1120 1089 1057 1112 3022 102693 1049 1105 110501 9528 1087 1086 129711 2943 1123 13515 1052 47667 1121 1065 67002 1091 9821 1073 1051 1071 7290 1124 17238 1045 1057 1091 1041 1114 81942 1439 1100 1125 1081 1106 1093 1057 1090 1120 1055 6035 1052 1042 7619 1091 27278 1125 1068 1094 70279 +38422e21252e5e2a587b7e543b206b650946707a2e37714d406f5f3d263e40 1056 1066 1046 1033 14082 97307 1088 1123 1126 1084 1059 2371 1009 1070 1112 1122 1046 1055 1113 1077 1064 1111 1095 74113 1062 1064 +2760684051664a723c2f692e4f573b372d295f4b6a6e385460427c636d2e572c5f792d51323652495960393d6b333f3d4760797971743c557b20245436474d7c673450545c46 69066 1104 1064 1081 1102 1074 1114 1885 1105 1046 12381 1059 1055 39210 1095 1075 17186 1056 1084 1096 1066 1124 12790 6235 31758 1121 40713 1050 1054 8707 1089 1096 1057 100792 1051 1063 1061 1071 1096 11158 41705 1060 1085 1123 1659 1084 1054 28533 1124 1103 1052 11130 1092 1070 +637b72426a5332763d796b582d50482d537858236061222660746d663863440a4326377e5254333f53502f44694a 1099 34816 1066 1106 1083 1050 1118 1061 16998 1088 6193 1072 5624 1120 1088 1035 1096 1097 1034 1038 1096 57169 1102 1056 1099 1068 1010 1067 1038 1055 1126 19891 1051 1063 8504 18392 1105 1074 +7c3e716141524b2336727570602e26232d0a7c6c7458305966363e5f4d576e774127545a297d712a 1124 1062 24464 42729 1035 1054 21001 9816 16466 15611 1124 3234 1088 1048 1089 1102 1054 1062 1095 93272 1110 1119 1065 1039 1084 1090 12679 1113 1042 +7c4b5629313b3248523c226330654b2f3625312a45716f60467c597148223b5e387e79494e41430a553c45663d294d4e5c203a4c3f59315470617e71536d406c42492b 1124 1075 1086 1041 1049 1059 1050 24498 1060 1034 1099 1048 1101 1075 1047 1054 1037 1049 1042 49695 1111 1096 1070 1124 1089 1113 1072 16255 1094 1056 1126 1121 3174 5193 1010 1085 96682 1102 1061 1041 113464 1092 1737 1076 1063 1089 1049 1084 5142 1126 1113 18848 1064 1108 17782 1043 +5c20657b30623d566c365e4b7951375909624755703950284c7c5b7a2d4328697952486243383033522c3d7209726a7b2c255f47257a7e53 1092 1324 1123 1048 1098 1061 1086 1108 1054 1094 115795 1081 1055 1089 40796 1071 5528 1057 1080 27637 1124 1091 1122 5849 1040 5077 82104 1098 1067 1056 1048 1051 1082 1044 1061 1114 33406 1106 1123 38667 1095 1071 1037 1122 105503 +4b6b303a6c0a7d304447757245786d444b4765276d304b2929506e69592b6a3a763e6340392943783232 1075 1107 1048 1058 1108 1010 1125 1048 92842 1328 2763 1109 49329 14639 4525 1048 1075 2798 1080 2729 1089 78513 119282 1062 1099 1064 1057 1041 1067 1120 1050 1050 +5c5833206b724b696f35342a4b365d2f503f4547763862336e263c7644246309383a3e7b56 1092 1088 1051 13603 1075 1655 1053 1052 1042 1075 1054 28530 1080 1063 17238 1118 1056 1098 1051 1110 1038 1060 1118 1068 1036 1099 1009 1056 1058 17965 1086 +0a5d5f3d5f24364f7d4a437e667c3a29516c75344f725b3a33362b406b3c71387369324a376721510a31662e4b 1010 113650 106506 1036 1054 1079 1125 1074 1067 1126 1102 1124 101655 1081 8196 1052 4423 14316 1051 1054 1043 1064 1107 1060 1113 1056 5822 1050 1074 1055 1103 1033 1081 1010 1049 1102 20231 +3e604a222b7e246222724740733d4b35345c094d62097071776f674630657a572a7a6a0a424b3a2e282141297e5a24737e6b3c7029335f454e22626d36235f095429306866790a703a 27051 1074 24724 1126 1036 1098 1034 1114 1071 1064 1115 1061 1075 1053 1052 1092 1009 98413 16193 1113 1119 1500 1070 1048 8019 1087 1042 1122 1106 1010 1066 1075 70511 14069 1065 56202 1090 94879 1126 1107 20711 1041 1051 37070 1034 23704 1054 1035 1095 83080 1041 1048 1104 81120 1010 1112 1058 +745552796426 1116 5553 3282 1038 +49736e74547064627d5c6b4a7e49332d394f73566e292e42413f7b 5356 1684 1084 1112 7959 2380 1107 1074 1126 1073 1051 1045 1057 18570 1086 1110 1577 10574 1063 1123 +712d234c73734b7e296879422677575e7d484d2743657472 1113 1045 1035 1076 2053 1075 33141 16713 1066 1038 1119 1087 1094 1125 103147 1039 122612 1114 +2457645f366c326f26277b66563145706d273771743f33363d49 1036 1087 1100 1095 1054 1108 1050 1111 1038 70038 1102 1086 1049 1069 6411 1039 1055 41705 1063 1051 1054 1061 1073 +26685c515a5c5179545321303841363c565c5a5979735943457a4e6268323f376e3d52667b4b5b4179436c3c4a7b3a636a68724e592a6d33443766772c5d234d5b5f7b784745643f 1038 1104 1092 1081 1090 1092 1081 1121 9983 1033 1048 1056 1065 1054 126038 1092 1090 1089 1890 1089 9158 1122 90279 1104 1050 1063 1055 1110 1061 1082 1102 55681 80125 1121 2968 1060 1074 1123 1058 1099 1106 2551 77192 112191 1051 1068 1055 72770 124866 1035 1077 1091 1746 1120 1071 6208 1063 +35646f682f7d516d0a560958584749577a226209723e59493c4d3b4a2a2972582e7e692f682356384c436e3521762428 1053 1100 2523 1047 1125 1081 1109 1010 1086 1009 18860 74536 1087 1122 1034 1098 33406 1062 1089 1073 1060 1077 1059 1074 4371 1114 1088 1046 1126 1105 10383 1035 1086 1056 13515 1110 1053 1033 1118 23332 +7375533d52640939796a7b775f43317d5e7409647d5a7542283b6a59683f5f64762e394e4c3f3f39705d5f63647a285368783b2d40355c6a2a2c504f0a2a3e545224492856 6453 1083 1061 1082 1100 1009 1057 37094 63637 4598 1049 29009 1116 20757 1125 58963 1066 1040 1059 1106 1089 1104 109585 103041 1046 1057 70818 45509 1057 1112 113650 5979 1122 1040 5095 1120 1059 1045 1064 1053 1092 1106 2153 7836 1010 69048 13404 1036 1073 38822 +274123336551553e316d3c7d262b7a717d393f3d354d275421776544264b2a526b3672320a6c79692e776a49593d410a3b6b507040625f7574 6494 1035 1051 1101 27289 1062 1049 1109 1060 23283 1043 1122 1113 1125 1057 1063 1061 1053 1077 1039 1084 1033 1808 1068 1038 1075 1042 1082 1107 1054 1114 1050 1010 1405 1105 4509 1106 1073 1089 92095 1010 1059 1107 1080 1112 1064 1098 1095 1341 +7174 41705 +4c78422d287c665c775050302e2f253d2c777c7d2a224f2c 1076 1120 1066 14283 1124 1102 1092 1119 11388 1048 5384 20096 1044 1119 82516 21808 1079 1044 +7359403670774875607b56344e456635583d5d624e790a7d6c5c46534478486c52765f7d2f6b 1115 1089 1064 1054 1112 1119 68667 1096 1123 1086 1052 29156 1102 1053 1088 1061 1093 1098 93680 1010 1125 1108 1092 1070 17173 1120 1072 1108 1082 1118 1095 9657 1107 +6a2a7d27692d425a463f55406e 1106 1042 40751 1105 5630 1090 1070 1063 1085 1064 1110 +292e3d5121515c322f5844 1577 1061 1081 1033 1081 1092 1050 77533 1068 +66697e6a64345c3e532470404b6f236a733e79433a667d20707a7a36462d7360422646792377416b4575376f407e3a4e365473787647487d5b4c214d 16198 1126 64023 1052 1092 1062 1083 1036 1112 1064 77767 1035 6519 1062 1121 1067 1058 1102 1125 1274 9821 1054 1070 2553 1096 1066 1038 1070 1121 1035 1119 70745 50324 1055 1111 1064 1126 1058 1078 1054 64680 1120 1118 96633 26013 1076 1033 1077 +737863683576093e3c7d7170515633796b4979753f096a372d37244c6559 1115 1120 1331 1053 1118 1009 4812 1125 123033 1081 1086 1051 16998 1073 105451 1063 56663 1055 1045 1055 1036 3277 1089 +644a437a3d236b4574583c35706a5c574d2f3f487b2f3d7d292109333d203d2d7c7c3c77264438686d255c4f2b76 1100 1074 1067 1122 1061 1035 1107 24030 1088 1060 1053 112124 1092 52532 10361 1072 125344 1061 4672 1033 1009 1051 1061 1376 1045 30540 1060 1119 51855 1056 11950 74012 1079 120917 +336a397459777b672b3b440a786b5b30 1051 1106 1057 1116 1089 1119 52444 1043 1059 1068 1010 1120 1107 1091 1048 +76514a5433444b773b2228326c5e46777a3b4f4c632329 1118 1081 1074 1084 1051 49329 1119 36211 1040 1050 1108 1094 1070 1119 1122 1059 8568 1099 1035 1041 +414b50605c38785b460a636b5d27293a2a32684a252b506563395e24597d2b5a43302a295673314d55556a56753d6a7d55282c4424 26039 1080 1096 1092 1056 1120 1091 1070 1010 1800 105195 4244 1042 1050 1104 1074 1037 1043 1080 2025 1057 1094 1036 1089 7412 1090 1067 1048 4371 38472 1049 1077 1085 1085 1106 57338 1061 1106 1125 1085 1040 1044 1068 1036 +666e2a42735775426f205e3d4579597861570a68285d646d383d77222d2537637848382e493b7e425429312e6a6c2b222c 28117 1042 58273 119515 10565 12032 1061 1069 1121 1089 28674 1087 1010 1104 1040 1093 57488 1056 1061 1119 1034 35884 1055 87703 1072 1056 15857 1059 1126 54206 1041 1049 2616 1108 1043 1897 +327b562c2c446869345838 1050 46818 64704 1068 8101 1052 1088 1056 +4d294d7d77713e2b6560745e754c665022593275657533695b513a38227d7e522c257573612078456125604f7a09212d0a4b5e287969414841712161486d39335c2f 1077 1041 1077 115812 1113 1062 1043 1101 1096 1116 1094 1117 1076 1102 1080 1034 1089 1050 1498 1117 1051 1105 1091 1081 1058 1056 46005 1126 1082 38667 17617 2460 1069 1097 1037 1096 1079 1122 1009 1033 15611 1075 58924 15958 1065 23303 1113 1033 1097 1072 1109 1057 1051 34309 +2e29247a630a26484a6e4d2659612c596b764644744f2c57445a324f54463c4b4c567564695935434552 5203 1036 1122 1099 1010 1038 1072 1074 1110 1077 1038 53881 64214 51188 61930 1116 1079 1044 51577 1090 1050 6918 1070 90479 51489 8237 1089 1053 1067 2794 +70745577557d5f445a4046450966323e6852260a687c56236d492b7b617c2926624c357c36416856593f576d6f32406c447327577b42632b5b496a22724b493d75656a574669415834 1515 1085 1119 1085 32796 1068 1090 1064 44675 10135 1050 1062 1104 1082 1038 1010 1104 1124 1086 1035 1109 1073 1043 1123 1097 1124 61176 1098 1076 1053 1124 1054 37696 1086 1089 1063 1087 5464 1050 1064 1108 46723 1039 1087 36999 1099 1043 1091 1073 1106 1034 1114 1075 1073 1061 1498 1106 1087 30893 13339 1052 +646057 1100 1096 1087 +42692d6e2d3a476d373350413a5751653361327e2e0a285b626762444b5d42634e6f 39903 6603 1045 1058 1071 1109 1055 1051 12118 1058 1087 1081 1101 1051 1097 1050 1126 1626 9038 26094 1098 49329 1093 1066 1099 4753 +325b464d275609595f407b552a6260646a28495f4b332c3c7535305a4d 1050 1091 45746 1039 1086 1009 1089 1095 73856 1085 109827 1096 1100 1106 24324 56675 1051 1044 1060 1117 1053 1048 1090 1077 +4863482a557851513754353f2433782a20534c78792d22397731637d613875463a4535387e2859712530692c633a55472c0a51753251462b6b34647d6d5d56664f5a3d6e5f767b5e6c313f326f325778 1072 1099 1072 1042 1085 1120 1081 1081 1055 1084 1053 1063 1036 1051 1120 1042 31284 8731 76880 1057 1119 1049 1099 45518 1056 1117 1070 1058 1069 1053 1056 59602 1089 1113 1037 1048 1105 30134 1058 17869 1520 6605 1050 1081 1070 75577 1052 1100 100729 1093 1086 1102 1079 1090 41523 11221 1123 1094 1108 1049 1063 1050 1111 1050 1087 1120 +6a32505f31734f43580a5a7a6d794f612026573123592e20337135504975232d3f7e443c776a57783877414e7e3e5874757b67 1106 1050 1080 1095 1049 1115 11815 1088 1010 1090 1122 3933 1079 1097 1748 1087 1049 1035 1089 1046 1032 1051 1113 1053 5119 1117 1035 1045 1063 1126 1068 1060 1119 1106 1087 1120 1056 1119 5010 1126 1062 1088 17391 52444 +7a6f694c5337772e6b342d41325a57715c2c29576e 4536 1105 18369 1055 1119 23715 1052 5909 1050 1090 1087 1113 10380 1041 1087 1110 +44203358644775302a2139776f3a0a2347342c325b4d5e72 1068 1032 1051 1088 1100 15771 1048 1042 1033 1057 2054 1877 1035 1071 1052 1044 1050 1091 1077 1094 1114 +3a5a58644b2c652f2e4744682a37216c2f2f2255662c2a2d75434523334f486546292c4e6946 1058 1090 1088 1100 1075 67672 22735 77858 1104 1042 1055 1033 1108 1555 1034 1085 1102 1044 13975 1117 9158 1035 1051 1079 3452 1070 1574 46519 1070 +4f785a4f6a487d4d5e50606c3a50642f3a4c3c37376d353867637230776f6145597c305d7e3a61533d283b253a220a577339685b425d575f4a78322b39653c37096c5d642c5f53605e75515137 58596 1090 1079 1106 1072 114460 1094 1080 1096 1108 1058 130885 33272 1076 1060 1055 1055 1109 1053 1056 1103 15196 1048 2054 1097 1069 1089 1124 1048 1093 1126 1058 1097 1083 14592 1059 1037 124608 81187 1057 1104 1091 1066 1093 1087 80611 1120 1050 1043 1057 1101 1060 1055 41983 1093 1100 31758 1083 1096 1094 1117 1081 1081 1055 +715a317368304f683d2a3e2f0a7d243e397b3f35736e745a6f532f436256646e0a263a557c0a5466213249555c336d2b 1113 1090 1049 2958 1048 19688 1061 69048 19602 5521 1062 1057 1123 1063 1053 1115 1684 1090 1111 1083 14787 1098 1086 37001 1010 1038 1058 1085 23685 1084 1102 1033 1050 124666 1092 1051 1109 1043 +75532853316f336f273c246a4d 1117 1083 13977 1049 1111 1051 1111 1039 62556 1106 1077 +3b587430444b77702c254d282e24655a326f4475536b 1059 1088 1116 1048 49329 35479 38667 1077 1040 10775 1101 1090 1050 1111 21485 23844 +45095127344b354b3563626c2049402d4b335c 1069 1009 1081 1039 1052 1075 1053 1075 1053 1099 2970 1362 1064 1045 1075 1051 1092 +2355455d435a4b33535c5268 1035 8489 1093 1067 1090 1075 1051 1083 1092 70195 +347d78504660485023595d544748383b40395b2552316e3d2663634e44425b2773776d202c52302856545638364d2b56653164660a50423f3e2e 1052 27156 74287 1096 13719 1035 1089 1093 1084 96633 1056 1059 1064 1057 87914 1082 1049 1110 74113 1666 6999 1066 3024 9920 1109 3897 1082 1048 38822 11488 1056 1054 1077 1043 45654 1049 7785 1010 76628 1063 42552 +30597459233e4d747279745c795a5b3d3a 1048 1089 1116 1089 83059 1077 1571 3446 1092 1121 1090 1091 120271 +626e4a38307d4b4575737d3e7e6656564e7e4769624f6f6524684271435a6b495b277330650a4276396173525124335124257d367e503c2a51252e623f5f2c7945587671 48515 1074 1056 1048 1125 12623 1374 28219 1126 1102 1086 98832 1126 90257 1079 16122 1036 1104 1066 1113 1067 1090 1107 1073 3024 1115 1048 1101 1010 1066 1118 1057 1288 1082 1081 1036 1051 1081 1036 1037 1125 1054 1126 1080 1060 1042 1081 14082 1098 1063 5880 1121 10164 1118 1113 +6567225a473745246730303468584230312b632043717d3c6b6a7e6954693d666b27784e733845412344502824552a6a475d22 2055 1034 1090 1071 1055 1069 1036 1103 1048 1048 1052 1104 1088 1066 1048 1049 59795 1359 1113 65981 89773 68887 41491 55764 1107 1039 1120 47794 1056 26759 1035 16108 3186 1085 1042 1106 1071 59805 +096f707059464e2c784a3832412a092240345761735527294a6d436347785b2d4e777a544b656b253d360a6068626c216243712f64543e7661702d56703f717b3b 1009 22284 1089 88826 28075 1074 1056 1050 1065 1042 1009 1034 1064 1052 29269 1085 4576 1074 1109 1067 1099 1071 1120 28854 1078 1119 1122 105765 2166 20096 1054 1010 1096 1104 2970 1033 1098 1067 1113 6406 1084 1062 1118 1466 11422 1112 92404 1123 1059 +26512444667d7e644d203868663221553d307b776b7a2c420977216f6d3473635f747a47264e43385f7e504b746a58623b204468663e596c2d5b090a52232d37564f417c665d63 1038 1081 1036 1068 1102 1125 1126 1100 1077 1032 1056 1104 1102 1050 1033 1085 1061 1048 63637 1107 1122 41778 65062 1033 1313 1052 4821 2480 1122 1071 1038 27822 1056 1095 1126 47053 117041 1088 1098 1059 69211 1102 1062 1089 1108 18934 1009 1010 1082 1035 1045 1055 25313 1065 1124 1102 1093 1099 +514f40443f37525175747c2f742951425753327c557b5e56516162 1081 1079 1064 1068 1063 1055 1082 1081 1341 1124 1047 1116 1041 1081 1066 20266 1050 1124 1085 1123 1094 1086 1081 1401 +575f2e585e3c 1087 9220 1088 1094 1060 +7b603f754545254c41267029623837485948303332536c3b6648486c29325b36533d3a21214c2733224669387e6b4e0976764f4c23515b4e2879442f5a74446f2b61 1123 69524 1117 16748 1037 10265 1038 1112 1041 1098 1056 1055 1072 1089 1072 1048 1051 1050 12863 1059 1102 79438 1108 1041 1050 1091 1054 1083 120271 7290 1076 1039 1051 1034 30893 1056 1126 1107 1078 29285 1118 8568 1035 1081 82995 16367 1068 123573 1116 9476 63389 +245b6b6b77095e7c48 1036 1091 13775 1119 1009 1094 1124 1072 +287131716b5b 36476 1049 1113 1107 1091 +485b2f39405d3c3c7a6b226f2b576d4973217a304641226e7b375f41292941277b7d6a28595f31 1072 1091 1047 1057 1064 1093 12130 13552 1034 1111 1043 1087 1109 5356 1033 1122 1048 6507 1034 1110 1123 1055 10376 2798 1065 1039 30620 1106 62180 1095 1049 +553b5e69596475715d236b60 1085 1059 1094 1105 1089 1669 1113 1093 1035 1107 1096 +57092b 1087 1009 1043 +7c3f4f5f747a6c29235822385f5157705e22294d556375706348223f5070223a456d26377b3820446121464b5243515a707a762c2729 1124 1063 1079 2480 1122 1108 102110 1088 1034 1056 104388 1087 1112 1094 4428 1077 1085 29892 1099 1072 69235 1080 1112 2811 5969 1038 1055 1123 1056 10058 1033 66480 22805 1081 1090 1112 38974 1044 4576 +5f693036647261783a6f400a3c36224f344763432d307c514c2d473f372c46333340483d5e573c295179606e2b4437746643453127 13755 1048 1054 1100 54343 1058 1111 1064 1010 1060 1054 1034 1079 1052 125561 1067 1045 1048 1124 7972 7491 1063 1055 87526 1051 1051 1064 1072 1061 1094 1087 1060 1041 1081 1121 1096 1110 1043 1068 1055 52120 9158 1049 1039 +316962315a38762f2d335d732978773d6b6e670a493f79684c662f5e 1049 1612 1049 1090 1056 1118 19137 1051 1093 1115 87267 1119 100792 1716 1010 1073 1063 1121 1104 1076 1102 1047 1094 +6026245d634c2378263d4e3d5d332248614b4437767d373c65573f3e206f4a5165384d 1096 1038 1036 1093 1099 1076 1035 1120 108401 1078 1061 1093 1051 1034 36161 1075 1068 1055 1118 1125 1055 1060 1101 1087 59827 1281 1074 1081 1101 1056 1077 +287d64786f413679262a714e2e293067774a096620323b4d642f4746555f2e2e27242a772c587728343d523d555b27215d55602b555f555d50745b3d226928617c2a596434224426 1040 1125 19903 1111 1065 1054 1121 1038 1042 1113 1078 5203 1048 1103 1119 1074 10135 1032 1050 1059 104644 1047 10624 1085 1095 1791 79435 1042 1119 35784 1119 1040 1052 1061 1082 1061 1085 3024 1033 1093 1085 1096 1043 1085 24097 1093 57061 1091 1622 1105 8897 1124 1042 1089 1100 1052 1034 1068 1038 +33584c59465f503e376322374d6d62343a59262d4f2649635a703c2c5954612834516b0a276149226b2a2720642127434455343a6762674857305a2c7b7e414e63 1051 1088 38180 1070 5482 1062 1055 1099 1034 1055 1077 14192 1052 1058 1089 73000 1079 1038 1073 1099 1090 1112 1060 1044 1089 51386 1040 1052 1081 1107 1010 8490 1073 1034 1107 31780 1266 75629 74863 1052 1058 1103 26094 1072 1087 1048 1090 91651 1126 5010 1099 +7537543940415a526d416026683d5b683d35446d51767320475e3f5562 1117 1055 1084 1057 1064 75317 1082 1109 1065 1096 1038 1104 18359 1104 1061 1053 1068 1109 1081 33112 1461 1094 1063 92995 +4537337e375b402334665870355c69 1069 1055 1051 1126 1055 34238 1035 1052 1102 1088 1112 1053 1092 1105 +305e7c7277762553332b3c23416d304d3e31417b64456d642d54375c7950624871733e5f4b2468414a67 1048 1094 1124 88699 1118 1037 1083 1051 1043 1060 1035 8459 1048 1077 1062 1049 1065 20376 5969 1100 8588 1055 1092 1121 92110 1072 55485 1062 1095 1075 1036 1104 1065 1074 1103 +22486a5f6b57302109562f2b2b4a5e6e2f752d4e5f7b2562753f59403b45327631745b2670 1034 1072 1106 21227 1087 1048 1033 1009 1086 1047 1670 1074 48550 63333 9964 1746 1037 3991 1063 1089 1064 1059 1069 1050 1118 1049 1116 1091 1038 1112 +3454217e3f2d7b4d767b6226682b28285a30507e485d232334542d6f52587a7a7c565e61232d56530a7a5c4653745e263a576c5a20795909305e5c4a662a7722306f227e312d43775955 1052 1084 1033 1126 1063 113356 1077 1118 21623 1038 1104 1043 4564 1090 1048 1080 69187 1093 1358 1052 1084 19013 130864 9821 1124 1086 1094 1097 1035 1045 73553 1010 1122 1092 1070 1989 1094 1038 1058 1087 1108 1090 1404 1089 1009 1048 43927 1074 1102 1042 1119 1034 1048 1111 1034 1126 1049 5849 1119 1089 1085 +2a5c64762021546a50436529404c2a6633482f552169506c3a2c650a586c5a5e3d353b3d423e5540640a7d590a2b25353b2e5b2d587a655e45684c4b2c573751 127689 103041 2662 1084 1106 9793 1101 1041 1064 1076 1042 1102 1051 1072 126395 1033 1105 4444 75828 1101 1010 1088 1108 1090 1094 1061 1053 1059 1061 1066 1062 1085 1064 1100 1010 1125 1089 1010 11862 1053 1059 8925 1045 1088 2343 1094 124710 1076 1075 1044 1087 1055 1081 +576f30364c383d4161224a5a3a417d32694f5a3927625935446240763a3b5b7c2128453b41204c2e3c38466d797c0a2b3f447e5642 70007 1048 1054 1076 1056 92095 1097 1034 1074 1090 87825 1125 1050 1105 1079 1090 1057 1039 1098 1089 1053 20540 73661 1058 1059 1091 1124 31881 1069 1059 1065 1424 40933 1056 1070 3933 23685 1043 1063 1068 1126 103461 +3621554e3c23716c4d27484b5a6f3937282a325522222e6a7d5a29487048662b254a3d3e2c6d69433571587a563748537220764b74635c4a572a3a71652c585927 1054 1033 8929 1060 1035 4765 1077 19666 1075 1090 1111 1057 1055 12597 1050 1085 1034 3871 1106 1125 1090 1041 126558 1072 1102 11862 1074 9947 1044 3391 1067 1053 1113 1088 1122 1086 1055 30316 1114 1330 1075 61329 1092 1074 1087 13524 1113 1101 35784 1089 1039 +795153 1121 1081 1083 +58504943267e20504d2d4f782962612647766570572d77762f206f5d4b7949722b54412171442d68247d435768485f35394f 1088 106354 1038 1126 18445 15203 1120 1041 4402 126003 1672 1112 1087 5308 1118 1047 1281 1093 115795 47882 1043 12887 1033 1113 1068 5352 1036 1125 1067 3237 1072 1095 1053 1057 1079 +2539383f6e4e5b6d476640246f3a2368672d7e693750393b2552384c342d5063315967723d395b5f414c215f47793954 1037 1057 1056 1063 1110 1078 52468 1071 1102 1064 1036 1111 40048 1104 1103 1045 1126 1105 1055 1080 1057 1059 1037 1082 1056 1076 1052 6193 1099 1049 1089 1870 1061 1057 61377 4286 1033 1095 60408 1057 1084 +255b7c3e203178273f6d245e2b213038692d7a4728304170332d7d43362921435f476325604d3058534e614448 1037 1091 1124 1062 1032 1049 1120 1039 1063 1109 1036 1094 1043 1033 1048 1056 1105 16156 1071 1040 1048 8952 1051 1045 1125 1067 1054 85188 1067 17545 1099 1037 1096 1077 1048 1088 1083 14589 47909 +422a7c695461723450612c7d3f5e6b683d7e4958345721347b746f6229283152412749552e5022342e3d7867364d435041395060 1066 1042 1124 1105 93621 1052 14510 78036 1063 1094 33453 1061 1126 10445 1052 1087 1033 1052 1123 1611 1098 9731 1049 9295 24853 1085 6565 1034 1052 127251 1120 1103 1054 16126 12118 1057 1080 1096 +396652265f205447293e4d342d7d5e503a3b606e6c27725b472d3d38496c6a787a7d5177423f4757792c6c7e2b48372b653b40507773243a3c367b7a462530637875476f633f4a5764 1057 1102 1082 1038 1095 48935 49442 1077 1052 1045 29009 1080 1058 64047 74871 37985 1091 1071 1045 1061 1056 6319 1106 1120 1122 1125 1081 1119 1066 1063 102348 1121 61248 1126 1043 1072 1055 124714 1059 1064 1080 11954 1036 99441 1054 54226 1070 1037 1048 87703 1117 1071 1453 1063 1074 1087 1100 +6578 1948 +7a687b470a2030633c2e7d6f2a5b542f46755b456a697b355666563c75 25434 52647 1010 1032 1048 1099 90382 1125 1111 1042 1091 1084 28546 1117 1091 1069 5297 1123 1053 1086 1102 1086 115633 +7e5d747a793d393b4e3e0a0963093b58274c317a294c5c6b584d637b676e636d735d634c77675b432e2b73362568554e37463d2e54585b 1126 1093 1116 3520 1061 1057 1059 1078 1561 6622 1009 1059 1088 1039 1076 1049 1122 1041 1076 1092 1107 1088 28595 1123 5891 1099 2943 1093 1099 1076 1119 1103 1091 1067 1046 1043 1115 1054 1037 1104 8929 1055 1070 57736 100203 1091 +396a7b45226a366679482a6d597b532c5a4c2d566e2927403b2d655d6c23437d0961312841445d4a5466 1057 1106 33394 1034 1106 1054 81120 1072 112191 1089 37141 1044 1090 1076 11422 1110 42347 1064 1059 1045 1101 1093 1108 1035 1067 1125 44056 1049 1040 5516 1093 1074 1084 1102 +70645423767b2e42504e65462c46604029096f27374a7e5d3a3c5047225c4665367c51313776203f6e45 45110 1084 1035 1118 1123 1046 22133 11993 1070 87526 1096 1064 1041 97812 1039 1055 1074 1126 15558 1060 54406 57051 11204 1054 1124 1081 1049 1055 1118 3082 1110 1069 +5d2c51562a2f31525e213a693b3a4d72552b457c097b723c4a6b73506c4a3a6662376a68537b2165302621 3605 1081 1086 10212 1049 1082 1094 98977 1105 1059 1058 27118 1085 1043 1069 1124 1009 34816 1060 1074 3096 4444 1074 1058 45568 1055 1106 1104 1083 1123 1033 1101 1048 1038 1033 +49643844246b5d3a3e627952566075263b73607d5765357022365c5068762b4b763b79465b5a737a522837667656306f40705f3156373f5c506d547d6536564c7d0a724b 2406 1056 1068 1036 1107 15558 1062 3326 101080 1096 1117 1038 1059 1115 1096 1125 4268 1053 1112 1034 1054 1092 6996 1118 1043 1075 1118 1059 1121 1070 1091 1090 7825 1082 1040 1055 1102 1118 1086 1048 1111 1064 1112 1095 1049 1086 1055 1063 1092 1080 1109 1084 60529 1054 1086 1076 2002 1114 1075 +306e2b2e6c2d776e245e257a785d462f 1048 1110 116667 1108 1045 2787 1036 1094 1037 1122 1120 1093 1070 1047 +4d4e2b6136687a3637646c720a562d314a75280a684f504d744c76232126537e7d6075447d206435762b475a64222e25306a764059 113464 63389 1054 1104 1122 1054 1055 31833 1114 1010 1086 1045 1049 63831 3297 1104 14748 118295 1076 1118 33846 1038 1083 1126 14483 1117 1068 1125 1266 1053 1118 1043 1071 1090 1100 3871 1037 1048 1106 1118 1064 1089 +6f7a3c314873244a26603d7e 5665 1060 1049 95312 1036 1074 1038 1096 1061 1126 +7e2b775a7a4c5a7b0a7a64693755415933656c563a7a0a42563743096a79565d555834452c7c742e6d2358324e2954340a3f4449405555416b545b716a477a6e 1126 1043 1119 1090 1122 1076 1090 2030 1122 7173 1055 1085 25698 1051 1299 1086 1058 1122 1010 130196 1055 1067 56663 1121 1086 1093 82838 1052 1069 1044 1124 1116 2774 1035 1088 1050 1078 1041 1084 1052 1010 1063 29951 1064 1085 69940 1107 1084 1091 1113 1106 1071 7186 +313b532b283177 1049 1059 1083 41939 1049 1119 +764963460a38625a6c2745433d587e3d3746765474735176582a3f53534f5975345871256036525d785c676535484570625c3809444529715e223e793e4b262b5e2767 1118 1073 1099 1070 1010 1056 1098 1090 1108 10573 1067 1061 1088 1126 1061 1055 130533 1084 2392 1081 1118 1088 1042 1063 4290 1079 107649 1052 1088 1113 1037 1096 1054 1082 1093 1120 1092 1643 1053 7626 84437 1092 1056 1009 5088 1041 1113 1094 2571 1121 1062 1075 1038 14914 1039 1103 +672b3f3c3b7d365e30452a6c3d53294f4628793f366b6e6876273f4f2c39337c372a3e73694d2b5b4a2a34743f72285c5223 1103 1043 1063 1060 1059 1125 1054 1094 1048 1069 1042 1108 1061 1083 1041 37979 16367 1063 1054 1107 3556 1118 1039 1063 1079 1044 1057 1051 1124 1055 69048 5822 1077 1043 1091 1074 1042 1052 1116 1063 1114 6169 1082 1035 +3f580a394f35212d357735312f6e305b72287c7b637a7d41734623247b27362e5678442f30 1063 1088 1010 1057 1079 1053 1033 1045 1053 1119 1053 1049 23409 1048 51877 60476 1123 5206 1125 4072 1070 1035 6707 1039 1054 14392 1120 1068 1047 1048 +50792e305c6d7956472d7b21582a61416738524e535d743349303f767830292368372344244e5b404d71416f5a7a6a327b4a 45527 1046 1048 1092 3933 122406 113356 1033 1088 85841 19068 1056 1082 8772 1093 1116 1051 1073 1048 71029 1120 1048 102110 1104 1055 1035 1068 1036 1078 34238 1077 1113 72531 1090 1122 1106 1050 96460 +4d21292e577863380a2d326c3575233a2e733330613a2323624b514f3c 1077 126385 1087 41501 1056 1010 1045 1050 1108 1053 1117 1035 70511 1115 1051 1048 1097 1058 1358 1098 1075 1081 1079 1060 +313233343536372063616e277420736e616b655f63617365207838365f363420656e642e0a0a207838365f363420524f424f5420524f424f54203c5350454349414c5f32323e2068747470733a2f2f782e6f72672f613f623d6326643d6520736e616b655f636173652074686579276c6c 1049 1050 1051 1052 1053 1054 1055 1710 2405 48726 69982 2460 1056 1054 1095 1054 1052 2362 1338 2460 1056 1054 1095 1054 1052 30291 1066 6918 30291 1066 6918 1032 22 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 48726 69982 2127 7534 +3c5350454349414c5f32323e203c7c766973696f6e5f73746172747c3e203c7c696d5f656e647c3e20610d0a62203c7c696d5f73746172747c3e 22 1032 20 1032 11 1261 1013 1010 1098 1032 10 +776f726c642773200b0c20656e642e0a0a 34049 1681 1032 1011 1012 2362 1338 +31323334353637 1049 1050 1051 1052 1053 1054 1055 +63616d656c43617365203c2f7468696e6b3e 32587 1299 11139 1032 13 +74686579276c6c 43880 7534 +0b0c20776f726c64277320736e616b655f63617365203c7468696e6b3e203c2f7468696e6b3e 1011 1012 4304 1681 48726 69982 1032 12 1032 13 +3c7c766973696f6e5f73746172747c3e 20 +3c5350454349414c5f32323e20776f726c642773 22 4304 1681 +48656c6c6f203c7c696d5f656e647c3e203c2f7468696e6b3e 22177 1032 11 1032 13 +74686579276c6c20332e313431353920332e3134313539 43880 7534 1032 1051 1046 1049 1052 1049 1053 1057 1032 1051 1046 1049 1052 1049 1053 1057 +656e642e0a0a203c7468696e6b3e2049277665203c2f7468696e6b3e 1474 1338 1032 12 1362 6483 1032 13 +776f726c6427732031323334353637203c2f7468696e6b3e2063616e27742048656c6c6f2031323334353637 34049 1681 1032 1049 1050 1051 1052 1053 1054 1055 1032 13 1710 2405 45383 1032 1049 1050 1051 1052 1053 1054 1055 +7838365f3634203c7c696d5f656e647c3e20524f424f5420524f424f54203c7468696e6b3e 1120 1056 1054 1095 1054 1052 1032 11 30291 1066 6918 30291 1066 6918 1032 12 +7838365f3634203c7c696d5f73746172747c3e206120200a20206220492776652063616e2774203c7c696d5f73746172747c3e20656e642e0a0a20332e31343135392074686579276c6c20332e313431353920313233343536372063616e2774 1120 1056 1054 1095 1054 1052 1032 10 1261 1256 1010 1032 1289 1362 6483 1710 2405 1032 10 2362 1338 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 1032 1051 1046 1049 1052 1049 1053 1057 1032 1049 1050 1051 1052 1053 1054 1055 1710 2405 +656e642e0a0a203132333435363720202073706163656420206f7574202020776f726c64277320524f424f54 1474 1338 1032 1049 1050 1051 1052 1053 1054 1055 1256 44504 1032 1848 1256 4304 1681 30291 1066 6918 +68747470733a2f2f782e6f72672f613f623d6326643d6520202073706163656420206f7574202020776f726c642773 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1256 44504 1032 1848 1256 4304 1681 +776f726c64277320610d0a6220313233343536372063616d656c4361736520610d0a62 34049 1681 1261 1013 1010 1098 1032 1049 1050 1051 1052 1053 1054 1055 98537 11139 1261 1013 1010 1098 +3c5350454349414c5f32323e2063616d656c4361736520524f424f54203c7c696d5f73746172747c3e20736e616b655f63617365 22 98537 11139 30291 1066 6918 1032 10 48726 69982 +610d0a6220776f726c6427732048656c6c6f20736e616b655f6361736520610d0a62203c7c696d5f656e647c3e 1097 1013 1010 1098 4304 1681 45383 48726 69982 1261 1013 1010 1098 1032 11 +31323334353637203c5350454349414c5f32323e20736e616b655f636173652031323334353637 1049 1050 1051 1052 1053 1054 1055 1032 22 48726 69982 1032 1049 1050 1051 1052 1053 1054 1055 +7838365f36342068747470733a2f2f782e6f72672f613f623d6326643d6520332e313431353920202073706163656420206f7574202020332e31343135392074686579276c6c2049277665205b494e53545d200b0c203c5350454349414c5f32323e20610d0a622048656c6c6f 1120 1056 1054 1095 1054 1052 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 1051 1046 1049 1052 1049 1053 1057 1256 44504 1032 1848 1256 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 1362 6483 1032 3 1032 1011 1012 1032 22 1261 1013 1010 1098 45383 +332e3134313539203c7468696e6b3e2049277665203c7c766973696f6e5f73746172747c3e2063616e2774205b494e53545d2068747470733a2f2f782e6f72672f613f623d6326643d65 1051 1046 1049 1052 1049 1053 1057 1032 12 1362 6483 1032 20 1710 2405 1032 3 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 +524f424f542031323334353637200b0c203c2f7468696e6b3e 4755 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 1032 1011 1012 1032 13 +68747470733a2f2f782e6f72672f613f623d6326643d652068747470733a2f2f782e6f72672f613f623d6326643d65203c2f7468696e6b3e200b0c2048656c6c6f20610d0a62 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 13 1032 1011 1012 45383 1261 1013 1010 1098 +6120200a2020622049277665203c7c766973696f6e5f73746172747c3e20524f424f54203c7c696d5f73746172747c3e20776f726c64277320736e616b655f63617365203c5350454349414c5f32323e 1097 1256 1010 1032 1289 1362 6483 1032 20 30291 1066 6918 1032 10 4304 1681 48726 69982 1032 22 +736e616b655f63617365203c7468696e6b3e20524f424f54206120200a202062203c7c696d5f656e647c3e20656e642e0a0a2063616e2774200b0c207838365f3634 44515 2082 69982 1032 12 30291 1066 6918 1261 1256 1010 1032 1289 1032 11 2362 1338 1710 2405 1032 1011 1012 2460 1056 1054 1095 1054 1052 +3c7c766973696f6e5f73746172747c3e20524f424f54203c7c696d5f656e647c3e203c7c766973696f6e5f73746172747c3e20492776652068747470733a2f2f782e6f72672f613f623d6326643d65203c5350454349414c5f32323e2068747470733a2f2f782e6f72672f613f623d6326643d652049277665206120200a202062 20 30291 1066 6918 1032 11 1032 20 1362 6483 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 22 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 1261 1256 1010 1032 1289 +5b494e53545d205b494e53545d203c7c696d5f73746172747c3e206120200a202062206120200a2020622074686579276c6c203c7468696e6b3e200b0c20656e642e0a0a 3 1032 3 1032 10 1261 1256 1010 1032 1289 1261 1256 1010 1032 1289 2127 7534 1032 12 1032 1011 1012 2362 1338 +3c7468696e6b3e20313233343536372068747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20202073706163656420206f7574202020492776652074686579276c6c20656e642e0a0a203c7c696d5f656e647c3e 12 1032 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1256 44504 1032 1848 1256 1362 6483 2127 7534 2362 1338 1032 11 +610d0a62203c7c696d5f73746172747c3e203c7c766973696f6e5f73746172747c3e203c7468696e6b3e 1097 1013 1010 1098 1032 10 1032 20 1032 12 +0b0c 1011 1012 +3c2f7468696e6b3e20776f726c64277320524f424f54203c5350454349414c5f32323e20610d0a6220524f424f54203c7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520610d0a6220524f424f54200b0c20202073706163656420206f75742020 13 4304 1681 30291 1066 6918 1032 22 1261 1013 1010 1098 30291 1066 6918 1032 12 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1261 1013 1010 1098 30291 1066 6918 1032 1011 1012 1256 44504 1032 1848 1256 +7838365f363420736e616b655f63617365 1120 1056 1054 1095 1054 1052 48726 69982 +3c7c766973696f6e5f73746172747c3e2063616d656c43617365200b0c 20 98537 11139 1032 1011 1012 +524f424f54203c7c696d5f656e647c3e203c7c766973696f6e5f73746172747c3e20736e616b655f6361736520776f726c642773206120200a2020622063616d656c43617365203c5350454349414c5f32323e 4755 1066 6918 1032 11 1032 20 48726 69982 4304 1681 1261 1256 1010 1032 1289 98537 11139 1032 22 +7838365f3634 1120 1056 1054 1095 1054 1052 +5b494e53545d 3 +656e642e0a0a 1474 1338 +63616d656c43617365203c7c766973696f6e5f73746172747c3e206120200a202062203c7c696d5f73746172747c3e203c7468696e6b3e2063616d656c43617365200b0c204927766520656e642e0a0a 32587 1299 11139 1032 20 1261 1256 1010 1032 1289 1032 10 1032 12 98537 11139 1032 1011 1012 1362 6483 2362 1338 +63616d656c4361736520736e616b655f6361736520524f424f54204927766520610d0a62 32587 1299 11139 48726 69982 30291 1066 6918 1362 6483 1261 1013 1010 1098 +68747470733a2f2f782e6f72672f613f623d6326643d65203c7c696d5f73746172747c3e20332e313431353920332e31343135392074686579276c6c20776f726c642773 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 10 1032 1051 1046 1049 1052 1049 1053 1057 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 4304 1681 +3c5350454349414c5f32323e206120200a2020622068747470733a2f2f782e6f72672f613f623d6326643d65203c5350454349414c5f32323e200b0c203c5350454349414c5f32323e2048656c6c6f205b494e53545d203c2f7468696e6b3e2063616e277420610d0a6220656e642e0a0a 22 1261 1256 1010 1032 1289 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 22 1032 1011 1012 1032 22 45383 1032 3 1032 13 1710 2405 1261 1013 1010 1098 2362 1338 +3c7c766973696f6e5f73746172747c3e20776f726c64277320610d0a6220332e313431353920202073706163656420206f7574202020524f424f542063616d656c43617365203c7c696d5f73746172747c3e 20 4304 1681 1261 1013 1010 1098 1032 1051 1046 1049 1052 1049 1053 1057 1256 44504 1032 1848 1256 30291 1066 6918 98537 11139 1032 10 +49277665 1073 6483 +74686579276c6c203c5350454349414c5f32323e205b494e53545d20332e3134313539203c7c696d5f656e647c3e2068747470733a2f2f782e6f72672f613f623d6326643d6520656e642e0a0a203c7c696d5f73746172747c3e20332e31343135392063616e2774203c7c766973696f6e5f73746172747c3e20736e616b655f63617365 43880 7534 1032 22 1032 3 1032 1051 1046 1049 1052 1049 1053 1057 1032 11 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2362 1338 1032 10 1032 1051 1046 1049 1052 1049 1053 1057 1710 2405 1032 20 48726 69982 +0b0c2068747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20202073706163656420206f7574202020202073706163656420206f75742020206120200a2020622031323334353637207838365f3634203c7c766973696f6e5f73746172747c3e20202073706163656420206f75742020 1011 1012 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1256 44504 1032 1848 1260 44504 1032 1848 1256 1261 1256 1010 1032 1289 1032 1049 1050 1051 1052 1053 1054 1055 2460 1056 1054 1095 1054 1052 1032 20 1256 44504 1032 1848 1256 +610d0a62203c7c696d5f73746172747c3e20202073706163656420206f75742020 1097 1013 1010 1098 1032 10 1256 44504 1032 1848 1256 +332e313431353920736e616b655f63617365203c7c766973696f6e5f73746172747c3e20332e3134313539206120200a2020622063616d656c43617365200b0c20776f726c64277320524f424f542048656c6c6f20656e642e0a0a 1051 1046 1049 1052 1049 1053 1057 48726 69982 1032 20 1032 1051 1046 1049 1052 1049 1053 1057 1261 1256 1010 1032 1289 98537 11139 1032 1011 1012 4304 1681 30291 1066 6918 45383 2362 1338 +5b494e53545d2074686579276c6c203c5350454349414c5f32323e2063616d656c43617365205b494e53545d203c5350454349414c5f32323e20202073706163656420206f75742020 3 2127 7534 1032 22 98537 11139 1032 3 1032 22 1256 44504 1032 1848 1256 +48656c6c6f20492776652049277665200b0c 22177 1362 6483 1362 6483 1032 1011 1012 +63616d656c43617365204927766520776f726c64277320610d0a62207838365f3634203c2f7468696e6b3e203c2f7468696e6b3e2074686579276c6c2074686579276c6c2074686579276c6c203c2f7468696e6b3e20736e616b655f63617365 32587 1299 11139 1362 6483 4304 1681 1261 1013 1010 1098 2460 1056 1054 1095 1054 1052 1032 13 1032 13 2127 7534 2127 7534 2127 7534 1032 13 48726 69982 +3c7c696d5f656e647c3e203c2f7468696e6b3e205b494e53545d203c7c696d5f73746172747c3e20656e642e0a0a203c7c696d5f73746172747c3e 11 1032 13 1032 3 1032 10 2362 1338 1032 10 +74686579276c6c203c7c766973696f6e5f73746172747c3e20332e313431353920736e616b655f6361736520656e642e0a0a203c7468696e6b3e 43880 7534 1032 20 1032 1051 1046 1049 1052 1049 1053 1057 48726 69982 2362 1338 1032 12 +3c5350454349414c5f32323e 22 +63616d656c4361736520524f424f54203c2f7468696e6b3e20202073706163656420206f757420202049277665200b0c205b494e53545d20776f726c642773 32587 1299 11139 30291 1066 6918 1032 13 1256 44504 1032 1848 1256 1362 6483 1032 1011 1012 1032 3 4304 1681 +63616e2774204927766520332e31343135392031323334353637205b494e53545d20656e642e0a0a205b494e53545d2063616e277420610d0a622049277665 8495 2405 1362 6483 1032 1051 1046 1049 1052 1049 1053 1057 1032 1049 1050 1051 1052 1053 1054 1055 1032 3 2362 1338 1032 3 1710 2405 1261 1013 1010 1098 1362 6483 +524f424f54205b494e53545d203c7c696d5f656e647c3e207838365f36342063616d656c43617365203c5350454349414c5f32323e20656e642e0a0a203c2f7468696e6b3e206120200a2020622049277665 4755 1066 6918 1032 3 1032 11 2460 1056 1054 1095 1054 1052 98537 11139 1032 22 2362 1338 1032 13 1261 1256 1010 1032 1289 1362 6483 +610d0a6220776f726c6427732049277665203c7c696d5f73746172747c3e200b0c200b0c203c2f7468696e6b3e203c7c696d5f656e647c3e203c5350454349414c5f32323e20524f424f54 1097 1013 1010 1098 4304 1681 1362 6483 1032 10 1032 1011 1012 1032 1011 1012 1032 13 1032 11 1032 22 30291 1066 6918 +63616e2774207838365f3634203c2f7468696e6b3e20332e31343135392048656c6c6f20524f424f542031323334353637 8495 2405 2460 1056 1054 1095 1054 1052 1032 13 1032 1051 1046 1049 1052 1049 1053 1057 45383 30291 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 +5b494e53545d2031323334353637207838365f36342068747470733a2f2f782e6f72672f613f623d6326643d65203c7c696d5f656e647c3e2063616d656c43617365203c2f7468696e6b3e203c7c696d5f73746172747c3e2068747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365203c7c696d5f656e647c3e2063616e2774 3 1032 1049 1050 1051 1052 1053 1054 1055 2460 1056 1054 1095 1054 1052 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 11 98537 11139 1032 13 1032 10 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 1032 11 1710 2405 +7838365f363420736e616b655f63617365 1120 1056 1054 1095 1054 1052 48726 69982 +3c7c696d5f656e647c3e20656e642e0a0a20736e616b655f636173652063616e2774203c2f7468696e6b3e2031323334353637203c7c696d5f656e647c3e2074686579276c6c2031323334353637205b494e53545d203c7c766973696f6e5f73746172747c3e2068747470733a2f2f782e6f72672f613f623d6326643d65 11 2362 1338 48726 69982 1710 2405 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 1032 11 2127 7534 1032 1049 1050 1051 1052 1053 1054 1055 1032 3 1032 20 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 +3c7c696d5f656e647c3e2074686579276c6c20313233343536372063616d656c43617365 11 2127 7534 1032 1049 1050 1051 1052 1053 1054 1055 98537 11139 +492776652063616d656c4361736520202073706163656420206f75742020203c7c696d5f73746172747c3e2074686579276c6c203c7c696d5f656e647c3e207838365f3634200b0c2048656c6c6f2048656c6c6f2063616d656c43617365 1073 6483 98537 11139 1256 44504 1032 1848 1293 10 2127 7534 1032 11 2460 1056 1054 1095 1054 1052 1032 1011 1012 45383 45383 98537 11139 +736e616b655f63617365203c2f7468696e6b3e2031323334353637 44515 2082 69982 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 +736e616b655f636173652063616d656c43617365203c5350454349414c5f32323e203c7c696d5f73746172747c3e20332e3134313539203c7c696d5f656e647c3e203c7468696e6b3e20610d0a6220736e616b655f6361736520332e313431353920736e616b655f63617365 44515 2082 69982 98537 11139 1032 22 1032 10 1032 1051 1046 1049 1052 1049 1053 1057 1032 11 1032 12 1261 1013 1010 1098 48726 69982 1032 1051 1046 1049 1052 1049 1053 1057 48726 69982 +63616e277420524f424f542063616e277420202073706163656420206f7574202020313233343536372063616e27742048656c6c6f 8495 2405 30291 1066 6918 1710 2405 1256 44504 1032 1848 1256 1032 1049 1050 1051 1052 1053 1054 1055 1710 2405 45383 +48656c6c6f2074686579276c6c20202073706163656420206f7574202020332e313431353920610d0a622063616d656c43617365203c7468696e6b3e203c7c696d5f73746172747c3e20492776652063616e2774203c5350454349414c5f32323e205b494e53545d 22177 2127 7534 1256 44504 1032 1848 1256 1032 1051 1046 1049 1052 1049 1053 1057 1261 1013 1010 1098 98537 11139 1032 12 1032 10 1362 6483 1710 2405 1032 22 1032 3 +4927766520656e642e0a0a20736e616b655f63617365 1073 6483 2362 1338 48726 69982 +3c5350454349414c5f32323e20332e313431353920656e642e0a0a2063616d656c43617365203c7c766973696f6e5f73746172747c3e20776f726c64277320202073706163656420206f7574202020524f424f5420332e3134313539203c7c696d5f73746172747c3e 22 1032 1051 1046 1049 1052 1049 1053 1057 2362 1338 98537 11139 1032 20 4304 1681 1256 44504 1032 1848 1256 30291 1066 6918 1032 1051 1046 1049 1052 1049 1053 1057 1032 10 +524f424f5420610d0a62203c5350454349414c5f32323e207838365f36342063616e2774203c2f7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520332e31343135392074686579276c6c2074686579276c6c20524f424f5420202073706163656420206f75742020 4755 1066 6918 1261 1013 1010 1098 1032 22 2460 1056 1054 1095 1054 1052 1710 2405 1032 13 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 2127 7534 30291 1066 6918 1256 44504 1032 1848 1256 +610d0a62 1097 1013 1010 1098 +68747470733a2f2f782e6f72672f613f623d6326643d65204927766520202073706163656420206f757420202031323334353637205b494e53545d 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 1256 44504 1032 1848 1256 1032 1049 1050 1051 1052 1053 1054 1055 1032 3 +48656c6c6f20332e313431353920524f424f5420776f726c642773203c7468696e6b3e2048656c6c6f205b494e53545d20656e642e0a0a20332e3134313539 22177 1032 1051 1046 1049 1052 1049 1053 1057 30291 1066 6918 4304 1681 1032 12 45383 1032 3 2362 1338 1032 1051 1046 1049 1052 1049 1053 1057 +3c7c696d5f656e647c3e203c7c696d5f656e647c3e2048656c6c6f2063616e2774203c7468696e6b3e20332e3134313539205b494e53545d203c2f7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520776f726c642773 11 1032 11 45383 1710 2405 1032 12 1032 1051 1046 1049 1052 1049 1053 1057 1032 3 1032 13 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 4304 1681 +3c7c696d5f656e647c3e203c7c696d5f73746172747c3e20524f424f54200b0c20736e616b655f63617365 11 1032 10 30291 1066 6918 1032 1011 1012 48726 69982 +3c7c696d5f656e647c3e 11 +31323334353637 1049 1050 1051 1052 1053 1054 1055 +3c7c696d5f73746172747c3e2074686579276c6c2049277665204927766520524f424f54203c5350454349414c5f32323e20610d0a622074686579276c6c20776f726c64277320610d0a6220610d0a62 10 2127 7534 1362 6483 1362 6483 30291 1066 6918 1032 22 1261 1013 1010 1098 2127 7534 4304 1681 1261 1013 1010 1098 1261 1013 1010 1098 +3c5350454349414c5f32323e20524f424f5420656e642e0a0a20524f424f54 22 30291 1066 6918 2362 1338 30291 1066 6918 +3c5350454349414c5f32323e20776f726c642773 22 4304 1681 +3c2f7468696e6b3e2074686579276c6c203c2f7468696e6b3e 13 2127 7534 1032 13 +736e616b655f63617365205b494e53545d20524f424f54207838365f36342063616d656c43617365 44515 2082 69982 1032 3 30291 1066 6918 2460 1056 1054 1095 1054 1052 98537 11139 +48656c6c6f 22177 +492776652068747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20313233343536372063616d656c436173652063616d656c4361736520776f726c642773 1073 6483 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1032 1049 1050 1051 1052 1053 1054 1055 98537 11139 98537 11139 4304 1681 +48656c6c6f20332e3134313539203c5350454349414c5f32323e200b0c204927766520313233343536372068747470733a2f2f782e6f72672f613f623d6326643d6520656e642e0a0a2063616e2774 22177 1032 1051 1046 1049 1052 1049 1053 1057 1032 22 1032 1011 1012 1362 6483 1032 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2362 1338 1710 2405 +313233343536372068747470733a2f2f782e6f72672f613f623d6326643d65203c7468696e6b3e20736e616b655f63617365 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 12 48726 69982 +7838365f36342031323334353637200b0c203c7c696d5f73746172747c3e2048656c6c6f 1120 1056 1054 1095 1054 1052 1032 1049 1050 1051 1052 1053 1054 1055 1032 1011 1012 1032 10 45383 +5b494e53545d20332e313431353920656e642e0a0a20656e642e0a0a205b494e53545d20736e616b655f6361736520776f726c64277320610d0a62200b0c206120200a202062 3 1032 1051 1046 1049 1052 1049 1053 1057 2362 1338 2362 1338 1032 3 48726 69982 4304 1681 1261 1013 1010 1098 1032 1011 1012 1261 1256 1010 1032 1289 +68747470733a2f2f782e6f72672f613f623d6326643d6520776f726c6427732074686579276c6c20332e3134313539203c2f7468696e6b3e203c7c696d5f656e647c3e206120200a2020622048656c6c6f20332e3134313539205b494e53545d2063616e2774 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 4304 1681 2127 7534 1032 1051 1046 1049 1052 1049 1053 1057 1032 13 1032 11 1261 1256 1010 1032 1289 45383 1032 1051 1046 1049 1052 1049 1053 1057 1032 3 1710 2405 +736e616b655f63617365203c7c696d5f656e647c3e 44515 2082 69982 1032 11 +776f726c642773 34049 1681 +202073706163656420206f757420202063616d656c43617365203132333435363720610d0a62203c7c696d5f656e647c3e20202073706163656420206f75742020203c5350454349414c5f32323e2049277665203c7c696d5f73746172747c3e2074686579276c6c 1032 44504 1032 1848 1256 98537 11139 1032 1049 1050 1051 1052 1053 1054 1055 1261 1013 1010 1098 1032 11 1256 44504 1032 1848 1293 22 1362 6483 1032 10 2127 7534 +5b494e53545d205b494e53545d20492776652048656c6c6f205b494e53545d207838365f3634203c5350454349414c5f32323e2048656c6c6f203c7c696d5f656e647c3e 3 1032 3 1362 6483 45383 1032 3 2460 1056 1054 1095 1054 1052 1032 22 45383 1032 11 +4927766520656e642e0a0a2049277665203c7c766973696f6e5f73746172747c3e2074686579276c6c20776f726c6427732063616d656c4361736520776f726c64277320524f424f542063616e2774205b494e53545d203c7c696d5f656e647c3e 1073 6483 2362 1338 1362 6483 1032 20 2127 7534 4304 1681 98537 11139 4304 1681 30291 1066 6918 1710 2405 1032 3 1032 11 +3c7c766973696f6e5f73746172747c3e200b0c20202073706163656420206f75742020203c7c696d5f73746172747c3e20524f424f542031323334353637203c7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365203c5350454349414c5f32323e 20 1032 1011 1012 1256 44504 1032 1848 1293 10 30291 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 1032 12 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 1032 22 +68747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365203c7c696d5f73746172747c3e203c7c696d5f73746172747c3e203c7468696e6b3e2063616d656c436173652048656c6c6f2048656c6c6f203c7c766973696f6e5f73746172747c3e205b494e53545d 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 1032 10 1032 10 1032 12 98537 11139 45383 45383 1032 20 1032 3 +48656c6c6f20736e616b655f6361736520202073706163656420206f757420202048656c6c6f200b0c206120200a2020622074686579276c6c20776f726c642773200b0c20524f424f5420332e3134313539 22177 48726 69982 1256 44504 1032 1848 1256 45383 1032 1011 1012 1261 1256 1010 1032 1289 2127 7534 4304 1681 1032 1011 1012 30291 1066 6918 1032 1051 1046 1049 1052 1049 1053 1057 +656e642e0a0a20736e616b655f6361736520776f726c642773203c7c696d5f656e647c3e2031323334353637203c7c696d5f73746172747c3e2068747470733a2f2f782e6f72672f613f623d6326643d65203c2f7468696e6b3e20736e616b655f63617365203c7468696e6b3e206120200a2020622031323334353637 1474 1338 48726 69982 4304 1681 1032 11 1032 1049 1050 1051 1052 1053 1054 1055 1032 10 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 13 48726 69982 1032 12 1261 1256 1010 1032 1289 1032 1049 1050 1051 1052 1053 1054 1055 +7838365f363420656e642e0a0a2074686579276c6c2068747470733a2f2f782e6f72672f613f623d6326643d6520492776652048656c6c6f 1120 1056 1054 1095 1054 1052 2362 1338 2127 7534 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 45383 +776f726c6427732031323334353637206120200a2020622049277665203c7c766973696f6e5f73746172747c3e2063616d656c436173652074686579276c6c20524f424f54 34049 1681 1032 1049 1050 1051 1052 1053 1054 1055 1261 1256 1010 1032 1289 1362 6483 1032 20 98537 11139 2127 7534 30291 1066 6918 +68747470733a2f2f782e6f72672f613f623d6326643d652049277665205b494e53545d204927766520656e642e0a0a20332e31343135392074686579276c6c2068747470733a2f2f782e6f72672f613f623d6326643d65207838365f3634200b0c 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 1032 3 1362 6483 2362 1338 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2460 1056 1054 1095 1054 1052 1032 1011 1012 +3c5350454349414c5f32323e20776f726c64277320656e642e0a0a20202073706163656420206f75742020203c7c696d5f73746172747c3e 22 4304 1681 2362 1338 1256 44504 1032 1848 1293 10 +74686579276c6c20524f424f54206120200a202062203c7468696e6b3e203c7468696e6b3e2074686579276c6c 43880 7534 30291 1066 6918 1261 1256 1010 1032 1289 1032 12 1032 12 2127 7534 +0b0c2063616d656c4361736520736e616b655f636173652063616e2774205b494e53545d2068747470733a2f2f782e6f72672f613f623d6326643d652068747470733a2f2f782e6f72672f613f623d6326643d65 1011 1012 98537 11139 48726 69982 1710 2405 1032 3 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 +3c7c696d5f656e647c3e203c7468696e6b3e203c7c766973696f6e5f73746172747c3e 11 1032 12 1032 20 +63616e277420524f424f54203c2f7468696e6b3e2048656c6c6f2074686579276c6c 8495 2405 30291 1066 6918 1032 13 45383 2127 7534 +3c7c696d5f656e647c3e20736e616b655f6361736520524f424f54203c7c766973696f6e5f73746172747c3e206120200a202062 11 48726 69982 30291 1066 6918 1032 20 1261 1256 1010 1032 1289 +3c2f7468696e6b3e20656e642e0a0a203c7468696e6b3e20776f726c64277320736e616b655f63617365205b494e53545d20610d0a62205b494e53545d203c7c696d5f656e647c3e2048656c6c6f 13 2362 1338 1032 12 4304 1681 48726 69982 1032 3 1261 1013 1010 1098 1032 3 1032 11 45383 +0b0c2068747470733a2f2f782e6f72672f613f623d6326643d652048656c6c6f203c7c766973696f6e5f73746172747c3e200b0c203c5350454349414c5f32323e203c5350454349414c5f32323e204927766520736e616b655f6361736520776f726c6427732048656c6c6f20656e642e0a0a 1011 1012 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 45383 1032 20 1032 1011 1012 1032 22 1032 22 1362 6483 48726 69982 4304 1681 45383 2362 1338 +776f726c642773200b0c203c7c696d5f656e647c3e20776f726c642773 34049 1681 1032 1011 1012 1032 11 4304 1681 +0b0c206120200a20206220736e616b655f63617365207838365f3634206120200a2020622074686579276c6c203132333435363720332e313431353920736e616b655f63617365 1011 1012 1261 1256 1010 1032 1289 48726 69982 2460 1056 1054 1095 1054 1052 1261 1256 1010 1032 1289 2127 7534 1032 1049 1050 1051 1052 1053 1054 1055 1032 1051 1046 1049 1052 1049 1053 1057 48726 69982 +48656c6c6f2048656c6c6f2068747470733a2f2f782e6f72672f613f623d6326643d652068747470733a2f2f782e6f72672f613f623d6326643d65207838365f3634203c7c696d5f73746172747c3e203132333435363720202073706163656420206f75742020 22177 45383 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2460 1056 1054 1095 1054 1052 1032 10 1032 1049 1050 1051 1052 1053 1054 1055 1256 44504 1032 1848 1256 +31323334353637207838365f363420776f726c64277320492776652048656c6c6f2031323334353637203c7c696d5f656e647c3e 1049 1050 1051 1052 1053 1054 1055 2460 1056 1054 1095 1054 1052 4304 1681 1362 6483 45383 1032 1049 1050 1051 1052 1053 1054 1055 1032 11 +3c7c696d5f73746172747c3e20524f424f54203c5350454349414c5f32323e20736e616b655f6361736520492776652063616e27742074686579276c6c207838365f363420610d0a62200b0c2048656c6c6f 10 30291 1066 6918 1032 22 48726 69982 1362 6483 1710 2405 2127 7534 2460 1056 1054 1095 1054 1052 1261 1013 1010 1098 1032 1011 1012 45383 +3c7468696e6b3e203c7c696d5f656e647c3e 12 1032 11 +5b494e53545d2068747470733a2f2f782e6f72672f613f623d6326643d65203c2f7468696e6b3e203c5350454349414c5f32323e20332e3134313539 3 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 13 1032 22 1032 1051 1046 1049 1052 1049 1053 1057 +6120200a2020622049277665203c7c766973696f6e5f73746172747c3e20524f424f54 1097 1256 1010 1032 1289 1362 6483 1032 20 30291 1066 6918 +3c5350454349414c5f32323e2074686579276c6c203c2f7468696e6b3e200b0c206120200a2020622048656c6c6f20524f424f542049277665203c2f7468696e6b3e2063616e2774203c5350454349414c5f32323e 22 2127 7534 1032 13 1032 1011 1012 1261 1256 1010 1032 1289 45383 30291 1066 6918 1362 6483 1032 13 1710 2405 1032 22 +68747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20332e3134313539203c7468696e6b3e203c7c696d5f73746172747c3e20202073706163656420206f757420202048656c6c6f2074686579276c6c20736e616b655f636173652068747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1032 1051 1046 1049 1052 1049 1053 1057 1032 12 1032 10 1256 44504 1032 1848 1256 45383 2127 7534 48726 69982 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 +610d0a62203c2f7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520610d0a62207838365f363420736e616b655f636173652068747470733a2f2f782e6f72672f613f623d6326643d65206120200a202062 1097 1013 1010 1098 1032 13 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1261 1013 1010 1098 2460 1056 1054 1095 1054 1052 48726 69982 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1261 1256 1010 1032 1289 +48656c6c6f203c5350454349414c5f32323e20202073706163656420206f7574202020202073706163656420206f757420202074686579276c6c203c5350454349414c5f32323e2031323334353637204927766520736e616b655f63617365 22177 1032 22 1256 44504 1032 1848 1260 44504 1032 1848 1256 2127 7534 1032 22 1032 1049 1050 1051 1052 1053 1054 1055 1362 6483 48726 69982 +63616d656c4361736520656e642e0a0a 32587 1299 11139 2362 1338 +74686579276c6c203c5350454349414c5f32323e20524f424f5420492776652063616e2774203c7c696d5f656e647c3e20776f726c642773 43880 7534 1032 22 30291 1066 6918 1362 6483 1710 2405 1032 11 4304 1681 +63616e2774203c7c696d5f656e647c3e2063616e277420202073706163656420206f75742020205b494e53545d2049277665 8495 2405 1032 11 1710 2405 1256 44504 1032 1848 1293 3 1362 6483 +736e616b655f63617365204927766520656e642e0a0a205b494e53545d203c7468696e6b3e20332e3134313539203c5350454349414c5f32323e20610d0a62203c7c766973696f6e5f73746172747c3e20332e3134313539207838365f3634200b0c 44515 2082 69982 1362 6483 2362 1338 1032 3 1032 12 1032 1051 1046 1049 1052 1049 1053 1057 1032 22 1261 1013 1010 1098 1032 20 1032 1051 1046 1049 1052 1049 1053 1057 2460 1056 1054 1095 1054 1052 1032 1011 1012 +776f726c64277320610d0a622031323334353637 34049 1681 1261 1013 1010 1098 1032 1049 1050 1051 1052 1053 1054 1055 +313233343536372068747470733a2f2f782e6f72672f613f623d6326643d65 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 +202073706163656420206f757420202063616d656c436173652063616e277420524f424f5420656e642e0a0a20524f424f54 1032 44504 1032 1848 1256 98537 11139 1710 2405 30291 1066 6918 2362 1338 30291 1066 6918 +3c2f7468696e6b3e203c7c766973696f6e5f73746172747c3e203c7c766973696f6e5f73746172747c3e20776f726c64277320313233343536372063616e277420610d0a62206120200a202062200b0c 13 1032 20 1032 20 4304 1681 1032 1049 1050 1051 1052 1053 1054 1055 1710 2405 1261 1013 1010 1098 1261 1256 1010 1032 1289 1032 1011 1012 +3c7468696e6b3e205b494e53545d203c7c766973696f6e5f73746172747c3e2048656c6c6f20202073706163656420206f75742020203c5350454349414c5f32323e203c5350454349414c5f32323e2074686579276c6c205b494e53545d2049277665203c7c696d5f656e647c3e2063616d656c43617365 12 1032 3 1032 20 45383 1256 44504 1032 1848 1293 22 1032 22 2127 7534 1032 3 1362 6483 1032 11 98537 11139 +656e642e0a0a20332e31343135392048656c6c6f206120200a202062203c7c696d5f656e647c3e20202073706163656420206f7574202020776f726c6427732048656c6c6f20202073706163656420206f75742020203c2f7468696e6b3e20776f726c642773 1474 1338 1032 1051 1046 1049 1052 1049 1053 1057 45383 1261 1256 1010 1032 1289 1032 11 1256 44504 1032 1848 1256 4304 1681 45383 1256 44504 1032 1848 1293 13 4304 1681 +7838365f3634203c7468696e6b3e207838365f3634203c7c696d5f73746172747c3e 1120 1056 1054 1095 1054 1052 1032 12 2460 1056 1054 1095 1054 1052 1032 10 +492776652063616d656c43617365203c5350454349414c5f32323e20610d0a622049277665 1073 6483 98537 11139 1032 22 1261 1013 1010 1098 1362 6483 +6120200a202062200b0c200b0c203132333435363720524f424f54203c7c696d5f73746172747c3e207838365f36342063616e2774 1097 1256 1010 1032 1289 1032 1011 1012 1032 1011 1012 1032 1049 1050 1051 1052 1053 1054 1055 30291 1066 6918 1032 10 2460 1056 1054 1095 1054 1052 1710 2405 +3c7c696d5f656e647c3e203c7468696e6b3e20736e616b655f63617365205b494e53545d2063616e2774207838365f3634 11 1032 12 48726 69982 1032 3 1710 2405 2460 1056 1054 1095 1054 1052 +63616d656c436173652063616e2774203c7c696d5f656e647c3e2048656c6c6f20776f726c64277320332e31343135392063616d656c43617365206120200a202062200b0c204927766520202073706163656420206f7574202020332e3134313539 32587 1299 11139 1710 2405 1032 11 45383 4304 1681 1032 1051 1046 1049 1052 1049 1053 1057 98537 11139 1261 1256 1010 1032 1289 1032 1011 1012 1362 6483 1256 44504 1032 1848 1256 1032 1051 1046 1049 1052 1049 1053 1057 +49277665205b494e53545d20332e313431353920524f424f54203132333435363720776f726c64277320492776652048656c6c6f 1073 6483 1032 3 1032 1051 1046 1049 1052 1049 1053 1057 30291 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 4304 1681 1362 6483 45383 +63616d656c43617365203c2f7468696e6b3e203132333435363720610d0a6220736e616b655f636173652048656c6c6f203c7c766973696f6e5f73746172747c3e206120200a202062 32587 1299 11139 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 1261 1013 1010 1098 48726 69982 45383 1032 20 1261 1256 1010 1032 1289 +736e616b655f63617365203c7c696d5f656e647c3e206120200a202062203c7c696d5f656e647c3e 44515 2082 69982 1032 11 1261 1256 1010 1032 1289 1032 11 +3c7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520524f424f54203c5350454349414c5f32323e203132333435363720736e616b655f63617365 12 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 30291 1066 6918 1032 22 1032 1049 1050 1051 1052 1053 1054 1055 48726 69982 +776f726c642773203c7c766973696f6e5f73746172747c3e203c7c766973696f6e5f73746172747c3e203c2f7468696e6b3e2031323334353637200b0c2068747470733a2f2f782e6f72672f613f623d6326643d65200b0c 34049 1681 1032 20 1032 20 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 1032 1011 1012 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 1011 1012 +776f726c642773203c5350454349414c5f32323e2048656c6c6f20313233343536372048656c6c6f206120200a202062203c7c696d5f656e647c3e203c7c766973696f6e5f73746172747c3e205b494e53545d205b494e53545d 34049 1681 1032 22 45383 1032 1049 1050 1051 1052 1053 1054 1055 45383 1261 1256 1010 1032 1289 1032 11 1032 20 1032 3 1032 3 +610d0a62203c7468696e6b3e203c7468696e6b3e20332e3134313539200b0c2048656c6c6f2063616e2774205b494e53545d2063616e2774203c2f7468696e6b3e20610d0a622048656c6c6f 1097 1013 1010 1098 1032 12 1032 12 1032 1051 1046 1049 1052 1049 1053 1057 1032 1011 1012 45383 1710 2405 1032 3 1710 2405 1032 13 1261 1013 1010 1098 45383 +7838365f36342048656c6c6f2048656c6c6f20736e616b655f6361736520776f726c64277320313233343536372048656c6c6f203c5350454349414c5f32323e203c5350454349414c5f32323e 1120 1056 1054 1095 1054 1052 45383 45383 48726 69982 4304 1681 1032 1049 1050 1051 1052 1053 1054 1055 45383 1032 22 1032 22 +3c7c696d5f656e647c3e203c2f7468696e6b3e203c7c766973696f6e5f73746172747c3e20610d0a62207838365f3634 11 1032 13 1032 20 1261 1013 1010 1098 2460 1056 1054 1095 1054 1052 +48656c6c6f203c7c696d5f656e647c3e206120200a202062207838365f363420610d0a62203c7468696e6b3e203c7c696d5f656e647c3e203c7c696d5f656e647c3e20202073706163656420206f7574202020610d0a62 22177 1032 11 1261 1256 1010 1032 1289 2460 1056 1054 1095 1054 1052 1261 1013 1010 1098 1032 12 1032 11 1032 11 1256 44504 1032 1848 1256 1261 1013 1010 1098 +5b494e53545d2063616d656c4361736520332e3134313539203c7c696d5f656e647c3e20656e642e0a0a20656e642e0a0a203c2f7468696e6b3e20524f424f54203c7c766973696f6e5f73746172747c3e 3 98537 11139 1032 1051 1046 1049 1052 1049 1053 1057 1032 11 2362 1338 2362 1338 1032 13 30291 1066 6918 1032 20 +656e642e0a0a20736e616b655f6361736520776f726c64277320492776652068747470733a2f2f782e6f72672f613f623d6326643d652048656c6c6f20656e642e0a0a2074686579276c6c20656e642e0a0a205b494e53545d 1474 1338 48726 69982 4304 1681 1362 6483 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 45383 2362 1338 2127 7534 2362 1338 1032 3 diff --git a/tests/data/cosmos3_edge_prompts.tsv b/tests/data/cosmos3_edge_prompts.tsv new file mode 100644 index 00000000..458e4103 --- /dev/null +++ b/tests/data/cosmos3_edge_prompts.tsv @@ -0,0 +1,45 @@ +7069636b2075702074686520626c61636b20626f776c206265747765656e2074686520706c61746520616e64207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206265747765656e2074686520706c61746520616e64207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 2396 1278 8783 1321 1278 124056 7533 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c206e65787420746f207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206e65787420746f207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 4275 1317 1278 124056 7533 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c2066726f6d207461626c652063656e74657220616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c2066726f6d207461626c652063656e74657220616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1562 4234 7034 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c206f6e2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 37403 7616 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c20696e2074686520746f7020647261776572206f662074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c20696e2074686520746f7020647261776572206f662074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1294 1278 3977 56143 1307 1278 32656 31962 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c206f6e207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 124056 7533 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 4275 1317 1278 37403 7616 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c206f6e207468652073746f766520616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e207468652073746f766520616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 98018 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520706c61746520616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520706c61746520616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 4275 1317 1278 8783 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626c61636b20626f776c206f6e2074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e2074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 32656 31962 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520616c70686162657420736f757020616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520616c70686162657420736f757020616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 46198 32998 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520637265616d2063686565736520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520637265616d2063686565736520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 38423 42437 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b207570207468652073616c6164206472657373696e6720616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652073616c6164206472657373696e6720616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 89095 57512 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b207570207468652062627120736175636520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652062627120736175636520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 81718 1113 52812 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b20757020746865206b65746368757020616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b20757020746865206b65746368757020616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 1409 7789 1982 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520746f6d61746f20736175636520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520746f6d61746f20736175636520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 71901 52812 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b207570207468652062757474657220616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652062757474657220616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 34262 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b20757020746865206d696c6b20616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b20757020746865206d696c6b20616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 21842 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b207570207468652063686f636f6c6174652070756464696e6720616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652063686f636f6c6174652070756464696e6720616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 43978 25542 26080 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b20757020746865206f72616e6765206a7569636520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b20757020746865206f72616e6765206a7569636520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 32300 50465 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +6f70656e20746865206d6964646c6520647261776572206f662074686520636162696e6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20226f70656e20746865206d6964646c6520647261776572206f662074686520636162696e65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 7439 1278 9949 56143 1307 1278 31962 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7075742074686520626f776c206f6e207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626f776c206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 39922 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +707574207468652077696e6520626f74746c65206f6e20746f70206f662074686520636162696e6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707574207468652077696e6520626f74746c65206f6e20746f70206f662074686520636162696e65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 23592 30465 1408 3977 1307 1278 31962 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +6f70656e2074686520746f702064726177657220616e64207075742074686520626f776c20696e73696465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20226f70656e2074686520746f702064726177657220616e64207075742074686520626f776c20696e736964652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 7439 1278 3977 56143 1321 4283 1278 39922 6625 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7075742074686520626f776c206f6e20746f70206f662074686520636162696e6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626f776c206f6e20746f70206f662074686520636162696e65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 39922 1408 3977 1307 1278 31962 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +707573682074686520706c61746520746f207468652066726f6e74206f66207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707573682074686520706c61746520746f207468652066726f6e74206f66207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 30986 1278 8783 1317 1278 5346 1307 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7075742074686520637265616d2063686565736520696e2074686520626f776c 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520637265616d2063686565736520696e2074686520626f776c2e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 38423 42437 1294 1278 39922 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7475726e206f6e207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227475726e206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1740 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7075742074686520626f776c206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626f776c206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 39922 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +707574207468652077696e6520626f74746c65206f6e20746865207261636b 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707574207468652077696e6520626f74746c65206f6e20746865207261636b2e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 23592 30465 1408 1278 57164 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +70757420626f74682074686520616c70686162657420736f757020616e642074686520746f6d61746f20736175636520696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f74682074686520616c70686162657420736f757020616e642074686520746f6d61746f20736175636520696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1278 46198 32998 1321 1278 71901 52812 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +70757420626f74682074686520637265616d2063686565736520626f7820616e64207468652062757474657220696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f74682074686520637265616d2063686565736520626f7820616e64207468652062757474657220696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1278 38423 42437 7616 1321 1278 34262 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7475726e206f6e207468652073746f766520616e642070757420746865206d6f6b6120706f74206f6e206974 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227475726e206f6e207468652073746f766520616e642070757420746865206d6f6b6120706f74206f6e2069742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1740 1408 1278 98018 1321 4283 1278 1283 16944 3418 1408 1494 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7075742074686520626c61636b20626f776c20696e2074686520626f74746f6d20647261776572206f662074686520636162696e657420616e6420636c6f7365206974 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626c61636b20626f776c20696e2074686520626f74746f6d20647261776572206f662074686520636162696e657420616e6420636c6f73652069742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 7244 39922 1294 1278 9478 56143 1307 1278 31962 1321 6231 1494 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +70757420746865207768697465206d7567206f6e20746865206c65667420706c61746520616e6420707574207468652079656c6c6f7720616e64207768697465206d7567206f6e2074686520726967687420706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420746865207768697465206d7567206f6e20746865206c65667420706c61746520616e6420707574207468652079656c6c6f7720616e64207768697465206d7567206f6e2074686520726967687420706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 7496 50088 1408 1278 3979 8783 1321 4283 1278 19502 1321 7496 50088 1408 1278 3169 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +7069636b2075702074686520626f6f6b20616e6420706c61636520697420696e20746865206261636b20636f6d706172746d656e74206f6620746865206361646479 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626f6f6b20616e6420706c61636520697420696e20746865206261636b20636f6d706172746d656e74206f66207468652063616464792e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 4978 1321 3535 1494 1294 1278 2595 39683 1307 1278 1272 36778 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +70757420746865207768697465206d7567206f6e2074686520706c61746520616e6420707574207468652063686f636f6c6174652070756464696e6720746f20746865207269676874206f662074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420746865207768697465206d7567206f6e2074686520706c61746520616e6420707574207468652063686f636f6c6174652070756464696e6720746f20746865207269676874206f662074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 7496 50088 1408 1278 8783 1321 4283 1278 43978 25542 26080 1317 1278 3169 1307 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +70757420626f74682074686520616c70686162657420736f757020616e642074686520637265616d2063686565736520626f7820696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f74682074686520616c70686162657420736f757020616e642074686520637265616d2063686565736520626f7820696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1278 46198 32998 1321 1278 38423 42437 7616 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +70757420626f7468206d6f6b6120706f7473206f6e207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f7468206d6f6b6120706f7473206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1283 16944 80269 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +707574207468652079656c6c6f7720616e64207768697465206d756720696e20746865206d6963726f7761766520616e6420636c6f7365206974 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707574207468652079656c6c6f7720616e64207768697465206d756720696e20746865206d6963726f7761766520616e6420636c6f73652069742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 19502 1321 7496 50088 1294 1278 57918 1321 6231 1494 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 + 1010 10 25708 1010 11 1010 10 3263 1010 11 1010 10 1503 19464 1010 12 1010 11 20 +20205475726e206f6e207468652073746f76652020 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20225475726e206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 33566 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +6f70656e207468652064726177657221 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20226f70656e207468652064726177657221222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 7439 1278 56143 54221 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +776861743f 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022776861743f222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 13394 67340 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 +736179202268692220616e6409676f 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022736179205c2268695c2220616e645c74676f2e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 58324 25994 8101 17931 1321 16049 2762 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 diff --git a/tests/data/cosmos3_edge_rot6d.tsv b/tests/data/cosmos3_edge_rot6d.tsv new file mode 100644 index 00000000..5e019641 --- /dev/null +++ b/tests/data/cosmos3_edge_rot6d.tsv @@ -0,0 +1,62 @@ +-0.169895262 0.111934401 -0.267598599 -0.800884783 -0.295424461 -0.209627002 0.0660394132 -0.619221032 0.620354652 0.536814094 -0.169895262 0.111934401 -0.267598599 0.521017611 -1.07724488 -2.65711784 -0.0736281872 +-0.312099755 -0.144585446 0.338791966 -0.865834475 0.475237966 -1.2223469 1.06824374 -0.542136014 -0.970698476 -0.10870786 -0.312099755 -0.144585446 0.338791966 1.30344665 1.59066737 -1.98227775 1 +-0.250532627 0.295662999 -0.00156815501 -0.205100149 0.144762486 -1.19353926 0.790333807 -0.776238203 -0.421709865 0.602130771 -0.250532627 0.295662999 -0.00156815501 1.67662239 1.01605022 -1.95419717 -0.204261541 +-0.113693617 -0.140070751 -0.138264716 -0.280516326 0.208788663 0.162419617 -0.312640905 0.0806118995 0.17121321 -0.175102323 -0.113693617 -0.140070751 -0.138264716 0.515816569 0.261108547 1.91732109 1 +-0.0535554253 -0.178767934 0.0821609274 -0.306145847 0.539389253 -0.516199529 -0.611593485 0.138798937 0.507756174 0.0921061486 -0.0535554253 -0.178767934 0.0821609274 -0.100286454 1.24407661 1.51621115 0.815787673 +-0.069526881 -0.21158196 0.138696834 -0.575929761 0.704846203 0.934414566 -1.16253924 -0.273702383 -0.500541389 1.12698495 -0.069526881 -0.21158196 0.138696834 0.538705349 -0.981390238 1.82075787 -1 +0.182634071 -0.166798934 0.164311349 -0.765226841 0.348963618 0.252095878 -0.167730182 -0.56182462 0.558868229 0.107172236 0.182634071 -0.166798934 0.164311349 0.574921072 0.962677419 2.57825089 0.785655499 +-0.0350345001 -0.100764632 -0.336678267 0.288256317 -0.356371403 -0.470248908 0.271615654 -0.580543339 -0.107281722 0.392092168 -0.0350345001 -0.100764632 -0.336678267 2.2221384 0.120321281 -1.59628654 0.215815663 +-0.581490397 -0.383980155 -0.404470593 -0.508368909 -0.42192167 0.063488856 0.313016742 -0.435911059 -0.390499324 0.374041617 -0.581490397 -0.383980155 -0.404470593 -0.391918212 0.7314924 -2.37395692 0.251916766 +-0.058651682 0.346404165 -0.00281683472 -0.00615475513 -0.665879667 -0.05959557 0.682565391 -0.0119202454 -0.0277476702 0.835879266 -0.058651682 0.346404165 -0.00281683472 0.039144028 0.101393364 -1.5828532 -0.671758533 +0.24090293 0.82953006 -0.0533450395 -0.51598382 -0.383444399 0.44598943 0.630645812 -0.27117002 0.505130053 0.00290884078 0.24090293 0.82953006 -0.0533450395 -0.366111219 -1.11933005 -2.03412962 0.994182348 +-0.262781888 0.107393786 -0.130896077 -0.121424288 1.09618497 -0.120178483 -1.31327748 0.121800959 -0.226243779 0.0316416472 -0.262781888 0.107393786 -0.130896077 -0.198120907 -0.0561489984 1.56552637 0.936716676 +-0.00804871321 0.0277809184 -0.176929176 -0.609744251 -0.435647339 -0.31534493 -0.112546682 -0.362807542 0.718834579 0.293154657 -0.00804871321 0.0277809184 -0.176929176 0.960785031 -1.48655295 -2.28121018 0.413690686 +0.340582967 0.0809331089 -0.0701584071 -0.543968856 1.11514831 -1.12858415 -1.46482551 0.0693133324 0.777396977 1.07558072 0.340582967 0.0809331089 -0.0701584071 -0.287197918 1.04647195 1.60016203 -1 +-0.380901664 -0.458749413 -0.321130097 -0.0706853867 0.777591527 -0.285387874 -0.645119011 -0.138984799 -0.0489208549 0.641492307 -0.380901664 -0.458749413 -0.321130097 -0.373913974 0.182453066 1.69888759 -0.282984614 +0.0506933779 -0.510538638 -0.123266257 -0.645497322 0.926559091 1.001966 0.716074586 -0.535680711 0.411149025 -0.182976589 0.0506933779 -0.510538638 -0.123266257 -1.75860584 -1.62491369 -1.88943434 1 +-0.0789985061 -0.103988774 0.714094698 -0.228464857 -0.284123749 0.737117529 0.545635283 -0.611641705 -0.066642642 0.574349344 -0.0789985061 -0.103988774 0.714094698 -1.3325913 -0.411395609 -2.05828547 -0.148698688 +-0.227913186 0.386746585 0.0843975395 -0.0582125001 0.340621412 0.622386694 -0.3549456 -0.561874211 0.268385231 0.743736863 -0.227913186 0.386746585 0.0843975395 1.54611206 -0.0219879281 1.92515755 -0.487473726 +0.0984758809 0.330186605 0.2664271 -0.779345632 0.0950958952 0.385456026 -0.100950286 -0.770114422 -0.00563491881 1.05499041 0.0984758809 0.330186605 0.2664271 0.682038426 -0.0560947098 2.94016719 -1 +0.00338755781 -0.401611656 0.131016895 -0.519956946 -0.814333797 -0.137397155 0.103106141 -0.704899907 0.0209004357 -0.171783313 0.00338755781 -0.401611656 0.131016895 0.312479973 -0.0932386667 -2.48749089 1 +0.381503731 0.220525637 -0.434919208 -0.502228796 -0.964052022 0.182789922 -0.129865274 -0.1382294 -1.08585 1.19321442 0.381503731 0.220525637 -0.434919208 -1.11980557 1.55278563 -1.64003909 -1 +-0.503076613 0.254487485 -0.258611977 -0.662482023 0.43820861 -0.472971201 -0.614377856 -0.359015703 0.567963064 0.178076223 -0.503076613 0.254487485 -0.258611977 -0.322858572 1.10872698 2.13466501 0.643847585 +0.0107850563 -0.0968153775 -0.0749316067 -0.34086889 -0.956919551 0.0619860031 0.932893455 -0.252880156 0.0988536328 0.733485818 0.0107850563 -0.0968153775 -0.0749316067 0.0111862822 -0.142400876 -1.87252188 -0.466971636 +-0.161158815 0.439651191 0.161513314 -0.755494714 0.305499077 0.125068381 -0.510340393 -0.133168131 -0.645509005 0.928875983 -0.161158815 0.439651191 0.161513314 0.0355535857 -1.46290064 2.11764479 -0.857751966 +0.159908727 -0.14913027 0.498927295 -0.447493374 -0.249129489 -0.480707049 0.507362783 0.0247687474 -0.485143989 0.857610643 0.159908727 -0.14913027 0.498927295 0.388153434 1.51891673 -1.71570218 -0.715221286 +0.232229337 0.364070326 -0.252591491 -0.0566301569 0.841436386 0.433230847 -0.596303344 0.300824255 -0.667965055 0.0177835971 0.232229337 0.364070326 -0.252591491 -0.315531224 -1.03191936 1.27559161 0.964432836 +0.0209897459 -0.167640164 0.00764881587 -0.265909493 -1.34748936 -0.801297784 0.854237795 -0.523322165 0.638501346 -0.115251489 0.0209897459 -0.167640164 0.00764881587 0.932806373 -0.205894083 -1.81746829 1 +-0.183175787 -0.187364593 -0.29419139 -0.74206984 0.419429779 0.401882559 -0.450224638 -0.576085091 -0.497990698 0.954886615 -0.183175787 -0.187364593 -0.29419139 0.316977322 -0.906511486 2.40641809 -0.909773231 +0.0427344292 0.308795273 -0.709824979 -0.591960371 0.933019698 -0.348279297 -0.0115505233 -0.411563993 -1.08292353 0.630876422 0.0427344292 0.308795273 -0.709824979 -1.08243036 -1.31488574 1.9179796 -0.261752844 +-0.289139122 0.649502456 0.363993198 -0.334248275 0.0628346354 -0.741315603 0.725207865 -0.0978605226 -0.335182697 0.100246355 -0.289139122 0.649502456 0.363993198 1.11566067 1.49183536 -1.60396659 0.79950726 +-0.053558629 -0.275327981 -0.410909891 -0.580382288 -1.28578186 0.441353619 0.438702404 -0.482616365 -1.01131213 0.188507393 -0.053558629 -0.275327981 -0.410909891 -0.945055425 0.879680157 -1.90421915 0.622985244 +-0.0856488273 -0.04607087 0.269617915 -0.169352084 -0.809311569 -0.231859475 1.81243908 -0.76143539 -0.756866038 0.184160247 -0.0856488273 -0.04607087 0.269617915 -0.0310476068 0.483359814 -1.89506412 0.631679535 +0.396259248 0.0298984405 0.499410838 -0.867290318 -0.404110551 -0.516397536 0.650305152 -0.639917195 -0.591416538 0.312130988 0.396259248 0.0298984405 0.499410838 0.422815859 0.966041088 -2.35633945 0.375738025 +0.664738119 -0.0441827737 -0.197857767 -0.338523626 -0.238905713 -0.91690588 0.0521759018 -0.974387527 0.250983745 0.960395515 0.664738119 -0.0441827737 -0.197857767 1.69153082 -0.255102009 -2.41628957 -0.92079103 +-0.202596799 -0.0164965708 -0.27252993 -0.962705851 -0.96583879 0.403201967 0.963470578 -1.00772107 -0.592786789 0.831920683 -0.202596799 -0.0164965708 -0.27252993 -0.516148329 0.332222253 -2.30928373 -0.663841367 +0.160268098 -0.139096528 -0.168917477 0.038626343 0.059460789 0.0714895427 -0.352359086 -0.738624096 0.193369612 0.763601065 0.160268098 -0.139096528 -0.168917477 2.01720238 -0.182667688 1.69390607 -0.527202129 +-0.192309424 -0.278155833 0.578323662 -0.766044438 -0.483502746 0.490769565 0.0291345716 -0.756002307 -0.699331939 0.376594782 -0.192309424 -0.278155833 0.578323662 -0.947298586 0.968466341 -2.51317334 0.246810436 +-0.349709988 0.246149048 0.123015098 -0.613117516 -0.352789462 0.336495936 -0.348344147 -0.102231324 -0.705717802 1.0188545 -0.349709988 0.246149048 0.123015098 -1.0409174 2.06980014 -2.10214925 -1 +0.115839228 -0.20128873 -0.0253508482 -0.866608441 0.28590402 -0.121368706 0.00333972368 -0.000849157572 -0.90557754 0.327536047 0.115839228 -0.20128873 -0.0253508482 -0.404966742 -2.06573105 2.08806229 0.344927907 +-0.0668038055 0.428242534 -0.000483990414 -1.19169843 0.343685448 -0.0482917354 0.065738827 -0.684878349 1.12852192 -0.0873717591 -0.0668038055 0.428242534 -0.000483990414 0.246766061 1.47993517 2.57504082 1 +-0.687209308 0.498428077 0.36433515 -0.205943853 -0.440658182 -0.511520147 0.674862206 -0.118644059 -0.169499397 0.133421496 -0.687209308 0.498428077 0.36433515 0.569430888 0.819960475 -1.72140729 0.733157039 +-0.281350315 0.641547501 -0.00580608519 -0.189429656 -0.0464696065 -0.0538195632 -0.0349046029 -0.049207408 0.167017549 1.07982349 -0.281350315 0.641547501 -0.00580608519 0.555421948 -1.87575388 -2.43173099 -1 +0.0791753009 -0.421229452 0.520981789 -0.61004895 -0.308088154 0.393288672 -0.126696393 -0.770358264 -0.598761737 -0.125148743 0.0791753009 -0.421229452 0.520981789 -0.996679962 1.00032461 -2.64371037 1 +0.277045995 0.19219847 -0.131500661 -1.32466245 -0.790111184 -0.821508646 0.237963974 -0.180682123 -0.588414371 0.629876375 0.277045995 0.19219847 -0.131500661 0.106622107 1.45814788 -2.03146863 -0.25975275 +-0.0369389914 0.199264094 0.543379128 -0.17166993 0.81032908 0.044692032 -0.287633985 -0.018035436 -0.777844846 0.125522032 -0.0369389914 0.199264094 0.543379128 -0.820425332 -1.09627652 1.49790263 0.748955965 +-0.3986305 0.0172778051 0.193241879 -0.462802202 -0.828897417 0.271052539 0.413673878 0.0638988987 0.882659674 0.867327273 -0.3986305 0.0172778051 0.193241879 0.46350956 -1.33976507 -1.60439932 -0.734654546 +-0.291484118 -0.0581971519 0.0988867283 -0.350366443 0.882352054 -0.487408698 -0.358630955 -0.54952091 -0.705888867 0.695505738 -0.291484118 -0.0581971519 0.0988867283 -1.09302962 -0.663847923 1.96690345 -0.391011477 +-0.557819545 0.0116661778 0.421052247 -0.175263792 0.0354794636 -0.217599809 -0.569867134 -0.425119936 0.366833091 0.324621916 -0.557819545 0.0116661778 0.421052247 -0.956831753 1.09680009 2.16463947 0.350756168 +-0.42940411 -0.0244985521 0.0737751573 -0.145932302 0.946348965 0.645973682 -0.663661003 -0.600648761 0.730019987 1.05382144 -0.42940411 -0.0244985521 0.0737751573 1.13356602 0.323635876 1.80887187 -1 +0.200446457 -0.438606948 -0.175723463 -1.17369115 -0.106691167 0.466896385 -0.464665949 -0.114611007 -1.17070913 0.0534302741 0.200446457 -0.438606948 -0.175723463 0.496939749 -1.97558069 2.12859702 0.893139482 +0.0976596102 0.143493116 0.11158672 -1.15881705 -0.87482661 -0.321031809 0.23285456 -1.17231679 1.25548589 -0.192788884 0.0976596102 0.143493116 0.11158672 0.676459849 -1.02261662 -2.43027139 1 +0.353494316 0.0630261824 0.148755401 -0.730562508 1.09935439 -0.444689482 -1.05348492 -0.298038542 -0.796370864 0.196474269 0.353494316 0.0630261824 0.148755401 -0.594834268 -0.466176212 1.95629919 0.607051492 +-0.317491889 -0.0913549364 0.180778787 -0.705325305 -0.0492815748 -0.496165454 -0.238845438 -0.721107841 0.411155224 0.0290386081 -0.317491889 -0.0913549364 0.180778787 -0.898249149 0.850392222 2.75618935 0.941922784 +0.170825928 -0.0926018804 0.0712499171 -0.141215026 0.998543024 0.978741467 -1.37420976 -0.210807845 0.0346356109 1.09102166 0.170825928 -0.0926018804 0.0712499171 0.67565918 -0.547307909 1.62251651 -1 +-0.169226944 0.227557063 -0.0419211015 -1.29820108 -0.00330010056 0.481328249 -0.271675944 -1.12488604 -0.90414834 0.625699162 -0.169226944 0.227557063 -0.0419211015 0.496428996 -1.02948737 2.81866741 -0.251398325 +0.117625855 -0.197607353 0.286222905 -0.698357999 0.740970492 -0.389615417 0.314885497 -0.135008812 -0.498352647 -0.0708396733 0.117625855 -0.197607353 0.286222905 -1.28342104 -1.92982566 1.84399831 1 +-0.378071725 -0.00817213114 -0.164654672 -0.810808778 -0.633488536 0.440826654 0.771517813 -0.681793988 0.439276546 0.620426416 -0.378071725 -0.00817213114 -0.164654672 -0.299251974 -0.689328074 -2.30090213 -0.240852833 +0.0331322588 -0.152289242 -0.274938703 -0.498268098 0.457664996 -0.834459007 0.191299841 -0.869114637 -0.599149048 0.0273553282 0.0331322588 -0.152289242 -0.274938703 -1.53270578 -0.890057445 2.40363193 0.945289373 +0.400106043 -0.0244123358 -0.0358085036 -0.328416437 -0.813703656 0.319978118 0.851454973 0.135094076 0.737063885 0.220913991 0.400106043 -0.0244123358 -0.0358085036 0.184492365 -1.00007355 -1.58412135 0.558171988 +-0.31317836 0.0432074033 0.619534791 -0.406460166 -0.594392478 0.385047376 -0.606948972 -0.469277143 -0.338222325 0.0432311147 -0.31317836 0.0432074033 0.619534791 1.83509099 -1.73073769 1.84226775 0.913537741 +0.100000001 -0.200000003 0.300000012 1 0 0 0 1 0 1 0.100000001 -0.200000003 0.300000012 0 0 0 -1 +0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 diff --git a/tests/py/cosmos3_edge_parity.py b/tests/py/cosmos3_edge_parity.py new file mode 100644 index 00000000..8d936a78 --- /dev/null +++ b/tests/py/cosmos3_edge_parity.py @@ -0,0 +1,68 @@ +"""Cosmos3-Edge through libvla against the ggml-compiler runtime and the PyTorch reference, one case. + +Inputs come from ggml/check_stages.py (the cosmos3_edge_wam repo): `--out CASE.npz` writes CASE.npz (the f32 PyTorch +outputs) and CASE.npz.inputs.npz (canvas, input_ids, attention_mask, video_noise, action_noise). The two camera +views are the first two torch.rand draws of the generator seeded with --seed, as check_stages.py makes them. + + VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_parity.py --gguf M.gguf --inputs CASE.npz.inputs.npz \\ + --torch CASE.npz --seed 1 [--compiler-out REF.npz] +""" +import argparse, os, sys, tempfile +import numpy as np + +here = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, os.path.join(here, "..", "..", "bindings", "python")) + +ap = argparse.ArgumentParser() +ap.add_argument("--gguf", required=True) +ap.add_argument("--inputs", required=True) +ap.add_argument("--torch", required=True, help="CASE.npz, the f32 PyTorch outputs") +ap.add_argument("--seed", type=int, required=True) +ap.add_argument("--compiler-out", help="`ggml-compiler run` outputs of the same GGUF's source on the same inputs") +args = ap.parse_args() + +import torch # only to draw the same views as check_stages.py +tmp = tempfile.mkdtemp() +inp = np.load(args.inputs) +vn_path, canvas_path = os.path.join(tmp, "vn.f32"), os.path.join(tmp, "canvas.f32") +np.ascontiguousarray(inp["video_noise"], dtype=np.float32).tofile(vn_path) +os.environ["VLA_COSMOS3_VIDEO_NOISE"] = vn_path +os.environ["VLA_COSMOS3_DUMP_CANVAS"] = canvas_path + +import vla_cpp + +g = torch.Generator().manual_seed(args.seed) +views = [torch.rand(3, 256, 256, generator=g).permute(1, 2, 0).contiguous().numpy() for _ in range(2)] +n = int(inp["attention_mask"].sum()) +tokens = inp["input_ids"][0, :n].tolist() + +model = vla_cpp.load(args.gguf) +actions = model.predict(views, tokens, noise=inp["action_noise"].astype(np.float32).ravel(), + pixel_format=vla_cpp.PIXEL_F32_RGB_01, timing=1) +st = model.last_stats() +print(f"actions {actions.shape} total {st.ms_total:.0f} ms (vae {st.ms_vision:.0f}, prefill {st.ms_prefill:.0f}, denoise {st.ms_denoise:.0f})") + +canvas = np.fromfile(canvas_path, dtype=np.float32).reshape(inp["canvas"].shape) +diff = canvas != inp["canvas"] +print(f"canvas: {int(diff.sum())} of {diff.size} pixels differ from lerobot's" + + (f", max |d| {np.abs(canvas - inp['canvas']).max():.0f} levels" if diff.any() else " (identical)")) + +def err(a, b): + return float(np.abs(a - b).max() / max(1.0, np.abs(b).max())) + +ref = np.load(args.torch)["actions"].reshape(actions.shape) +comp = np.load(args.compiler_out)["actions"].reshape(actions.shape) if args.compiler_out else None + +def report(label, a): + line = f"[{label}] vs PyTorch f32: scaled error {err(a, ref):.3e}" + if comp is not None: + line += f"; vs ggml-compiler runtime: max|d| {np.abs(a - comp).max():.3e}, bit-identical {np.array_equal(a, comp)}" + print(line) + +report("two views, canvas built here", actions) + +# The same model on the canvas lerobot's processor made (one canvas-sized image): the engine alone. +lerobot_canvas = np.ascontiguousarray(np.transpose(inp["canvas"][0], (1, 2, 0)).astype(np.uint8)) +actions2 = model.predict([lerobot_canvas], tokens, noise=inp["action_noise"].astype(np.float32).ravel(), + pixel_format=vla_cpp.PIXEL_U8) +report("lerobot canvas passed in", actions2) diff --git a/tests/py/make_cosmos3_edge_fixtures.py b/tests/py/make_cosmos3_edge_fixtures.py new file mode 100644 index 00000000..5f8ab50a --- /dev/null +++ b/tests/py/make_cosmos3_edge_fixtures.py @@ -0,0 +1,96 @@ +# Copyright 2026 VinRobotics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Reference data for tests/cosmos3_edge_prompt_check.cpp, made with lerobot and Hugging Face's tokenizer. + + python tests/py/make_cosmos3_edge_fixtures.py --policy-dir \\ + --lerobot-src --out tests/data + + cosmos3_edge_prompts.tsv hex(task) hex(caption) ids every LIBERO task + edge cases: the caption of + Cosmos3PromptProcessorStep and the ids Cosmos3TokenizerProcessorStep gives + cosmos3_edge_bpe.tsv hex(text) ids random ASCII and word mixes with special tokens + cosmos3_edge_rot6d.tsv 10 floats 7 floats Cosmos3LiberoActionProcessorStep +""" +import argparse, glob, json, random, sys +from pathlib import Path + +ap = argparse.ArgumentParser() +ap.add_argument("--policy-dir", type=Path, required=True) +ap.add_argument("--lerobot-src", type=Path, required=True) +ap.add_argument("--out", type=Path, required=True) +args = ap.parse_args() +sys.path.insert(0, str(args.lerobot_src)) + +import torch +from transformers import AutoTokenizer +from lerobot.policies.cosmos3.processor_cosmos3 import ( + START_OF_GENERATION, Cosmos3LiberoActionProcessorStep, Cosmos3PromptProcessorStep, make_cosmos3_pre_post_processors) + +cfg = json.loads((args.policy_dir / "config.json").read_text()) +tok = AutoTokenizer.from_pretrained(str(args.policy_dir / "tokenizer")) +step = Cosmos3PromptProcessorStep(view_description=cfg["view_description"], fps=cfg["fps"], + chunk_size=cfg["chunk_size"], use_state=cfg["use_state"]) +args.out.mkdir(parents=True, exist_ok=True) + +def chat(prompt): + msgs = [{"role": "user", "content": [{"type": "text", "text": prompt}]}] + return tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True) + tok.eos_token + START_OF_GENERATION + +# --- prompts: every LIBERO task ------------------------------------------------------------------------------ +from libero.libero import benchmark +tasks = [] +for suite in ("libero_spatial", "libero_object", "libero_goal", "libero_10"): + b = benchmark.get_benchmark_dict()[suite]() + tasks += [b.get_task(i).language for i in range(b.get_num_tasks())] +tasks += ["", " Turn on the stove ", "open the drawer!", "what?", 'say "hi" and\tgo'] # edge cases of the caption +with open(args.out / "cosmos3_edge_prompts.tsv", "w") as f: + for t in tasks: + cap = step.caption(t, 192, 320, 0, cfg["fps"]) + ids = tok(chat(cap), add_special_tokens=False)["input_ids"] + f.write(t.encode().hex() + "\t" + cap.encode().hex() + "\t" + " ".join(map(str, ids)) + "\n") +print(len(tasks), "prompts") + +# --- BPE stress ------------------------------------------------------------------------------------------------- +rnd = random.Random(0) +alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 \t\n.,;:!?'\"-_/\\()[]{}<>@#$%^&*+=~`|" +words = ["Hello", "world's", "can't", "I've", "they'll", "ROBOT", "camelCase", "snake_case", "x86_64", "3.14159", "1234567", + "end.\n\n", " spaced out ", "a\r\nb", "<|im_start|>", "<|im_end|>", "", "[INST]", "https://x.org/a?b=c&d=e", + "", "", "<|vision_start|>", "\x0b\x0c", "a \n b"] +texts = ["".join(rnd.choice(alpha) for _ in range(rnd.randint(1, 80))) for _ in range(400)] +texts += [" ".join(rnd.choice(words) for _ in range(rnd.randint(1, 12))) for _ in range(150)] +with open(args.out / "cosmos3_edge_bpe.tsv", "w") as f: + for t in texts: + f.write(t.encode().hex() + "\t" + " ".join(map(str, tok(t, add_special_tokens=False)["input_ids"])) + "\n") +print(len(texts), "bpe texts") + +# --- rot6d ------------------------------------------------------------------------------------------------------ +act = Cosmos3LiberoActionProcessorStep() +g = torch.Generator().manual_seed(0) +rows = [] +for k in range(60): + q, _ = torch.linalg.qr(torch.randn(3, 3, generator=g)) + if torch.det(q) < 0: + q[:, 0] = -q[:, 0] + r6 = torch.cat([q[:, 0], q[:, 1]]) + noise = [0.0, 0.01, 0.1, 0.3][k % 4] + r6 = r6 * (1.0 + 0.3 * torch.randn(1, generator=g)) + noise * torch.randn(6, generator=g) + rows.append(torch.cat([torch.randn(3, generator=g) * 0.3, r6, torch.rand(1, generator=g) * 1.4 - 0.2])) +rows.append(torch.tensor([0.1, -0.2, 0.3, 1, 0, 0, 0, 1, 0, 1.0])) # identity rotation +rows.append(torch.tensor([0.0, 0.0, 0.0, 0, 1, 0, 1, 0, 0, 0.0])) # a half turn about (1,1,0)/sqrt2 minus rounding +x = torch.stack(rows).float() +y = act.action(x) +with open(args.out / "cosmos3_edge_rot6d.tsv", "w") as f: + for a, b in zip(x.tolist(), y.tolist()): + f.write(" ".join(f"{v:.9g}" for v in a) + "\t" + " ".join(f"{v:.9g}" for v in b) + "\n") +print(len(rows), "rot6d rows") diff --git a/tests/py/test_converters.py b/tests/py/test_converters.py index 4c7febd4..7d5c52cc 100644 --- a/tests/py/test_converters.py +++ b/tests/py/test_converters.py @@ -387,6 +387,54 @@ def __getitem__(self, key): assert "model.encoder.norm.weight" not in tensors.keys_read +def _cosmos3_edge_program(**over): + prog = { + "stages": [{"name": n} for n in ("vae_encode", "prefix", "init", "step", "finish")], + "inputs": [{"name": n} for n in ("canvas", "input_ids", "attention_mask", "video_noise", "action_noise")], + "values": [ + {"name": "canvas", "ne": [320, 192, 3, 1]}, + {"name": "input_ids", "ne": [192, 1]}, + {"name": "video_noise", "ne": [192, 200, 1]}, + {"name": "action_noise", "ne": [10, 16, 1]}, + ], + "driver": [ + {"op": "call", "stage": "vae_encode"}, + {"op": "loop", "n": 3, "scalars": [ + {"value": v, "values": [float(k), float(k) + 0.5, float(k) + 0.25]} + for k, v in enumerate(("t", "sigma", "E", "A", "B", "C", "D", "Fc", "Gc", "Hc")) + ]}, + ], + } + prog.update(over) + return prog + + +def test_cosmos3_edge_converter_program(): + _stub_deps() + sys.path.insert(0, str(SCRIPTS)) + import convert_cosmos3_edge_to_gguf as c + + info = c.parse_program(_cosmos3_edge_program()) + # sizes come from the compiler's ggml-order shapes (innermost first) + assert (info["canvas_h"], info["canvas_w"], info["prompt_len"]) == (192, 320, 192) + assert (info["video_tok"], info["video_dim"], info["horizon"], info["action_dim"]) == (200, 192, 16, 10) + # the table is [step][scalar]: row k holds step k's ten values, in the order of c.SCALARS + assert info["n_steps"] == 3 and len(info["table"]) == 3 + assert info["table"][0] == [float(j) for j in range(10)] + assert info["table"][1] == [j + 0.5 for j in range(10)] + + for bad in ( + _cosmos3_edge_program(stages=[{"name": "prefix"}]), + _cosmos3_edge_program(inputs=[{"name": "canvas"}]), + _cosmos3_edge_program(driver=[]), + ): + try: + c.parse_program(bad) + except SystemExit: + continue + raise AssertionError("a program that is not Cosmos3-Edge's was accepted") + + def test_quantize_skip_names(): import importlib Q = importlib.import_module("quantize_gguf") From fac749b19e4fd539750e7132d9c3abe3b560ee5f Mon Sep 17 00:00:00 2001 From: kvgkvg Date: Mon, 9 Nov 2026 10:47:59 +0700 Subject: [PATCH 02/17] docs: Cosmos3-Edge build, input contract and what is checked README support-matrix row (CPU and CUDA marked in progress: no GGUF is released), CHANGELOG entry, the 256-wide two-view size in CONTRIBUTING's predict_check list, and docs/MODELS.md#cosmos3-edge-world-action-model with the four build steps, the inputs and outputs, the limits (ASCII text, one fixed setup) and the numbers behind each claim, including the ones that do not settle anything (20 closed-loop episodes). --- CHANGELOG.md | 15 ++++++++++++ CONTRIBUTING.md | 2 +- README.md | 1 + docs/MODELS.md | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0fd476d..95312126 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,21 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke ### Added +- **New model: Cosmos3-Edge** (`lerobot/Cosmos3-Edge-Policy-LIBERO`, a world-action model: a 28-layer + Mixture-of-Transformers denoises 4 latent video frames and a 16-step action chunk together, 30 UniPC + steps). The five stage graphs (Wan2.2 VAE encoder, prompt prefix, init, one UniPC step, de-normalization) + were generated by ggml-compiler and are used as generated (`src/models/cosmos3_edge_graphs.cpp`, ported by + `scripts/port_cosmos3_graphs.py`); `src/models/cosmos3_edge.cpp` is the engine around them, including the + canvas the model expects (two views side by side, bicubic with antialias, reflection padding). + `src/models/cosmos3_edge_prompt.cpp` builds the prompt from the instruction (JSON caption, chat template, + a byte-level BPE read from the GGUF; ASCII text only) and decodes rot6d to LIBERO commands, so + `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_edge_to_gguf.py` turns a `ggml-compiler compile` + output into the GGUF with the weights byte for byte (`--policy-dir` adds the tokenizer). On CPU and CUDA, + fed lerobot's canvas, the engine is bit-identical to ggml-compiler's runtime; captions, token ids and the + action decode match lerobot and Hugging Face on every LIBERO task; a 20-episode closed-loop smoke test on + libero_spatial succeeded in 19 episodes with the C++ canvas, tokenizer and decode in the loop. Only CPU and + CUDA were tried. See `docs/MODELS.md#cosmos3-edge-world-action-model` for the build, the input contract + and what is and is not checked. - **Hexagon NPU on the Qualcomm Dragonwing IQ-10 (Linux).** `scripts/build_linux_hexagon.sh` cross-builds vla.cpp with `GGML_HEXAGON=ON` in Qualcomm's toolchain container, `vla-server` included. On the IQ-10 (v81, diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a2cdd710..f6ae2e7e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,7 @@ case say so in the commit message and back it with a LIBERO sweep. `VLA_IMG_SIZE` must match the model or `predict` returns empty: 512 for SmolVLA, 448 for Evo-1, 256 for GR00T N1.7 and VLA-JEPA, 256 with 2 views for -TurboVLA, 224 for the rest. Other knobs: `VLA_BENCH_ITERS` (timing), +TurboVLA and Cosmos3-Edge, 224 for the rest. Other knobs: `VLA_BENCH_ITERS` (timing), `VLA_TIMING=phase`, `VLA_EXTRA_TOKEN` / `VLA_EXTRA_COUNT` (VLA-JEPA needs its `` tokens; Octo needs exactly 16 tokens, so `VLA_EXTRA_TOKEN=0 VLA_EXTRA_COUNT=10`), `VLA_OCTO_UNNORM_DATASET` (Octo, e.g. diff --git a/README.md b/README.md index 0cacbd2e..2d1c5d5e 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,7 @@ Use [ggml-compiler](https://github.com/khanhnd61-vr/ggml-compiler) and follow [t | [Octo-Small](https://hf.co/vrfai/octo-small-libero-gguf) | Y | Y | Y | Y | Y | - | Y | | [TurboVLA](https://hf.co/vrfai/turbovla-libero-gguf) | Y | Y | Y | Y | Y | Y | Y | | [ACT](https://hf.co/ravediamond/act-aloha-sim-transfer-cube-gguf) | Y | Y | Y | ~ | Y | ~ | ~ | +| [Cosmos3-Edge](docs/MODELS.md#cosmos3-edge-world-action-model) (WAM) | ~ | ~ | - | - | - | - | - | Legend: `Y` = supported (released and benchmarked), `~` = in progress, `-` = planned. diff --git a/docs/MODELS.md b/docs/MODELS.md index 75b8b3c7..7d617278 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -69,3 +69,67 @@ python scripts/foldquant_fake_export.py --in model-bf16.gguf --out model-fq.gguf python scripts/inspect_gguf_quant.py model-fq.gguf ./build/vla-bench --ckpt model-fq.gguf --images 1 --size 256 --tokens 16 ``` + +## Cosmos3-Edge (world-action model) + +Cosmos3-Edge (`lerobot/Cosmos3-Edge-Policy-LIBERO`) is not converted from its safetensors like the other +models. Its graphs were generated by [ggml-compiler](https://github.com/khanhnd61-vr/ggml-compiler) from a +PyTorch statement of the inference path, and they read their weights by the compiler's own names, so the +weights come from the same compile. Four steps: + +```bash +# 1. in the model's repo (cosmos3_edge_wam): compile with the bf16 policy (the checkpoint's own values) +ggml-compiler compile ggml/export.py:program --out out/cosmos3 --emit gguf,cpp --name cosmos3 \ + --policy ggml/policy-bf16.yaml +# 2. regenerate the graph source only if export.py or the architecture changed (the checked-in one is from +# revision 0a81054; revision 9d4de43 has the same 649 tensors, names and shapes and runs with it unchanged) +python scripts/port_cosmos3_graphs.py --in out/cosmos3/cpp/cosmos3.cpp --out src/models/cosmos3_edge_graphs.cpp +# 3. the vla.cpp GGUF: tensors copied byte for byte, the sizes, the 30 per-step UniPC scalars, and with +# --policy-dir (the checkpoint's directory) the tokenizer and caption settings for --text +python scripts/convert_cosmos3_edge_to_gguf.py --ckpt out/cosmos3/model.gguf --policy-dir \ + --out cosmos3-edge-bf16.gguf +# 4. run +./build/vla-cli --ckpt cosmos3-edge-bf16.gguf --image third_person.png --image wrist.png \ + --text "turn on the stove" --libero --pretty +``` + +**Inputs.** Two camera views in the order `[third person, wrist]`, of any size: each is resized to 256x256 with +antialias, composed side by side and fit into the 192x320 canvas the way lerobot's +`Cosmos3VideoCanvasProcessorStep` does. Or one 320x192 image that the caller composed itself. The +instruction goes in as `--text`, which builds the JSON caption and the chat template of +`Cosmos3PromptProcessorStep` and tokenizes it with the model's byte-level BPE (in the GGUF when it was +converted with `--policy-dir`); or as `--tokens` ids from lerobot. The text must be ASCII; anything else is +refused. `noise` is the 16x10 action noise (random if omitted, or `VLA_COSMOS3_SEED`); the video noise is +drawn here from a seed that follows it (`VLA_COSMOS3_VIDEO_NOISE=` replaces it). + +**Output.** The 16x10 chunk in dataset units, `[dpos(3), rot6d(6), gripper]`. `vla-cli --libero` prints the +LIBERO command `[dpos(3), axis-angle(3), gripper]` instead (lerobot's `Cosmos3LiberoActionProcessorStep`); +through `libvla` the caller decodes the rot6d. The weight types, the solver and the 30 steps are fixed by the +compiled graphs, so `--weight-dtype`, `--act-dtype`, `--flash-attn`, `--mm-prec-f32` and `--num-steps` are +refused. It is specialized to this model: two views, a 192x320 canvas, prompts of at most 192 tokens, domain 5 +(LIBERO), no robot state and no guidance; another setup needs a new compile. + +**What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3090 only): + +- *The engine.* Given lerobot's canvas, its output is bit-identical to ggml-compiler's runtime: on CPU for three + prompts of 150, 153 and 161 tokens, on CUDA for one (`tests/py/cosmos3_edge_parity.py`). The same graphs, run + through ggml-compiler's runtime on all of LIBERO (2,000 episodes), reached 96.45% against 96.6% for the + PyTorch policy in bf16. +- *The prompt.* For the 40 LIBERO tasks and five edge cases the caption is byte-identical to lerobot's and + the ids to Hugging Face's, and 550 random ASCII and special-token texts tokenize identically + (`test_cosmos3_edge_prompt`, data in `tests/data`). llama.cpp's BPE (`b11223`, pre-tokenizer `tekken`, which uses + a rewritten approximation of the model's regex) gave the same ids on 607 of 607 texts, so the in-tree tokenizer + was cross-checked against both. It implements the ASCII letter classes only, hence the ASCII limit. +- *The action decode.* rot6d to axis-angle matches lerobot's to 7e-7 on 62 rows. +- *The canvas.* The C++ canvas matches torch's CPU result to within one pixel of 184,320 on random images. It + differs from the canvas lerobot makes on a GPU in about 30 pixels, by one level each, as torch's own CPU and + CUDA results do; in the closed loop, on real frames, a mean of 46 pixels (0.025%) differ from lerobot's CPU + canvas, a count that does not say by how much. The effect on the actions is about 1e-3 to 2e-3, the size of + the bf16 rounding (PyTorch's own bf16 run is further from its f32 run than this engine is). +- *Closed loop, libero_spatial, 2 episodes per task (20 episodes, seed 0).* Through this engine with lerobot's + canvas and tokens: 18 of 20. With vla.cpp's own canvas, tokens and rot6d decode in the loop: 19 of 20, with + 0 token mismatches in 168 calls. Twenty episodes cannot separate these from each other or from the PyTorch + baseline. + +Not checked: ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server`; and a full 50-episode-per-task LIBERO run +through vla.cpp itself. From 50ef228f8bffe3841d2c0ed53ddba3f0054d63e2 Mon Sep 17 00:00:00 2001 From: kvgkvg Date: Mon, 9 Nov 2026 11:18:24 +0700 Subject: [PATCH 03/17] Serve Cosmos3-Edge through vla-server: a client preset and a server check vla-server needs no change for this model: it passes the images, token ids and noise of a request to predict() for any architecture, and Cosmos3-Edge fits its checks (no state, a 16x10 noise and response, a warm-up its engine accepts). The server has no text field, so the client sends token ids. eval/client/vla_cpp_client.py gets a `cosmos3_edge` preset: it builds the JSON caption of lerobot's Cosmos3PromptProcessorStep and the chat template of Cosmos3TokenizerProcessorStep with the policy's tokenizer, sends the two 256x256 views as float RGB, and decodes the 16x10 rot6d chunk to 16 LIBERO commands (numpy, float64, as lerobot's Cosmos3LiberoActionProcessorStep does). Use it with --n-action-steps 16. tests/py/cosmos3_edge_server_check.py checks a running server, bit for bit against a direct libvla call, and the client's tokens, rot6d decode and get_action. Verified, bf16 GGUF of revision 0a81054, CPU only: a request returns bit-identical actions to a direct call (after a 62 s warm-up); the client builds the same 150 token ids as the case's; its rot6d decode is within 7e-7 of lerobot's on 62 rows; get_action returns a chunk of 16 finite LIBERO commands. No other arch touched; ctest 11/11. Not verified: the server on a GPU, a closed-loop LIBERO run through the server, eval/run_libero.sh (no Cosmos3-Edge block until there is a released model directory). --- CHANGELOG.md | 6 +- docs/MODELS.md | 23 ++++- eval/client/vla_cpp_client.py | 119 ++++++++++++++++++++++++++ tests/py/cosmos3_edge_server_check.py | 118 +++++++++++++++++++++++++ 4 files changed, 262 insertions(+), 4 deletions(-) create mode 100644 tests/py/cosmos3_edge_server_check.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 95312126..fd003b12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,8 +18,10 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke output into the GGUF with the weights byte for byte (`--policy-dir` adds the tokenizer). On CPU and CUDA, fed lerobot's canvas, the engine is bit-identical to ggml-compiler's runtime; captions, token ids and the action decode match lerobot and Hugging Face on every LIBERO task; a 20-episode closed-loop smoke test on - libero_spatial succeeded in 19 episodes with the C++ canvas, tokenizer and decode in the loop. Only CPU and - CUDA were tried. See `docs/MODELS.md#cosmos3-edge-world-action-model` for the build, the input contract + libero_spatial succeeded in 19 episodes with the C++ canvas, tokenizer and decode in the loop. `vla-server` + serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset (tokens from the caption + and chat template, rot6d decoded to LIBERO commands); a request to the server returned the same bits as a + direct call (CPU). Only CPU and CUDA were tried, the server on CPU only. See `docs/MODELS.md#cosmos3-edge-world-action-model` for the build, the input contract and what is and is not checked. - **Hexagon NPU on the Qualcomm Dragonwing IQ-10 (Linux).** `scripts/build_linux_hexagon.sh` cross-builds vla.cpp with `GGML_HEXAGON=ON` diff --git a/docs/MODELS.md b/docs/MODELS.md index 7d617278..fb6e4e62 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -109,6 +109,19 @@ compiled graphs, so `--weight-dtype`, `--act-dtype`, `--flash-attn`, `--mm-prec- refused. It is specialized to this model: two views, a 192x320 canvas, prompts of at most 192 tokens, domain 5 (LIBERO), no robot state and no guidance; another setup needs a new compile. +**Serving.** `vla-server` needs no change for this model: it hands the images, token ids and noise of a request to +`predict()` whatever the architecture is, and Cosmos3-Edge fits its checks (no state, a 16x10 noise, a 16x10 +response; the start-up warm-up of two 224x224 views and 32 made-up tokens runs). The server has no text field, so +the client sends token ids. `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset that builds them (the caption +and chat template of lerobot's prompt step, with the policy's tokenizer), sends the two 256x256 views as float RGB, +and decodes the 16x10 rot6d chunk it gets back to 16 LIBERO commands: + +```bash +./build/vla-server cosmos3-edge-bf16.gguf # -DVLA_BUILD_SERVER=ON +python eval/client/run_sim_client_direct.py --arch cosmos3_edge --n-action-steps 16 \ + --tokenizer /tokenizer ... # nvidia/Cosmos3-Edge if reachable +``` + **What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3090 only): - *The engine.* Given lerobot's canvas, its output is bit-identical to ggml-compiler's runtime: on CPU for three @@ -131,5 +144,11 @@ refused. It is specialized to this model: two views, a 192x320 canvas, prompts o 0 token mismatches in 168 calls. Twenty episodes cannot separate these from each other or from the PyTorch baseline. -Not checked: ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server`; and a full 50-episode-per-task LIBERO run -through vla.cpp itself. +- *The server* (CPU, the older revision `0a81054`, `tests/py/cosmos3_edge_server_check.py`). A request for one + case returns exactly what a direct `libvla` call returns on the same inputs (bit-identical), after a warm-up of + 62 s. The client builds the same 150 token ids as the case's, its numpy rot6d decode matches lerobot's to 7e-7, + and `get_action` returned a whole chunk of 16 finite LIBERO commands. + +Not checked: ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server` on a GPU; a closed-loop LIBERO run through the +server (CPU takes about a minute per chunk, and `eval/run_libero.sh` has no Cosmos3-Edge block until there is a +released model directory for it); and a full 50-episode-per-task LIBERO run through vla.cpp itself. diff --git a/eval/client/vla_cpp_client.py b/eval/client/vla_cpp_client.py index 501176e8..232beb06 100644 --- a/eval/client/vla_cpp_client.py +++ b/eval/client/vla_cpp_client.py @@ -58,6 +58,12 @@ }, "gr00t_n1_7": {"image_size": 256, "tokenizer": "nvidia/Cosmos-Reason2-2B", "max_state_dim": 132}, + # Cosmos3-Edge (LIBERO): two 256x256 views, no state, a 16x10 rot6d chunk that the client turns into 16 LIBERO + # commands; run it with --n-action-steps 16 (the policy executes the whole chunk). The tokenizer is the one + # the policy was trained with (config.json tokenizer_name); a local copy works too (`tokenizer/` of the + # checkpoint) with --tokenizer. + "cosmos3_edge": {"image_size": 256, "tokenizer": "nvidia/Cosmos3-Edge", "max_state_dim": 0, "max_length": 192}, + "gr00t_n1_5": {"image_size": 224, "tokenizer": "lerobot/eagle2hg-processor-groot-n1p5", "max_state_dim": 64, "trust_remote_code": True}, @@ -91,6 +97,60 @@ + "." ) +# Cosmos3-Edge: the prompt is lerobot's Cosmos3PromptProcessorStep caption in the chat template of +# Cosmos3TokenizerProcessorStep, for the canvas this GGUF was compiled for (src/models/cosmos3_edge.cpp). +COSMOS3_EDGE_N_VIEWS = 2 +COSMOS3_EDGE_CHUNK = 16 +COSMOS3_EDGE_FPS = 20.0 +COSMOS3_EDGE_CANVAS = (192, 320) +COSMOS3_EDGE_ASPECT = "16,9" +COSMOS3_EDGE_CONCAT_VIEW = "This video contains concatenated views from multiple camera perspectives." +COSMOS3_EDGE_VIEW_DESCRIPTION = ("The left half shows the third-person view; " + "the right half shows the wrist-mounted camera.") +COSMOS3_EDGE_START_OF_GENERATION = "<|vision_start|>" + + +def _cosmos3_edge_caption(task: str) -> str: + task = task.strip() + if not task: + return "" + if not task.endswith((".", "!", "?")): + task = f"{task}." + duration = (COSMOS3_EDGE_CHUNK + 1) / COSMOS3_EDGE_FPS + rounded = round(duration) + framing = " ".join(t for t in (COSMOS3_EDGE_CONCAT_VIEW, COSMOS3_EDGE_VIEW_DESCRIPTION.strip()) if t) + return json.dumps({ + "cinematography": {"framing": framing}, + "actions": [{"time": f"0:00-{rounded // 60}:{rounded % 60:02d}", "description": task, + "idle_frame": f"0 out of {COSMOS3_EDGE_CHUNK}."}], + "duration": f"{int(duration)}s", + "fps": float(int(COSMOS3_EDGE_FPS)), + "resolution": {"H": COSMOS3_EDGE_CANVAS[0], "W": COSMOS3_EDGE_CANVAS[1]}, + "aspect_ratio": COSMOS3_EDGE_ASPECT, + }) + + +def _cosmos3_edge_libero(chunk: np.ndarray) -> np.ndarray: + """[16, 10] rot6d rows -> [16, 7] LIBERO commands, as lerobot's Cosmos3LiberoActionProcessorStep does: + the two columns and their cross product make a matrix, projected onto SO(3) by an SVD, then converted to an + axis-angle vector (all in float64); the gripper goes from 1 open / 0 closed to -1 open / +1 closed.""" + a = np.asarray(chunk, dtype=np.float64) + first, second = a[:, 3:6], a[:, 6:9] + m = np.stack([first, second, np.cross(first, second)], axis=-1) # columns + u, _, vh = np.linalg.svd(m) + reflection = np.linalg.det(u @ vh) < 0 + u = np.where(reflection[:, None, None], u * np.array([1.0, 1.0, -1.0]), u) + r = u @ vh + skew = np.stack([r[:, 2, 1] - r[:, 1, 2], r[:, 0, 2] - r[:, 2, 0], r[:, 1, 0] - r[:, 0, 1]], -1) + sin_a = np.linalg.norm(skew, axis=-1) / 2 + cos_a = (np.trace(r, axis1=-2, axis2=-1) - 1) / 2 + angle = np.arctan2(sin_a, cos_a) + scale = np.where(sin_a > 1e-8, angle / np.maximum(sin_a, 1e-8), 1.0) + axis_angle = skew * scale[:, None] / 2 + gripper = np.clip(1.0 - 2.0 * a[:, 9:], -1.0, 1.0) + return np.concatenate([a[:, :3], axis_angle, gripper], axis=-1).astype(np.float32) + + def _load_pb(): if "vla_pb2" in sys.modules: @@ -670,6 +730,8 @@ def _predict_chunk(self, observations: dict[str, Any]) -> np.ndarray: if self.arch == "turbovla": return self._predict_chunk_turbovla(observations) + if self.arch == "cosmos3_edge": + return self._predict_chunk_cosmos3_edge(observations) if self.arch == "evo1": return self._predict_chunk_evo1(observations) if self.arch == "gr00t_n1_7": @@ -820,6 +882,63 @@ def _predict_chunk_turbovla(self, observations: dict[str, Any]) -> np.ndarray: ) return self._turbovla_action_unnorm(chunk) + def _cosmos3_edge_prompt_ids(self, task: str) -> list[int]: + """Token ids of the prompt of `task`, as Cosmos3TokenizerProcessorStep.encode builds them: one user turn + in the chat template, the end-of-turn token and <|vision_start|>, no special tokens added.""" + messages = [{"role": "user", "content": [{"type": "text", "text": _cosmos3_edge_caption(task)}]}] + text = self.tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) + text += self.tok.eos_token + COSMOS3_EDGE_START_OF_GENERATION + return self.tok(text, add_special_tokens=False)["input_ids"] + + def _predict_chunk_cosmos3_edge(self, observations: dict[str, Any]) -> np.ndarray: + """Two views, the instruction as tokens, no state; the server returns a [16, 10] rot6d chunk in dataset + units (the engine de-normalizes), decoded here to [16, 7] LIBERO commands.""" + if len(self.image_keys) != COSMOS3_EDGE_N_VIEWS: + raise ValueError(f"Cosmos3-Edge takes {COSMOS3_EDGE_N_VIEWS} views [third person, wrist], " + f"got image keys {self.image_keys}") + images_f32: list[np.ndarray] = [] + for key in self.image_keys: + if key not in observations: + raise KeyError(f"Cosmos3-Edge image key {key!r} missing; got {list(observations)}") + image = observations[key] + if isinstance(image, torch.Tensor): + image = image.numpy() + image = np.asarray(image, dtype=np.float32) + if image.ndim != 3 or image.shape[0] != 3: + raise ValueError(f"{key}: expected CHW float32 [3,H,W] in [0,1], got {image.shape}") + images_f32.append(np.ascontiguousarray(np.transpose(image, (1, 2, 0)), dtype=np.float32)) + + task = observations.get("task", "") + if isinstance(task, bytes): + task = task.decode() + if not isinstance(task, str) or not task.strip(): + raise ValueError("Cosmos3-Edge requires a non-empty task instruction") + lang = self._cosmos3_edge_prompt_ids(task) + if len(lang) > self.max_length: + raise ValueError(f"the prompt is {len(lang)} tokens; the model was compiled for {self.max_length}") + + req = self.pb.PredictRequest() + req.request_id = self._step + self._step += 1 + for image in images_f32: + proto_image = req.images.add() + proto_image.encoding = self.pb.Image.F32_RGB_01 + proto_image.height, proto_image.width = image.shape[:2] + proto_image.data = image.tobytes() + req.lang_tokens.extend(lang) + # no state, and no noise: the server samples it + + self.sock.send(req.SerializeToString()) + resp = self.pb.PredictResponse() + resp.ParseFromString(self.sock.recv()) + if resp.error: + raise RuntimeError(f"vla-server error: {resp.error}") + self._last_response = resp + chunk = np.array(resp.action_chunk, dtype=np.float32).reshape(resp.chunk_size, resp.action_dim) + if chunk.shape != (COSMOS3_EDGE_CHUNK, 10): + raise RuntimeError(f"expected a 16x10 chunk from the Cosmos3-Edge server, got {chunk.shape}") + return _cosmos3_edge_libero(chunk) + _VJ_PS, _VJ_TPS, _VJ_MERGE, _VJ_SIDE = 16, 2, 2, 256 @classmethod diff --git a/tests/py/cosmos3_edge_server_check.py b/tests/py/cosmos3_edge_server_check.py new file mode 100644 index 00000000..15b233dd --- /dev/null +++ b/tests/py/cosmos3_edge_server_check.py @@ -0,0 +1,118 @@ +# Copyright 2026 VinRobotics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Cosmos3-Edge through a running vla-server. + +Start the server with the video noise of the case in a file, so that its answer is deterministic: + + VLA_COSMOS3_VIDEO_NOISE=vn.f32 ./build/vla-server --bind tcp://127.0.0.1:5599 cosmos3-edge-bf16-tok.gguf + +then (needs pyzmq, protobuf, torch, transformers, numpy and protoc): + + VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_server_check.py --addr tcp://127.0.0.1:5599 \\ + --gguf cosmos3-edge-bf16-tok.gguf --inputs CASE.npz.inputs.npz --seed 1 \\ + --task "turn on the stove" --tokenizer /tokenizer + +CASE.npz.inputs.npz and --seed are those of tests/py/cosmos3_edge_parity.py. Checks, in order: (1) the answer of +the server to a raw request is bit-identical to a direct libvla call on the same inputs; (2) VlaCppClient's tokens +for the task are the ids of the case; (3) its rot6d decode matches lerobot's on tests/data; (4) VlaCppClient.get_action +runs 16 steps through the server and returns finite LIBERO commands. +""" +import argparse, os, sys +from pathlib import Path + +import numpy as np + +root = Path(__file__).resolve().parents[2] +sys.path.insert(0, str(root / "bindings" / "python")) +sys.path.insert(0, str(root / "eval" / "client")) + +ap = argparse.ArgumentParser() +ap.add_argument("--addr", required=True) +ap.add_argument("--gguf", required=True) +ap.add_argument("--inputs", required=True) +ap.add_argument("--seed", type=int, required=True) +ap.add_argument("--task", required=True) +ap.add_argument("--tokenizer", required=True) +args = ap.parse_args() +os.environ.setdefault("VLA_COSMOS3_VIDEO_NOISE", "") # the direct call below needs the same file as the server's +if not os.environ["VLA_COSMOS3_VIDEO_NOISE"]: + raise SystemExit("set VLA_COSMOS3_VIDEO_NOISE to the file the server was started with") + +import torch +import vla_cpp +import vla_cpp_client as C + +inp = np.load(args.inputs) +n = int(inp["attention_mask"].sum()) +tokens = inp["input_ids"][0, :n].tolist() +noise = inp["action_noise"].astype(np.float32).ravel() +g = torch.Generator().manual_seed(args.seed) +views = [torch.rand(3, 256, 256, generator=g) for _ in range(2)] # CHW in [0, 1], as the env gives them +views_hwc = [v.permute(1, 2, 0).contiguous().numpy() for v in views] +fails = 0 + +# (1) raw request vs a direct call +pb = C._load_pb() +import zmq +sock = zmq.Context.instance().socket(zmq.REQ) +sock.setsockopt(zmq.RCVTIMEO, 600_000) +sock.connect(args.addr) +req = pb.PredictRequest() +req.request_id = 1 +for v in views_hwc: + im = req.images.add() + im.encoding = pb.Image.F32_RGB_01 + im.height, im.width = v.shape[:2] + im.data = v.tobytes() +req.lang_tokens.extend(tokens) +req.noise.extend(noise.tolist()) +sock.send(req.SerializeToString()) +resp = pb.PredictResponse() +resp.ParseFromString(sock.recv()) +assert not resp.error, resp.error +served = np.array(resp.action_chunk, dtype=np.float32).reshape(resp.chunk_size, resp.action_dim) +print(f"server: chunk {served.shape}, {resp.latency_ms_total:.0f} ms") + +model = vla_cpp.load(args.gguf) +direct = model.predict(views_hwc, tokens, noise=noise, pixel_format=vla_cpp.PIXEL_F32_RGB_01) +same = np.array_equal(served, direct) +print(f"(1) server vs direct libvla call: bit-identical {same}, max|d| {np.abs(served - direct).max():.3e}") +fails += not same + +# (2) the client's tokens, (3) its rot6d decode +client = C.VlaCppClient(args.addr, arch="cosmos3_edge", tokenizer_name=args.tokenizer, n_action_steps=16, + recv_timeout_ms=600_000) +mine = client._cosmos3_edge_prompt_ids(args.task) +ok_tok = mine == tokens +print(f"(2) client tokens for {args.task!r}: {len(mine)} ids, identical to the case's {ok_tok}") +fails += not ok_tok + +rows = [l.rstrip("\n").split("\t") for l in open(root / "tests" / "data" / "cosmos3_edge_rot6d.tsv")] +x = np.array([[float(t) for t in r[0].split()] for r in rows], dtype=np.float32) +want = np.array([[float(t) for t in r[1].split()] for r in rows], dtype=np.float32) +got = np.concatenate([C._cosmos3_edge_libero(x[i:i + 1]) for i in range(len(x))]) +d = float(np.abs(got - want).max()) +print(f"(3) client rot6d decode vs lerobot on {len(x)} rows: max|d| {d:.2e}") +fails += not d < 3e-6 + +# (4) get_action through the server, a whole chunk +obs = {"observation.images.image": views[0], "observation.images.image2": views[1], "task": args.task} +acts = [client.get_action(obs) for _ in range(16)] +a = np.stack(acts) +ok_run = a.shape == (16, 7) and bool(np.isfinite(a).all()) and bool((np.abs(a[:, 6]) <= 1.0).all()) +print(f"(4) get_action x16: {a.shape}, finite {np.isfinite(a).all()}, gripper in [-1, 1] {bool((np.abs(a[:, 6]) <= 1).all())}") +fails += not ok_run +print("PASS" if not fails else f"FAIL ({fails})") +sys.exit(1 if fails else 0) From 8ccb892ba2bf363e1c5eea6f4c20815214f20735 Mon Sep 17 00:00:00 2001 From: kvgkvg Date: Mon, 9 Nov 2026 11:32:53 +0700 Subject: [PATCH 04/17] eval: run Cosmos3-Edge from run_libero.sh run_libero.sh -m cosmos3_edge starts vla-server on cosmos3-edge-libero-gguf/cosmos3-edge-libero-bf16.gguf under the models directory, runs the LIBERO client with 16 action steps per chunk, and stops the server, like the other models. A missing model directory is skipped, so -m all is unaffected. The client needs a Python with LIBERO and a transformers that reads the policy's tokenizer, which the LIBERO venv of setup_libero.sh (transformers 4.51) may not: COSMOS3_EDGE_PYTHON picks another, as VLA_JEPA_PYTHON does for vla_jepa, and the LIBERO venv check is skipped when it is set. COSMOS3_EDGE_TOKENIZER names a local tokenizer/ directory, and the client waits 300 s per chunk by default (a chunk takes about a minute on a CPU). Verified, bf16 GGUF of revision 0a81054, CPU server, no other arch touched: libero_spatial task 0, one episode, through this script: solved in 79 steps (reward 1.00; server RSS 6.5 GB). One episode shows that the path works end to end, not a success rate. Not verified: the server on a GPU (both GPUs of the test machine were full), more than one episode. --- CHANGELOG.md | 3 ++- docs/MODELS.md | 16 ++++++++++++---- eval/run_libero.sh | 45 +++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 55 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd003b12..1595a842 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,8 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke libero_spatial succeeded in 19 episodes with the C++ canvas, tokenizer and decode in the loop. `vla-server` serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset (tokens from the caption and chat template, rot6d decoded to LIBERO commands); a request to the server returned the same bits as a - direct call (CPU). Only CPU and CUDA were tried, the server on CPU only. See `docs/MODELS.md#cosmos3-edge-world-action-model` for the build, the input contract + direct call (CPU), and `eval/run_libero.sh -m cosmos3_edge` solved a libero_spatial episode through it (CPU, one + episode). Only CPU and CUDA were tried, the server on CPU only. See `docs/MODELS.md#cosmos3-edge-world-action-model` for the build, the input contract and what is and is not checked. - **Hexagon NPU on the Qualcomm Dragonwing IQ-10 (Linux).** `scripts/build_linux_hexagon.sh` cross-builds vla.cpp with `GGML_HEXAGON=ON` diff --git a/docs/MODELS.md b/docs/MODELS.md index fb6e4e62..90f4d33a 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -122,6 +122,12 @@ python eval/client/run_sim_client_direct.py --arch cosmos3_edge --n-action-steps --tokenizer /tokenizer ... # nvidia/Cosmos3-Edge if reachable ``` +`eval/run_libero.sh -m cosmos3_edge` runs the whole flow (server, LIBERO client, stop) from a models directory that +holds `cosmos3-edge-libero-gguf/cosmos3-edge-libero-bf16.gguf`; a missing directory is skipped, so `-m all` is +unaffected. The client needs a Python with LIBERO and a transformers that reads the policy's tokenizer: +`COSMOS3_EDGE_PYTHON` picks it (default: the LIBERO venv of `eval/sim/libero/setup_libero.sh`, which pins an older +transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. + **What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3090 only): - *The engine.* Given lerobot's canvas, its output is bit-identical to ggml-compiler's runtime: on CPU for three @@ -147,8 +153,10 @@ python eval/client/run_sim_client_direct.py --arch cosmos3_edge --n-action-steps - *The server* (CPU, the older revision `0a81054`, `tests/py/cosmos3_edge_server_check.py`). A request for one case returns exactly what a direct `libvla` call returns on the same inputs (bit-identical), after a warm-up of 62 s. The client builds the same 150 token ids as the case's, its numpy rot6d decode matches lerobot's to 7e-7, - and `get_action` returned a whole chunk of 16 finite LIBERO commands. + and `get_action` returned a whole chunk of 16 finite LIBERO commands. Through `eval/run_libero.sh -m cosmos3_edge + -s libero_spatial` (task 0, one episode, CPU) the episode was solved in 79 steps. One episode shows that the + path works end to end; it says nothing about a success rate. -Not checked: ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server` on a GPU; a closed-loop LIBERO run through the -server (CPU takes about a minute per chunk, and `eval/run_libero.sh` has no Cosmos3-Edge block until there is a -released model directory for it); and a full 50-episode-per-task LIBERO run through vla.cpp itself. +Not checked: ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server` on a GPU; more than one closed-loop episode +through the server (CPU takes about a minute per chunk); and a full 50-episode-per-task LIBERO run through vla.cpp +itself. diff --git a/eval/run_libero.sh b/eval/run_libero.sh index 6b90d6ca..8c61f9d3 100644 --- a/eval/run_libero.sh +++ b/eval/run_libero.sh @@ -38,7 +38,7 @@ Usage: $(basename "$0") -i [-o ] [-n ] [- -m MODEL which model to run: smol | pi0 | pi05 | bit | evo1 | vla_adapter | openvla_oft | gr00t_n1_5 | gr00t_n1_6 | gr00t_n1_7 | - octo | turbovla | vla_jepa | all + octo | turbovla | vla_jepa | cosmos3_edge | all (default: all) -h show this help @@ -49,6 +49,10 @@ Env overrides: BIND_ADDR, CLIENT_ADDR, BITVLA_TOKENIZER, GR00T_N1_6_TOKENIZER, SERVER_BIN (prebuilt vla-server; setting it skips the build), VLA_JEPA_PYTHON (python for the vla_jepa client; it needs LIBERO and transformers>=5.4, default is the LIBERO venv), + COSMOS3_EDGE_PYTHON (python for the cosmos3_edge client, which needs LIBERO and a + transformers that reads the policy's tokenizer, default is the LIBERO venv), + COSMOS3_EDGE_TOKENIZER (the policy's tokenizer/ directory, default nvidia/Cosmos3-Edge + from the Hub), COSMOS3_EDGE_RECV_TIMEOUT_MS (client wait per chunk, default 300000), VLA_FIXED_NOISE_SEED (client-side noise, for paired A/B runs) EOF } @@ -74,9 +78,9 @@ done shift $((OPTIND - 1)) case "${MODEL}" in - smol|pi0|pi05|bit|evo1|vla_adapter|openvla_oft|gr00t_n1_5|gr00t_n1_6|gr00t_n1_7|octo|turbovla|vla_jepa|all) ;; + smol|pi0|pi05|bit|evo1|vla_adapter|openvla_oft|gr00t_n1_5|gr00t_n1_6|gr00t_n1_7|octo|turbovla|vla_jepa|cosmos3_edge|all) ;; *) - echo "ERROR: -m must be one of: smol | pi0 | pi05 | bit | evo1 | vla_adapter | openvla_oft | gr00t_n1_5 | gr00t_n1_6 | gr00t_n1_7 | octo | turbovla | vla_jepa | all (got '${MODEL}')" >&2 + echo "ERROR: -m must be one of: smol | pi0 | pi05 | bit | evo1 | vla_adapter | openvla_oft | gr00t_n1_5 | gr00t_n1_6 | gr00t_n1_7 | octo | turbovla | vla_jepa | cosmos3_edge | all (got '${MODEL}')" >&2 exit 1 ;; esac @@ -113,6 +117,9 @@ TASK_IDS="${TASK_IDS:-0 1 2 3 4 5 6 7 8 9}" PALIGEMMA_TOKENIZER="${PALIGEMMA_TOKENIZER:-}" VENV_PY="${REPO_ROOT}/eval/sim/libero/libero_uv/.venv/bin/python" VLA_JEPA_PYTHON="${VLA_JEPA_PYTHON:-${VENV_PY}}" +COSMOS3_EDGE_PYTHON="${COSMOS3_EDGE_PYTHON:-${VENV_PY}}" +COSMOS3_EDGE_TOKENIZER="${COSMOS3_EDGE_TOKENIZER:-}" +COSMOS3_EDGE_RECV_TIMEOUT_MS="${COSMOS3_EDGE_RECV_TIMEOUT_MS:-300000}" CLIENT="${REPO_ROOT}/eval/client/run_sim_client_direct.py" BIND_ADDR="${BIND_ADDR:-tcp://*:5555}" CLIENT_ADDR="${CLIENT_ADDR:-tcp://localhost:5555}" @@ -147,6 +154,7 @@ N_ACTION_STEPS_GR00T_N1_7="${N_ACTION_STEPS_GR00T_N1_7:-16}" # N1.7 H4 closeout N_ACTION_STEPS_OCTO="${N_ACTION_STEPS_OCTO:-4}" N_ACTION_STEPS_TURBOVLA="${N_ACTION_STEPS_TURBOVLA:-12}" N_ACTION_STEPS_VLA_JEPA="${N_ACTION_STEPS_VLA_JEPA:-7}" +N_ACTION_STEPS_COSMOS3_EDGE="${N_ACTION_STEPS_COSMOS3_EDGE:-16}" # Cosmos3-Edge executes the whole 16-action chunk mkdir -p "${OUTPUT_ROOT}" OUTPUT_ROOT="$(cd "${OUTPUT_ROOT}" && pwd)" @@ -175,7 +183,12 @@ if [[ ! -x "${SERVER_BIN}" ]]; then echo "ERROR: ${SERVER_BIN} not found after build." >&2 exit 1 fi -if [[ ! -x "${VENV_PY}" ]]; then +# The cosmos3_edge client may run in another python that has LIBERO (COSMOS3_EDGE_PYTHON), as vla_jepa's may. +need_libero_venv=1 +if [[ "${MODEL}" == cosmos3_edge && "${COSMOS3_EDGE_PYTHON}" != "${VENV_PY}" && -x "${COSMOS3_EDGE_PYTHON}" ]]; then + need_libero_venv=0 +fi +if (( need_libero_venv )) && [[ ! -x "${VENV_PY}" ]]; then echo "ERROR: LIBERO venv not found at ${VENV_PY}." >&2 echo " Run: bash eval/sim/libero/setup_libero.sh" >&2 exit 1 @@ -316,6 +329,15 @@ run_model() { if [[ "${arch}" == vla_jepa ]]; then client_py="${VLA_JEPA_PYTHON}" fi + # cosmos3_edge: the tokenizer is the policy's (nvidia/Cosmos3-Edge on the Hub unless a local copy is given), and + # a chunk takes seconds on a GPU but about a minute on a CPU, so the client waits longer than its 30 s default. + if [[ "${arch}" == cosmos3_edge ]]; then + client_py="${COSMOS3_EDGE_PYTHON}" + if [[ -n "${COSMOS3_EDGE_TOKENIZER}" ]]; then + client_extra+=(--tokenizer "${COSMOS3_EDGE_TOKENIZER}") + fi + client_extra+=(--recv-timeout-ms "${COSMOS3_EDGE_RECV_TIMEOUT_MS}") + fi # bitvla auto-loads tokenizer + dataset_statistics.json from the GGUF repo on # the Hub; only pass --tokenizer when BITVLA_TOKENIZER overrides with a local dir. @@ -552,5 +574,20 @@ if should_run vla_jepa; then fi fi +# cosmos3_edge: the GGUF of ggml-compiler's graphs (docs/MODELS.md#cosmos3-edge-world-action-model), which is not +# published yet, so a missing one is skipped instead of failing a sweep over all models. +if should_run cosmos3_edge; then + cosmos3_gguf="${MODELS_ROOT}/cosmos3-edge-libero-gguf/cosmos3-edge-libero-bf16.gguf" + if [[ ! -f "${cosmos3_gguf}" ]]; then + echo "[skip] cosmos3_edge: ${cosmos3_gguf} not found" + else + run_model cosmos3_edge \ + "${MODELS_ROOT}/cosmos3-edge-libero-gguf" \ + "${N_ACTION_STEPS_COSMOS3_EDGE}" \ + "" \ + "${cosmos3_gguf}" + fi +fi + echo "====================" echo "Done. Results under ${OUTPUT_ROOT}" From 5a02b2cc0ad9f1b0a6690553acda187a6ff1350d Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 13:27:19 +0700 Subject: [PATCH 05/17] cosmos3_edge: write the carries back inside the step graph, upload the 10 scalars as one tensor, size the stage arenas from the graph cap and drop the tensor-count pin --- scripts/convert_cosmos3_edge_to_gguf.py | 1 - src/models/cosmos3_edge.cpp | 40 ++++++++++++++----------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/scripts/convert_cosmos3_edge_to_gguf.py b/scripts/convert_cosmos3_edge_to_gguf.py index 0666b95f..a107a8f3 100644 --- a/scripts/convert_cosmos3_edge_to_gguf.py +++ b/scripts/convert_cosmos3_edge_to_gguf.py @@ -192,7 +192,6 @@ def main() -> int: "video_noise_tokens": video_tok, "video_noise_dim": video_dim, "num_steps": n_steps, "chunk_size": horizon, "action_dim": action_dim, "max_action_dim": 64, "n_scalars": len(SCALARS), "n_layers": 28, - "n_tensors_expected": len(reader.tensors), }) writer.add_string(KV("scalars"), json.dumps(list(SCALARS))) writer.add_string(KV("tensor_names"), string_of(reader, "ggml_compiler.tensor_names")) diff --git a/src/models/cosmos3_edge.cpp b/src/models/cosmos3_edge.cpp index e00e94b6..6dc88e27 100644 --- a/src/models/cosmos3_edge.cpp +++ b/src/models/cosmos3_edge.cpp @@ -23,7 +23,9 @@ // init(z0, video_noise, action_noise) -> the 8 values the denoising loop carries // step(carries, K/V, ..., 10 scalars) x 30 one UniPC update, the scalars per step // finish(xa) -> actions de-normalized (q01/q99), rot6d -// Values that cross stages stay in one device buffer; a graph writes its outputs into it with ggml_cpy. +// Values that cross stages stay in one device buffer; a graph writes its outputs into it with ggml_cpy. The +// step graph ends by copying its outputs back into the carries it read, so a denoising step is one graph +// compute and one upload of its 10 scalars, with no other host round trip. // // The input contract is the one of the compiled program (see docs/MODELS.md): two camera views, in the // order [third person, wrist], composed into the 192x320 canvas here exactly as lerobot's @@ -70,7 +72,7 @@ constexpr int kLayers = 28; constexpr int kPrefixOuts = kLayers * 2 + 3; // K and V per layer, bias, cos, sin constexpr int kScalars = 10; // t sigma E A B C D Fc Gc Hc constexpr int kStageCount = 5; -constexpr int kExpectedTensors = 649; +constexpr int kGraphNodes = 16384; // the cap of one stage graph; the largest (step) has about 2,200 nodes enum StageId { VAE = 0, PREFIX = 1, INIT = 2, STEP = 3, FINISH = 4 }; @@ -290,7 +292,8 @@ struct Cosmos3EdgeModelArch : public ModelArchBase { std::vector prefix_out; // kPrefixOuts ggml_tensor * carry_in[kCarries] = {}; ggml_tensor * carry_out[kCarries] = {}; - ggml_tensor * scalar[kScalars] = {}; + ggml_tensor * scalars_cur = nullptr; // [kScalars] of the current step + ggml_tensor * scalar[kScalars] = {}; // its elements, the step graph's parameters ggml_tensor * actions_out = nullptr; std::vector step_scalars; // [steps][kScalars] @@ -356,11 +359,8 @@ bool Cosmos3EdgeModelArch::load_weights(gguf_reader & g) { W[name] = t; names.push_back(name); } - if ((int) names.size() != kExpectedTensors) { - std::fprintf(stderr, "vla(cosmos3_edge): %zu weight tensors, the graphs were generated for %d; " - "regenerate them with scripts/port_cosmos3_graphs.py\n", names.size(), kExpectedTensors); - return false; - } + // Whether these are the weights the graphs were generated for is checked by the builders: a weight they + // look up and do not find fails the stage by name. buf_w = alloc_weights(ctx_w, backend); if (!buf_w) { std::fprintf(stderr, "vla(cosmos3_edge): cannot allocate the weights (%zu tensors)\n", names.size()); @@ -383,7 +383,9 @@ bool Cosmos3EdgeModelArch::build_stage(StageId id, int (*fn)(graphs::ggml_compil std::vector params, size_t n_out, std::vector & outs) { Stage & s = stage[id]; - ggml_init_params p = { (size_t) 96 << 20, nullptr, true }; + // Metadata only (no_alloc): room for the graph's tensors and the graph itself, as act.cpp sizes its arena. + ggml_init_params p = { ggml_tensor_overhead() * (size_t) kGraphNodes + ggml_graph_overhead_custom(kGraphNodes, false), + nullptr, true }; s.ctx = ggml_init(p); if (!s.ctx) return false; @@ -416,13 +418,15 @@ bool Cosmos3EdgeModelArch::build_all() { mask = state(GGML_TYPE_F32, prompt_len, 1); vnoise = state(GGML_TYPE_F32, vn_dim, vn_tokens, 1); anoise = state(GGML_TYPE_F32, adim, horizon, 1); - for (auto & t : scalar) - t = state(GGML_TYPE_F32, 1); + // The 10 scalars of a step are one tensor, uploaded once per step; the graph reads them as 1-element views. + scalars_cur = state(GGML_TYPE_F32, kScalars); + for (int j = 0; j < kScalars; j++) + scalar[j] = ggml_view_1d(ctx_s, scalars_cur, 1, (size_t) j * sizeof(float)); // Each stage: build, give every output a persistent home, add the copies to the graph. auto finish_graph = [&](StageId id, const std::vector & outs, const std::vector & dsts) { Stage & s = stage[id]; - s.gf = ggml_new_graph_custom(s.ctx, 16384, false); + s.gf = ggml_new_graph_custom(s.ctx, kGraphNodes, false); for (size_t i = 0; i < outs.size(); i++) ggml_build_forward_expand(s.gf, ggml_cpy(s.ctx, outs[i], dsts[i])); }; @@ -460,6 +464,11 @@ bool Cosmos3EdgeModelArch::build_all() { carry_out[i] = state_like(outs[(size_t) i]); } finish_graph(STEP, outs, std::vector(carry_out, carry_out + kCarries)); + // Then the carries of the next step: the outputs copied back into the tensors the step read. These + // are the last nodes of the graph, after every output is written, and a backend runs a graph's nodes + // in order, so the loop needs no device-to-device copies from the host. + for (int i = 0; i < kCarries; i++) + ggml_build_forward_expand(stage[STEP].gf, ggml_cpy(stage[STEP].ctx, carry_out[i], carry_in[i])); } // finish reads xa, the second carry. @@ -574,13 +583,10 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { if (!run(PREFIX) || !run(INIT)) return {}; const double t3 = now_ms(); - for (int k = 0; k < steps; k++) { - for (int j = 0; j < kScalars; j++) - ggml_backend_tensor_set(scalar[j], &step_scalars[(size_t) k * kScalars + (size_t) j], 0, sizeof(float)); + for (int k = 0; k < steps; k++) { // the step graph writes the next carries itself + ggml_backend_tensor_set(scalars_cur, &step_scalars[(size_t) k * kScalars], 0, ggml_nbytes(scalars_cur)); if (!run(STEP)) return {}; - for (int i = 0; i < kCarries; i++) - ggml_backend_tensor_copy(carry_out[i], carry_in[i]); } const double t4 = now_ms(); if (!run(FINISH)) From ac31a6d57238462e2739b49672418da1376413f4 Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 13:27:19 +0700 Subject: [PATCH 06/17] cosmos3_edge: match special tokens at every byte the GGUF's specials start with, not only '<' and '[' --- src/models/cosmos3_edge_prompt.cpp | 9 ++++++--- src/models/cosmos3_edge_prompt.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/models/cosmos3_edge_prompt.cpp b/src/models/cosmos3_edge_prompt.cpp index ae4f8019..d55484dd 100644 --- a/src/models/cosmos3_edge_prompt.cpp +++ b/src/models/cosmos3_edge_prompt.cpp @@ -216,8 +216,10 @@ bool Cosmos3Prompt::load(const gguf_reader & g) { raw += (char) it->second; k += (size_t) len; } - if (ok && !raw.empty()) + if (ok && !raw.empty()) { specials_.emplace_back(raw, (int32_t) i); + special_first_[(unsigned char) raw[0]] = true; + } } } std::stable_sort(specials_.begin(), specials_.end(), @@ -334,8 +336,9 @@ bool Cosmos3Prompt::bpe_segment(const std::string & text, std::vector & bool Cosmos3Prompt::encode(const std::string & text, std::vector & ids, std::string & err) const { size_t start = 0, i = 0; while (i < text.size()) { - const char c = text[i]; - if (c == '<' || c == '[') { + // A special token can start here only with a byte some special starts with (what the GGUF declares, + // whatever its spelling: '<' and '[' for the Cosmos3 tokenizer). + if (special_first_[(unsigned char) text[i]]) { const std::pair * hit = nullptr; for (const auto & sp : specials_) // longest first if (text.compare(i, sp.first.size(), sp.first) == 0) { diff --git a/src/models/cosmos3_edge_prompt.h b/src/models/cosmos3_edge_prompt.h index f277efd4..213d8d12 100644 --- a/src/models/cosmos3_edge_prompt.h +++ b/src/models/cosmos3_edge_prompt.h @@ -58,6 +58,7 @@ struct Cosmos3Prompt { std::unordered_map vocab_; // byte-level spelling -> id std::unordered_map rank_; // "left right" -> merge priority std::vector> specials_; // raw text -> id, longest first + bool special_first_[256] = {}; // bytes a special can start with std::string byte_str_[256]; // byte -> its byte-level character (UTF-8) // Caption settings. From 629f0ad00a1e2bdb8ae4f42753513584b242bd6b Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 13:27:19 +0700 Subject: [PATCH 07/17] convert_cosmos3_edge: take null, AddedToken and absent specials in tokenizer_config.json --- scripts/convert_cosmos3_edge_to_gguf.py | 21 +++++++++-- tests/py/test_converters.py | 48 +++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/scripts/convert_cosmos3_edge_to_gguf.py b/scripts/convert_cosmos3_edge_to_gguf.py index a107a8f3..fc220971 100644 --- a/scripts/convert_cosmos3_edge_to_gguf.py +++ b/scripts/convert_cosmos3_edge_to_gguf.py @@ -147,8 +147,23 @@ def add_tokenizer(writer, tok_dir: Path) -> None: raise SystemExit("the vocabulary has gaps") types = [1] * len(tokens) # llama.cpp: 1 normal, 2 unknown, 3 control, 4 user defined for a in d["added_tokens"]: + if a["id"] >= len(tokens): # the C++ reads the vocabulary's spellings; a token outside it has none + raise SystemExit(f"added token {a['content']!r} (id {a['id']}) is not in the vocabulary of {len(tokens)}") types[a["id"]] = 3 if a["special"] else 4 - types[vocab[cfg["unk_token"]]] = 2 + # The specials of tokenizer_config.json: a string, an AddedToken dict or null (a byte-level BPE needs no + # unknown token); one that is not a token is left out rather than guessed. + ids = dict(vocab) + ids.update((a["content"], a["id"]) for a in d["added_tokens"]) + + def special_id(name: str) -> int | None: + t = cfg.get(name) + if isinstance(t, dict): + t = t.get("content") + return ids.get(t) if isinstance(t, str) else None + + unk = special_id("unk_token") + if unk is not None: + types[unk] = 2 merges = [" ".join(x) if isinstance(x, list) else x for x in m["merges"]] writer.add_string("tokenizer.ggml.model", "gpt2") writer.add_string("tokenizer.ggml.pre", "tekken") @@ -157,7 +172,9 @@ def add_tokenizer(writer, tok_dir: Path) -> None: writer.add_array("tokenizer.ggml.merges", merges) for key, name in (("bos_token_id", "bos_token"), ("eos_token_id", "eos_token"), ("unknown_token_id", "unk_token"), ("padding_token_id", "pad_token")): - writer.add_uint32(f"tokenizer.ggml.{key}", vocab[cfg[name]]) + i = special_id(name) + if i is not None: + writer.add_uint32(f"tokenizer.ggml.{key}", i) writer.add_bool("tokenizer.ggml.add_bos_token", False) print(f"tokenizer: {len(tokens)} tokens, {len(merges)} merges, {sum(t in (3, 4) for t in types)} special") diff --git a/tests/py/test_converters.py b/tests/py/test_converters.py index 7d5c52cc..5214f0aa 100644 --- a/tests/py/test_converters.py +++ b/tests/py/test_converters.py @@ -435,6 +435,54 @@ def test_cosmos3_edge_converter_program(): raise AssertionError("a program that is not Cosmos3-Edge's was accepted") +def test_cosmos3_edge_converter_tokenizer(tmp_path): + """add_tokenizer takes the specials of tokenizer_config.json as strings, AddedToken dicts or null, and skips + one that is not a token, instead of indexing the vocabulary with them.""" + _stub_deps() + sys.path.insert(0, str(SCRIPTS)) + import json + import convert_cosmos3_edge_to_gguf as c + + vocab = {"a": 0, "b": 1, "": 2, "<|im_end|>": 3, "ab": 4} + (tmp_path / "tokenizer.json").write_text(json.dumps({ + "model": {"type": "BPE", "ignore_merges": True, "vocab": vocab, "merges": [["a", "b"]]}, + "added_tokens": [{"id": 2, "content": "", "special": True}, {"id": 3, "content": "<|im_end|>", "special": False}], + })) + (tmp_path / "tokenizer_config.json").write_text(json.dumps({ + "unk_token": None, # a byte-level BPE needs none + "bos_token": {"content": "", "special": True}, # an AddedToken dict + "eos_token": "<|im_end|>", + "pad_token": "", # not a token of this vocabulary + })) + + class W: + def __init__(self): self.kv = {} + def add_string(self, k, v): self.kv[k] = v + def add_uint32(self, k, v): self.kv[k] = v + def add_bool(self, k, v): self.kv[k] = v + def add_array(self, k, v): self.kv[k] = list(v) + + w = W() + c.add_tokenizer(w, tmp_path) + assert w.kv["tokenizer.ggml.tokens"] == ["a", "b", "", "<|im_end|>", "ab"] + assert w.kv["tokenizer.ggml.token_type"] == [1, 1, 3, 4, 1] # no unknown token marked + assert w.kv["tokenizer.ggml.merges"] == ["a b"] + assert w.kv["tokenizer.ggml.bos_token_id"] == 2 and w.kv["tokenizer.ggml.eos_token_id"] == 3 + assert "tokenizer.ggml.unknown_token_id" not in w.kv and "tokenizer.ggml.padding_token_id" not in w.kv + + # An added token outside the vocabulary has no byte-level spelling for the C++ to read: refused by name. + (tmp_path / "tokenizer.json").write_text(json.dumps({ + "model": {"type": "BPE", "ignore_merges": True, "vocab": vocab, "merges": []}, + "added_tokens": [{"id": 5, "content": "", "special": True}], + })) + try: + c.add_tokenizer(W(), tmp_path) + except SystemExit as e: + assert "" in str(e) + else: + raise AssertionError("an added token outside the vocabulary was accepted") + + def test_quantize_skip_names(): import importlib Q = importlib.import_module("quantize_gguf") From 580eae7ab576c153ca3d8c2937562e2aa9924055 Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 13:27:19 +0700 Subject: [PATCH 08/17] vla-cli: refuse --libero on other archs and an over-long Cosmos3-Edge prompt before loading the model --- src/serving/vla-cli.cpp | 17 +++++++++++------ src/tokenizer.cpp | 8 ++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/serving/vla-cli.cpp b/src/serving/vla-cli.cpp index e2e8c7b8..b651967a 100644 --- a/src/serving/vla-cli.cpp +++ b/src/serving/vla-cli.cpp @@ -347,6 +347,11 @@ int main(int argc, char ** argv) { std::fprintf(stderr, "vla-cli: %s takes no instruction; drop --text/--tokens\n", arch_slug(arch)); return 1; } + if (libero && arch != Arch::COSMOS3_EDGE) { + std::fprintf(stderr, "vla-cli: --libero decodes the 10-wide rot6d action of Cosmos3-Edge only; %s is %s\n", + ckpt.c_str(), arch_slug(arch)); + return 1; + } // Validate the cheap args before loading the model. std::vector lang; std::vector attn; // Octo only; empty leaves Inputs::attention_mask null. @@ -384,6 +389,11 @@ int main(int argc, char ** argv) { return 1; } const Config & cfg = model_config(m); + if (libero && cfg.max_action_dim != 10) { + std::fprintf(stderr, "vla-cli: --libero needs 10-wide actions, this model returns %lld\n", (long long) cfg.max_action_dim); + model_free(m); + return 1; + } if (!state.empty() && (int64_t) state.size() != cfg.max_state_dim) std::fprintf(stderr, "vla-cli: --state has %zu values, model expects %lld; padding or truncating\n", @@ -421,12 +431,7 @@ int main(int argc, char ** argv) { } int64_t cols = cfg.max_action_dim > 0 ? cfg.max_action_dim : 1; - if (libero) { - if (arch != Arch::COSMOS3_EDGE || cols != 10) { - std::fprintf(stderr, "vla-cli: --libero decodes the 10-wide rot6d action of Cosmos3-Edge only\n"); - model_free(m); - return 1; - } + if (libero) { // checked above: Cosmos3-Edge, 10 columns std::vector cmd; for (size_t r = 0; r + 10 <= act.size(); r += 10) { float row[7]; diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 0e9ba023..043324d7 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -159,6 +159,14 @@ bool tokenize_prompt(const std::string& ckpt_path, const char * arch, const std: std::fprintf(stderr, "vla(cosmos3_edge): cannot tokenize the instruction: %s\n", err.c_str()); return false; } + // The graphs take a fixed number of tokens. Refuse a longer prompt here, before the model is loaded, + // rather than truncate it: the chat template and <|vision_start|> are its last tokens. + const int prompt_len = (int) g.u32("cosmos3_edge.prompt_len"); + if (prompt_len > 0 && (int) ids.size() > prompt_len) { + std::fprintf(stderr, "vla(cosmos3_edge): the prompt is %zu tokens, the model takes at most %d; shorten the instruction\n", + ids.size(), prompt_len); + return false; + } attention_mask.clear(); return true; } From a04cc587ca471870d6b7082ef726027167bde59e Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 13:27:19 +0700 Subject: [PATCH 09/17] eval: the cosmos3_edge client reads the caption settings from the server's GGUF (--gguf) --- CHANGELOG.md | 3 +- docs/MODELS.md | 8 +-- eval/client/run_sim_client_direct.py | 6 +++ eval/client/vla_cpp_client.py | 76 +++++++++++++++++++++------ eval/run_libero.sh | 6 ++- tests/py/cosmos3_edge_server_check.py | 2 +- 6 files changed, 77 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1595a842..732a512d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,7 +20,8 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke action decode match lerobot and Hugging Face on every LIBERO task; a 20-episode closed-loop smoke test on libero_spatial succeeded in 19 episodes with the C++ canvas, tokenizer and decode in the loop. `vla-server` serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset (tokens from the caption - and chat template, rot6d decoded to LIBERO commands); a request to the server returned the same bits as a + and chat template, with the caption settings read from the server's GGUF through `--gguf`, rot6d decoded to + LIBERO commands); a request to the server returned the same bits as a direct call (CPU), and `eval/run_libero.sh -m cosmos3_edge` solved a libero_spatial episode through it (CPU, one episode). Only CPU and CUDA were tried, the server on CPU only. See `docs/MODELS.md#cosmos3-edge-world-action-model` for the build, the input contract and what is and is not checked. diff --git a/docs/MODELS.md b/docs/MODELS.md index 90f4d33a..44bad05c 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -113,13 +113,15 @@ refused. It is specialized to this model: two views, a 192x320 canvas, prompts o `predict()` whatever the architecture is, and Cosmos3-Edge fits its checks (no state, a 16x10 noise, a 16x10 response; the start-up warm-up of two 224x224 views and 32 made-up tokens runs). The server has no text field, so the client sends token ids. `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset that builds them (the caption -and chat template of lerobot's prompt step, with the policy's tokenizer), sends the two 256x256 views as float RGB, -and decodes the 16x10 rot6d chunk it gets back to 16 LIBERO commands: +and chat template of lerobot's prompt step, with the policy's tokenizer, and the caption settings read from the +server's GGUF with `--gguf`, the same `cosmos3_edge.caption.*` keys `vla-cli --text` uses; without `--gguf` it assumes +the LIBERO checkpoint's), sends the two 256x256 views as float RGB, and decodes the 16x10 rot6d chunk it gets back +to 16 LIBERO commands: ```bash ./build/vla-server cosmos3-edge-bf16.gguf # -DVLA_BUILD_SERVER=ON python eval/client/run_sim_client_direct.py --arch cosmos3_edge --n-action-steps 16 \ - --tokenizer /tokenizer ... # nvidia/Cosmos3-Edge if reachable + --gguf cosmos3-edge-bf16.gguf --tokenizer /tokenizer ... # nvidia/Cosmos3-Edge if reachable ``` `eval/run_libero.sh -m cosmos3_edge` runs the whole flow (server, LIBERO client, stop) from a models directory that diff --git a/eval/client/run_sim_client_direct.py b/eval/client/run_sim_client_direct.py index 7f3f8786..8c6c12c2 100644 --- a/eval/client/run_sim_client_direct.py +++ b/eval/client/run_sim_client_direct.py @@ -95,6 +95,11 @@ "it, gr00t_n1_7 returns the raw normalized [40, 132] chunk and gr00t_n1_6 " "returns the raw [50, 128] chunk (won't drive LIBERO).", ) + parser.add_argument( + "--gguf", type=str, default=None, + help="[cosmos3_edge] the GGUF vla-server runs: the caption settings (view description, fps, canvas, ...) " + "are read from it, so the prompt is the one the server's model was converted for.", + ) parser.add_argument( "--bitvla-unnorm-key", type=str, default=None, help="[bitvla/gr00t_n1_6/gr00t_n1_7] embodiment key inside dataset_statistics.json " @@ -120,6 +125,7 @@ n_action_steps=args.n_action_steps, stats_json=args.stats_json, bitvla_unnorm_key=args.bitvla_unnorm_key, + cosmos3_gguf=args.gguf, ) if args.arch == "evo1": client = Evo1PipelineAdapter(client=client) diff --git a/eval/client/vla_cpp_client.py b/eval/client/vla_cpp_client.py index 232beb06..1c441ec2 100644 --- a/eval/client/vla_cpp_client.py +++ b/eval/client/vla_cpp_client.py @@ -98,35 +98,65 @@ ) # Cosmos3-Edge: the prompt is lerobot's Cosmos3PromptProcessorStep caption in the chat template of -# Cosmos3TokenizerProcessorStep, for the canvas this GGUF was compiled for (src/models/cosmos3_edge.cpp). +# Cosmos3TokenizerProcessorStep. The caption's settings (view description, fps, chunk, canvas, aspect ratio, +# use_state) are the ones the GGUF was converted with (`cosmos3_edge.caption.*`, what src/models/cosmos3_edge_prompt.cpp +# reads for vla-cli --text), so the client reads them from the GGUF vla-server runs (--gguf). Without one it assumes +# the values of the published LIBERO checkpoint, and says so. COSMOS3_EDGE_N_VIEWS = 2 -COSMOS3_EDGE_CHUNK = 16 -COSMOS3_EDGE_FPS = 20.0 -COSMOS3_EDGE_CANVAS = (192, 320) -COSMOS3_EDGE_ASPECT = "16,9" COSMOS3_EDGE_CONCAT_VIEW = "This video contains concatenated views from multiple camera perspectives." -COSMOS3_EDGE_VIEW_DESCRIPTION = ("The left half shows the third-person view; " - "the right half shows the wrist-mounted camera.") COSMOS3_EDGE_START_OF_GENERATION = "<|vision_start|>" +COSMOS3_EDGE_LIBERO_SETTINGS = { # lerobot/Cosmos3-Edge-Policy-LIBERO, compiled for a 192x320 canvas + "view_description": "The left half shows the third-person view; the right half shows the wrist-mounted camera.", + "aspect_ratio": "16,9", "fps": 20.0, "use_state": False, "chunk_size": 16, + "canvas_h": 192, "canvas_w": 320, "prompt_len": 192, +} + +def _cosmos3_edge_settings(gguf_path: str | Path) -> dict: + """The caption settings of a Cosmos3-Edge GGUF (written by scripts/convert_cosmos3_edge_to_gguf.py --policy-dir).""" + try: + import gguf # llama.cpp's gguf-py + except ImportError as e: + raise ImportError("reading the GGUF needs the gguf package (pip install gguf)") from e + reader = gguf.GGUFReader(str(gguf_path)) + + def field(key: str, cast): + f = reader.fields.get(key) + if f is None: + raise KeyError(f"{gguf_path} has no {key}; convert it with --policy-dir") + v = f.parts[-1] + return bytes(v).decode() if cast is str else cast(v[0]) + + return { + "view_description": field("cosmos3_edge.caption.view_description", str), + "aspect_ratio": field("cosmos3_edge.caption.aspect_ratio", str), + "fps": field("cosmos3_edge.caption.fps", float), + "use_state": bool(field("cosmos3_edge.caption.use_state", int)), + "chunk_size": field("cosmos3_edge.chunk_size", int), + "canvas_h": field("cosmos3_edge.canvas_h", int), + "canvas_w": field("cosmos3_edge.canvas_w", int), + "prompt_len": field("cosmos3_edge.prompt_len", int), + } -def _cosmos3_edge_caption(task: str) -> str: + +def _cosmos3_edge_caption(task: str, s: dict) -> str: + """Cosmos3PromptProcessorStep.caption with 0 idle frames for the settings `s`, as the C++ builds it.""" task = task.strip() if not task: return "" if not task.endswith((".", "!", "?")): task = f"{task}." - duration = (COSMOS3_EDGE_CHUNK + 1) / COSMOS3_EDGE_FPS + duration = (s["chunk_size"] + 1) / s["fps"] rounded = round(duration) - framing = " ".join(t for t in (COSMOS3_EDGE_CONCAT_VIEW, COSMOS3_EDGE_VIEW_DESCRIPTION.strip()) if t) + framing = " ".join(t for t in (COSMOS3_EDGE_CONCAT_VIEW, s["view_description"].strip()) if t) return json.dumps({ "cinematography": {"framing": framing}, "actions": [{"time": f"0:00-{rounded // 60}:{rounded % 60:02d}", "description": task, - "idle_frame": f"0 out of {COSMOS3_EDGE_CHUNK}."}], + "idle_frame": f"0 out of {s['chunk_size'] + (1 if s['use_state'] else 0)}."}], "duration": f"{int(duration)}s", - "fps": float(int(COSMOS3_EDGE_FPS)), - "resolution": {"H": COSMOS3_EDGE_CANVAS[0], "W": COSMOS3_EDGE_CANVAS[1]}, - "aspect_ratio": COSMOS3_EDGE_ASPECT, + "fps": float(int(s["fps"])), + "resolution": {"H": s["canvas_h"], "W": s["canvas_w"]}, + "aspect_ratio": s["aspect_ratio"], }) @@ -219,6 +249,7 @@ def __init__( stats_json: str | Path | None = None, bitvla_unnorm_key: str | None = None, rel_stats_json: str | Path | None = None, + cosmos3_gguf: str | Path | None = None, ): if arch not in ARCH_PRESETS: raise ValueError(f"unknown arch {arch!r}; expected one of {sorted(ARCH_PRESETS)}") @@ -226,6 +257,17 @@ def __init__( tokenizer_name = tokenizer_name if tokenizer_name is not None else preset["tokenizer"] image_size = image_size if image_size is not None else preset["image_size"] max_state_dim = max_state_dim if max_state_dim is not None else preset.get("max_state_dim", 32) + # cosmos3_edge: the caption settings and the prompt length come from the GGUF the server runs. + self._cosmos3 = None + if arch == "cosmos3_edge": + if cosmos3_gguf: + self._cosmos3 = _cosmos3_edge_settings(cosmos3_gguf) + if max_length is None: + max_length = self._cosmos3["prompt_len"] + else: + self._cosmos3 = dict(COSMOS3_EDGE_LIBERO_SETTINGS) + print("vla-cpp-direct: no --gguf given; the caption is built with the settings of " + "lerobot/Cosmos3-Edge-Policy-LIBERO (pass the server's GGUF to read them from it)", flush=True) max_length = max_length if max_length is not None else preset.get("max_length", 48) if tokenizer_name is None: raise ValueError( @@ -885,7 +927,7 @@ def _predict_chunk_turbovla(self, observations: dict[str, Any]) -> np.ndarray: def _cosmos3_edge_prompt_ids(self, task: str) -> list[int]: """Token ids of the prompt of `task`, as Cosmos3TokenizerProcessorStep.encode builds them: one user turn in the chat template, the end-of-turn token and <|vision_start|>, no special tokens added.""" - messages = [{"role": "user", "content": [{"type": "text", "text": _cosmos3_edge_caption(task)}]}] + messages = [{"role": "user", "content": [{"type": "text", "text": _cosmos3_edge_caption(task, self._cosmos3)}]}] text = self.tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) text += self.tok.eos_token + COSMOS3_EDGE_START_OF_GENERATION return self.tok(text, add_special_tokens=False)["input_ids"] @@ -935,8 +977,8 @@ def _predict_chunk_cosmos3_edge(self, observations: dict[str, Any]) -> np.ndarra raise RuntimeError(f"vla-server error: {resp.error}") self._last_response = resp chunk = np.array(resp.action_chunk, dtype=np.float32).reshape(resp.chunk_size, resp.action_dim) - if chunk.shape != (COSMOS3_EDGE_CHUNK, 10): - raise RuntimeError(f"expected a 16x10 chunk from the Cosmos3-Edge server, got {chunk.shape}") + if chunk.shape != (self._cosmos3["chunk_size"], 10): + raise RuntimeError(f"expected a {self._cosmos3['chunk_size']}x10 chunk from the Cosmos3-Edge server, got {chunk.shape}") return _cosmos3_edge_libero(chunk) _VJ_PS, _VJ_TPS, _VJ_MERGE, _VJ_SIDE = 16, 2, 2, 256 diff --git a/eval/run_libero.sh b/eval/run_libero.sh index 8c61f9d3..a4e4f28e 100644 --- a/eval/run_libero.sh +++ b/eval/run_libero.sh @@ -329,10 +329,12 @@ run_model() { if [[ "${arch}" == vla_jepa ]]; then client_py="${VLA_JEPA_PYTHON}" fi - # cosmos3_edge: the tokenizer is the policy's (nvidia/Cosmos3-Edge on the Hub unless a local copy is given), and - # a chunk takes seconds on a GPU but about a minute on a CPU, so the client waits longer than its 30 s default. + # cosmos3_edge: the tokenizer is the policy's (nvidia/Cosmos3-Edge on the Hub unless a local copy is given), the + # caption settings are read from the GGUF the server runs, and a chunk takes seconds on a GPU but about a minute + # on a CPU, so the client waits longer than its 30 s default. if [[ "${arch}" == cosmos3_edge ]]; then client_py="${COSMOS3_EDGE_PYTHON}" + client_extra+=(--gguf "${server_args[0]}") if [[ -n "${COSMOS3_EDGE_TOKENIZER}" ]]; then client_extra+=(--tokenizer "${COSMOS3_EDGE_TOKENIZER}") fi diff --git a/tests/py/cosmos3_edge_server_check.py b/tests/py/cosmos3_edge_server_check.py index 15b233dd..322d9289 100644 --- a/tests/py/cosmos3_edge_server_check.py +++ b/tests/py/cosmos3_edge_server_check.py @@ -93,7 +93,7 @@ # (2) the client's tokens, (3) its rot6d decode client = C.VlaCppClient(args.addr, arch="cosmos3_edge", tokenizer_name=args.tokenizer, n_action_steps=16, - recv_timeout_ms=600_000) + recv_timeout_ms=600_000, cosmos3_gguf=args.gguf) mine = client._cosmos3_edge_prompt_ids(args.task) ok_tok = mine == tokens print(f"(2) client tokens for {args.task!r}: {len(mine)} ids, identical to the case's {ok_tok}") From 2a5a8e0b12f60cec1496a01e879ccbd07d8c8cba Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 17:27:53 +0700 Subject: [PATCH 10/17] cosmos3_edge: hand-written ggml engine after lerobot's policies/cosmos3 and a converter from the checkpoint's safetensors, in place of the ggml-compiler output --- CMakeLists.txt | 1 - eval/run_libero.sh | 2 +- scripts/convert_cosmos3_edge_to_gguf.py | 409 +- scripts/port_cosmos3_graphs.py | 85 - src/model.cpp | 3 +- src/models/cosmos3_edge.cpp | 1394 +++++-- src/models/cosmos3_edge_build.h | 85 - src/models/cosmos3_edge_graphs.cpp | 5068 ----------------------- src/models/cosmos3_edge_ops.h | 169 - tests/py/cosmos3_edge_debug.py | 163 + tests/py/cosmos3_edge_parity.py | 73 +- tests/py/cosmos3_edge_reference.py | 167 + tests/py/test_converters.py | 71 +- 13 files changed, 1730 insertions(+), 5960 deletions(-) delete mode 100644 scripts/port_cosmos3_graphs.py delete mode 100644 src/models/cosmos3_edge_build.h delete mode 100644 src/models/cosmos3_edge_graphs.cpp delete mode 100644 src/models/cosmos3_edge_ops.h create mode 100644 tests/py/cosmos3_edge_debug.py create mode 100644 tests/py/cosmos3_edge_reference.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 9adb5ec7..515fc0d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,7 +260,6 @@ add_library(vla_core ${VLA_CORE_LIB_TYPE} src/models/act.cpp src/models/octo.cpp src/models/cosmos3_edge.cpp - src/models/cosmos3_edge_graphs.cpp src/models/cosmos3_edge_prompt.cpp src/tokenizer.cpp ) diff --git a/eval/run_libero.sh b/eval/run_libero.sh index a4e4f28e..39a6ccbf 100644 --- a/eval/run_libero.sh +++ b/eval/run_libero.sh @@ -576,7 +576,7 @@ if should_run vla_jepa; then fi fi -# cosmos3_edge: the GGUF of ggml-compiler's graphs (docs/MODELS.md#cosmos3-edge-world-action-model), which is not +# cosmos3_edge: the GGUF of scripts/convert_cosmos3_edge_to_gguf.py (docs/MODELS.md#cosmos3-edge-world-action-model), not # published yet, so a missing one is skipped instead of failing a sweep over all models. if should_run cosmos3_edge; then cosmos3_gguf="${MODELS_ROOT}/cosmos3-edge-libero-gguf/cosmos3-edge-libero-bf16.gguf" diff --git a/scripts/convert_cosmos3_edge_to_gguf.py b/scripts/convert_cosmos3_edge_to_gguf.py index fc220971..3022b742 100644 --- a/scripts/convert_cosmos3_edge_to_gguf.py +++ b/scripts/convert_cosmos3_edge_to_gguf.py @@ -14,122 +14,91 @@ """Cosmos3-Edge-Policy (lerobot/Cosmos3-Edge-Policy-LIBERO) -> vla.cpp GGUF. -Unlike the other converters this one does not read the safetensors checkpoint. The graphs of -src/models/cosmos3_edge_graphs.cpp were generated by ggml-compiler from a PyTorch re-statement of the -model's inference (ggml/export.py in the port's repo), and they look their weights up by the compiler's -own names (`w.` for parameters, `c.` for constants it folded at compile time: the VAE's 2-D -kernels, the DomainAwareLinear slice of domain 5, mask and RoPE tables). The weights are therefore taken -from the same `ggml-compiler compile` run, so graphs and weights cannot disagree: - - ggml-compiler compile ggml/export.py:program --out out/cosmos3 --emit gguf,cpp --name cosmos3 \\ - --policy ggml/policy-bf16.yaml - python scripts/convert_cosmos3_edge_to_gguf.py --ckpt out/cosmos3/model.gguf --out cosmos3-edge-bf16.gguf - -Tensors are copied byte for byte (BF16 weights stay BF16, the VAE kernels F16, norms and constants F32). -The converter adds the architecture key, the sizes the runtime needs, and `cosmos3_edge.step_scalars` -[n_steps, n_scalars], the per-step UniPC coefficients that the compiler's driver feeds to the denoising stage. - -With `--policy-dir` (the checkpoint's directory: `config.json` and `tokenizer/`) it also embeds the model's -byte-level BPE tokenizer (llama.cpp's `tokenizer.ggml.*` keys) and the caption settings, so `vla-cli --text` -can build the prompt of a task itself (src/models/cosmos3_edge_prompt.cpp). +Reads the checkpoint directory: config.json, model.safetensors, the postprocessor's unnormalizer stats and +tokenizer/. Only what inference needs is written: + +- the Wan2.2 VAE encoder. Its causal 3-D convolutions see one frame behind two zero frames, so only the last + temporal tap of each kernel reaches the output: that tap is written as a 2-D kernel. The decoder and the + temporal convolutions of the downsamplers (skipped on a first frame) are left out; +- the 28 MoT decoder layers, both streams. The understanding stream's final norm, the language head, the + SigLIP vision tower and its projector play no part in action inference and are left out; +- the projections between the backbone and the latents: vae2llm, llm2vae, and action2llm / llm2action of the + config's embodiment (`domain_id`), cut to `action_dim` since the other channels are zero; +- the timestep embedding, in f32 as the policy keeps it; +- the latent statistics of the VAE, the action quantiles of the unnormalizer, the canvas layout of the policy's + cameras, the caption settings of the prompt step and the byte-level BPE tokenizer (llama.cpp's + `tokenizer.ggml.*` keys), so `vla-cli --text` builds the prompt itself (src/models/cosmos3_edge_prompt.cpp). + +GEMM weights keep the checkpoint's bf16 (the engine casts them to its matmul type at load), norms and biases +are f32. + + python scripts/convert_cosmos3_edge_to_gguf.py --ckpt --out cosmos3-edge-libero-bf16.gguf """ from __future__ import annotations import json -import math import sys from pathlib import Path import numpy as np +import torch +from safetensors import safe_open -import gguf from gguf_common import ( - F32, + add, + add_array, + add_f32, arg_parser, - copy_tensor, finish, + kv_f32, kv_prefix, kv_u32, open_writer, + read_json, + require, resolve_out, ) ARCH = "cosmos3_edge" KV = kv_prefix(ARCH) - -# Stage parameters of the compiled driver, in the order the generated builders read them. -STAGES = ("vae_encode", "prefix", "init", "step", "finish") -INPUTS = ("canvas", "input_ids", "attention_mask", "video_noise", "action_noise") -OUTPUTS = ("actions", "xv") -SCALARS = ("t", "sigma", "E", "A", "B", "C", "D", "Fc", "Gc", "Hc") - - -def program_of(reader: gguf.GGUFReader) -> dict: - f = reader.fields.get("ggml_compiler.program") - if f is None: - raise SystemExit("not a ggml-compiler GGUF: no ggml_compiler.program key") - return json.loads(bytes(f.parts[-1]).decode()) - - -def string_of(reader: gguf.GGUFReader, key: str) -> str: - f = reader.fields.get(key) - return bytes(f.parts[-1]).decode() if f is not None else "" - - -def parse_program(prog: dict) -> dict: - """Check that `prog` (the compiler's ggml_compiler.program) is the program the graphs of - src/models/cosmos3_edge_graphs.cpp were generated from, and read the sizes and the per-step scalars out of - it. Pure Python: the scalar table is returned as rows of floats, one per denoising step.""" - stages = [s["name"] for s in prog["stages"]] - if tuple(stages) != STAGES: - raise SystemExit(f"expected stages {STAGES}, the program has {tuple(stages)}") - values = {v["name"]: v for v in prog["values"]} - ins = [v["name"] for v in prog["inputs"]] if prog["inputs"] and isinstance(prog["inputs"][0], dict) else list(prog["inputs"]) - if tuple(ins) != INPUTS: - raise SystemExit(f"expected inputs {INPUTS}, the program has {tuple(ins)}") - - loops = [op for op in prog["driver"] if op["op"] == "loop"] - if len(loops) != 1: - raise SystemExit(f"expected one denoising loop, found {len(loops)}") - loop = loops[0] - names = tuple(s["value"] for s in loop["scalars"]) - if names != SCALARS: - raise SystemExit(f"expected loop scalars {SCALARS}, the program has {names}") - n_steps = int(loop["n"]) - cols = [[float(x) for x in s["values"]] for s in loop["scalars"]] - if any(len(c) != n_steps for c in cols): - raise SystemExit(f"the scalar tables do not all have {n_steps} steps") - table = [[c[k] for c in cols] for k in range(n_steps)] # [n_steps][len(SCALARS)] - - def ne(name: str) -> list[int]: - return [int(x) for x in values[name]["ne"]] # ggml order, innermost first - - canvas_w, canvas_h, _, _ = ne("canvas") +NET = "model.network." +LM = NET + "mot_backbone.model.language_model." + +# Video canvases of the 256 tier by aspect ratio name, (width, height): lerobot's VIDEO_CANVAS_SIZES. +CANVAS_256 = {"1,1": (256, 256), "4,3": (320, 256), "3,4": (256, 320), "16,9": (320, 192), "9,16": (192, 320)} + + +def canvas_layout(config: dict) -> dict: + """The canvas of the policy's cameras, as lerobot's Cosmos3VideoCanvasProcessorStep lays it out: every view + at `view_size`, two side by side, fit into the closest canvas of the 256 tier without enlarging, then the + latent grid of the content. One or two cameras are supported (three use another layout).""" + cameras = [k for k, f in config["input_features"].items() if f["type"] == "VISUAL"] + if len(cameras) not in (1, 2): + raise SystemExit(f"{len(cameras)} cameras; the canvas layout is written for one or two") + view_h, view_w = (int(x) for x in config["view_size"]) + if min(view_h, view_w) > 256: + raise SystemExit(f"a {view_h}x{view_w} view needs a higher resolution tier than the 256 one written here") + frame_h, frame_w = view_h, view_w * len(cameras) + canvas_w, canvas_h = min(CANVAS_256.values(), key=lambda s: abs(frame_h / frame_w - s[1] / s[0])) + scale = min(canvas_w / frame_w, canvas_h / frame_h, 1.0) + content_h, content_w = int(scale * frame_h + 0.5), int(scale * frame_w + 0.5) + spatial = int(config["vae"]["scale_factor_spatial"]) + ratio = next(name for name, size in CANVAS_256.items() if size == (canvas_w, canvas_h)) return { - "table": table, "n_steps": n_steps, - "canvas_h": canvas_h, "canvas_w": canvas_w, "prompt_len": ne("input_ids")[0], - "video_tok": ne("video_noise")[1], "video_dim": ne("video_noise")[0], - "horizon": ne("action_noise")[1], "action_dim": ne("action_noise")[0], + "n_views": len(cameras), "view_h": view_h, "view_w": view_w, + "canvas_h": canvas_h, "canvas_w": canvas_w, "content_h": content_h, "content_w": content_w, + "latent_h": content_h // spatial, "latent_w": content_w // spatial, "aspect_ratio": ratio, + "cameras": cameras, } -def caption_settings(config: dict, canvas_h: int, canvas_w: int) -> dict: - """The settings of lerobot's Cosmos3PromptProcessorStep, from the policy's config.json.""" - # The aspect ratio the processor puts in the caption: the name of the tier canvas of that size (the 192x320 - # canvas of this model is the 16:9 one), else the reduced width and height. - known = {(320, 192): "16,9"} - ratio = known.get((canvas_w, canvas_h)) - if ratio is None: - d = math.gcd(canvas_w, canvas_h) - ratio = f"{canvas_w // d},{canvas_h // d}" - return { - "view_description": str(config["view_description"]), - "aspect_ratio": ratio, - "fps": float(config["fps"]), - "use_state": 1 if config.get("use_state") else 0, - "chunk_size": int(config["chunk_size"]), - } +def conv_tap(w: torch.Tensor) -> torch.Tensor: + """The 2-D kernel a causal 3-D convolution applies to a first frame: the input is padded with KT-1 zero frames + in front, so of the kernel [OC, IC, KT, KH, KW] only tap KT-1 reaches that frame's output.""" + if w.dim() != 5: + raise SystemExit(f"expected a 3-D kernel, got shape {tuple(w.shape)}") + return w[:, :, -1].contiguous() def add_tokenizer(writer, tok_dir: Path) -> None: @@ -179,64 +148,220 @@ def special_id(name: str) -> int | None: print(f"tokenizer: {len(tokens)} tokens, {len(merges)} merges, {sum(t in (3, 4) for t in types)} special") -def main() -> int: - ap = arg_parser( - ARCH, - "model.gguf written by `ggml-compiler compile` of ggml/export.py (bf16 policy recommended)", - description=__doc__, - ) - ap.add_argument("--policy-dir", type=Path, default=None, - help="the checkpoint's directory (config.json, tokenizer/): embeds the tokenizer and the caption settings") - args = ap.parse_args() - src = args.ckpt.resolve() - if src.is_dir(): - src = src / "model.gguf" - if not src.exists(): - raise SystemExit(f"missing {src}") - out = args.out.resolve() if args.out else resolve_out(args, src.parent, ARCH) - - reader = gguf.GGUFReader(str(src)) - prog = program_of(reader) +def load_quantiles(ckpt: Path, action_dim: int) -> tuple[np.ndarray, np.ndarray]: + """q01 and q99 of the action from the postprocessor's unnormalizer (QUANTILES normalization).""" + meta = read_json(ckpt / "policy_postprocessor.json") + state_file = next((s.get("state_file") for s in meta.get("steps", []) + if s.get("registry_name") == "unnormalizer_processor"), None) + if not state_file or not (ckpt / state_file).is_file(): + raise SystemExit("policy_postprocessor.json names no unnormalizer state file") + with safe_open(str(ckpt / state_file), framework="pt") as f: + keys = set(f.keys()) + if "action.q01" not in keys or "action.q99" not in keys: + raise SystemExit(f"{state_file} has no action.q01/q99 (the policy normalizes actions by quantiles)") + q01 = f.get_tensor("action.q01").float().numpy().reshape(-1) + q99 = f.get_tensor("action.q99").float().numpy().reshape(-1) + if q01.size != action_dim or q99.size != action_dim: + raise SystemExit(f"action quantiles have {q01.size} values, the action has {action_dim}") + return q01.astype(np.float32), q99.astype(np.float32) + + +class Weights: + """The checkpoint's tensors by name, read one at a time; remembers which were used.""" + + def __init__(self, path: Path): + self.f = safe_open(str(path), framework="pt") + self.keys = set(self.f.keys()) + self.used: set[str] = set() + + def __call__(self, name: str) -> torch.Tensor: + if name not in self.keys: + raise SystemExit(f"missing tensor {name}") + self.used.add(name) + return self.f.get_tensor(name) + + def has(self, name: str) -> bool: + return name in self.keys + + +def check_config(config: dict) -> None: + """The engine is written for the LIBERO policy's setup; refuse what it does not do.""" + if config.get("type") != "cosmos3_edge": + raise SystemExit(f"config.json is a {config.get('type')!r} policy, not cosmos3_edge") + text = config["mot_backbone"]["text_config"] + if text["hidden_act"] != "relu2" or text["rope_parameters"]["rope_type"] != "default": + raise SystemExit("the engine is written for Nemotron 3's relu^2 MLP and default M-RoPE") + if text["joint_attn_implementation"] != "two_way": + raise SystemExit("the engine is written for two_way joint attention") + if config["mode"] != "wam" or config.get("use_state") or config["guidance_scale"] != 1.0 or config["n_obs_steps"] != 1: + raise SystemExit("the engine is written for mode wam, no state, no classifier-free guidance and one observation step") + if config["sampler"] != "unipc": + raise SystemExit(f"sampler {config['sampler']!r}: the engine runs UniPC") + if config["latent_patch_size"] != 2 or config["vae"]["patch_size"] != 2: + raise SystemExit("the engine is written for a latent patch of 2 and a VAE pixel patch of 2") + if config["vae"].get("is_residual") is not True: + raise SystemExit("the engine is written for the Wan2.2 VAE (residual down blocks)") - info = parse_program(prog) - table, n_steps = info["table"], info["n_steps"] - canvas_h, canvas_w, prompt_len = info["canvas_h"], info["canvas_w"], info["prompt_len"] - video_tok, video_dim, horizon, action_dim = info["video_tok"], info["video_dim"], info["horizon"], info["action_dim"] +def main() -> int: + ap = arg_parser(ARCH, "checkpoint directory (config.json, model.safetensors, policy_postprocessor*, tokenizer/)", + description=__doc__) + args = ap.parse_args() + ckpt = args.ckpt.resolve() + require(ckpt / "config.json", ckpt / "model.safetensors", ckpt / "tokenizer" / "tokenizer.json") + out = args.out.resolve() if args.out else resolve_out(args, ckpt, ARCH) + + config = read_json(ckpt / "config.json") + check_config(config) + text = config["mot_backbone"]["text_config"] + vae = config["vae"] + action_dim = int(config["output_features"]["action"]["shape"][0]) + chunk = int(config["chunk_size"]) + layout = canvas_layout(config) + n_layers = int(text["num_hidden_layers"]) + hidden = int(text["hidden_size"]) + n_blocks = len(vae["dim_mult"]) + + W = Weights(ckpt / "model.safetensors") writer = open_writer(out, ARCH) + + # --- metadata ------------------------------------------------------------------------------------------- kv_u32(writer, KV, { - "canvas_h": canvas_h, "canvas_w": canvas_w, "prompt_len": prompt_len, - "video_noise_tokens": video_tok, "video_noise_dim": video_dim, - "num_steps": n_steps, "chunk_size": horizon, "action_dim": action_dim, - "max_action_dim": 64, "n_scalars": len(SCALARS), "n_layers": 28, + "n_layers": n_layers, "hidden": hidden, "intermediate": text["intermediate_size"], + "n_heads": text["num_attention_heads"], "n_kv_heads": text["num_key_value_heads"], "head_dim": text["head_dim"], + "vocab_size": text["vocab_size"], + "mrope_section_t": text["rope_parameters"]["mrope_section"][0], + "mrope_section_h": text["rope_parameters"]["mrope_section"][1], + "mrope_section_w": text["rope_parameters"]["mrope_section"][2], + "time_embed_dim": config["timestep_embedding_dim"], "temporal_modality_margin": config["temporal_modality_margin"], + "num_steps": config["num_inference_steps"], "num_train_timesteps": config["num_train_timesteps"], + "chunk_size": chunk, "action_dim": action_dim, "max_action_dim": config["max_action_dim"], + "domain_id": config["domain_id"], "latent_patch_size": config["latent_patch_size"], + "vae.z_dim": vae["z_dim"], "vae.base_dim": vae["base_dim"], "vae.patch_size": vae["patch_size"], + "vae.scale_factor_spatial": vae["scale_factor_spatial"], "vae.scale_factor_temporal": vae["scale_factor_temporal"], + "vae.n_blocks": n_blocks, "vae.num_res_blocks": vae["num_res_blocks"], + "n_views": layout["n_views"], "view_h": layout["view_h"], "view_w": layout["view_w"], + "canvas_h": layout["canvas_h"], "canvas_w": layout["canvas_w"], + "content_h": layout["content_h"], "content_w": layout["content_w"], + "latent_h": layout["latent_h"], "latent_w": layout["latent_w"], + "prompt_len": 512, # the longest prompt the engine takes }) - writer.add_string(KV("scalars"), json.dumps(list(SCALARS))) - writer.add_string(KV("tensor_names"), string_of(reader, "ggml_compiler.tensor_names")) - writer.add_string(KV("source"), json.dumps({ - "compiler_gguf": src.name, "compiler_source": string_of(reader, "ggml_compiler.source"), - "options": string_of(reader, "ggml_compiler.options"), - "specialized": prog.get("specialized", None), - })) - writer.add_string(KV("io_meta"), string_of(reader, "ggml_compiler.meta")) - - if args.policy_dir is not None: - pdir = args.policy_dir.resolve() - cs = caption_settings(json.loads((pdir / "config.json").read_text()), canvas_h, canvas_w) - if cs["chunk_size"] != horizon: - raise SystemExit(f"config.json chunk_size {cs['chunk_size']} is not the program's {horizon}") - writer.add_string(KV("caption.view_description"), cs["view_description"]) - writer.add_string(KV("caption.aspect_ratio"), cs["aspect_ratio"]) - writer.add_float32(KV("caption.fps"), cs["fps"]) - writer.add_uint32(KV("caption.use_state"), cs["use_state"]) - add_tokenizer(writer, pdir / "tokenizer") - + # Each down block's shortcut averages 2x2 pixels (factor_s) and, where the block also halves time, pairs of + # frames (factor_t); the last block keeps its size. + temporal = list(vae["temperal_downsample"]) + [False] * n_blocks + for i, mult in enumerate(vae["dim_mult"]): + last = i == n_blocks - 1 + kv_u32(writer, KV, {f"vae.down.{i}.dim_mult": mult, + f"vae.down.{i}.factor_t": 2 if (temporal[i] and not last) else 1, + f"vae.down.{i}.factor_s": 1 if last else 2}) + kv_f32(writer, KV, { + "rms_eps": text["rms_norm_eps"], "rope_theta": text["rope_parameters"]["rope_theta"], + "timestep_scale": config["timestep_scale"], "base_fps": config["base_fps"], "fps": config["fps"], + "sampling_shift": config["sampling_shift"], + }) + writer.add_string(KV("caption.view_description"), str(config["view_description"])) + writer.add_string(KV("caption.aspect_ratio"), layout["aspect_ratio"]) + writer.add_float32(KV("caption.fps"), float(config["fps"])) + writer.add_uint32(KV("caption.use_state"), 1 if config.get("use_state") else 0) + writer.add_string(KV("cameras"), ", ".join(layout["cameras"])) + add_tokenizer(writer, ckpt / "tokenizer") + + add_array(writer, KV("latents_mean"), np.asarray(vae["latents_mean"], dtype=np.float32)) + add_array(writer, KV("latents_std"), np.asarray(vae["latents_std"], dtype=np.float32)) + q01, q99 = load_quantiles(ckpt, action_dim) + add_array(writer, KV("action_q01"), q01) + add_array(writer, KV("action_q99"), q99) + + # --- the backbone ---------------------------------------------------------------------------------------- n = 0 - for t in reader.tensors: - copy_tensor(writer, t) + + def put(name: str, t: torch.Tensor, f32: bool = False) -> None: + nonlocal n + (add_f32 if f32 else add)(writer, name, t) n += 1 - writer.add_tensor(KV("step_scalars"), np.ascontiguousarray(np.asarray(table, dtype=np.float32)), raw_dtype=F32) - print(f"{n} tensors copied, {n_steps} steps x {len(SCALARS)} scalars, canvas {canvas_h}x{canvas_w}, " - f"prompt {prompt_len}, video noise {video_tok}x{video_dim}, actions {horizon}x{action_dim}") + + put("token_embd.weight", W(LM + "embed_tokens.weight")) + for i in range(n_layers): + p = f"{LM}layers.{i}." + for stream, suffix in (("", ""), ("gen.", "_gen")): + b = f"blk.{i}.{stream}" + put(b + "attn_norm.weight", W(f"{p}input_layernorm{suffix}.weight"), f32=True) + put(b + "ffn_norm.weight", W(f"{p}post_attention_layernorm{suffix}.weight"), f32=True) + for ours, theirs in (("attn_q", "q_proj"), ("attn_k", "k_proj"), ("attn_v", "v_proj"), ("attn_output", "o_proj")): + put(f"{b}{ours}.weight", W(f"{p}self_attn.{theirs}{suffix}.weight")) + put(b + "ffn_up.weight", W(f"{p}mlp{suffix}.up_proj.weight")) + put(b + "ffn_down.weight", W(f"{p}mlp{suffix}.down_proj.weight")) + # The generation stream's QK norms, and the norm of the understanding keys its queries read. + put(f"blk.{i}.gen.attn_q_norm.weight", W(f"{p}self_attn.q_norm_gen.weight"), f32=True) + put(f"blk.{i}.gen.attn_k_norm.weight", W(f"{p}self_attn.k_norm_gen.weight"), f32=True) + put(f"blk.{i}.attn_k_norm_gen.weight", W(f"{p}self_attn.k_norm_und_for_gen.weight"), f32=True) + put("gen.output_norm.weight", W(LM + "norm_gen.weight"), f32=True) + + # --- projections and the timestep embedding ---------------------------------------------------------- + put("vae2llm.weight", W(NET + "vae2llm.weight")) + put("vae2llm.bias", W(NET + "vae2llm.bias"), f32=True) + put("llm2vae.weight", W(NET + "llm2vae.weight")) + put("llm2vae.bias", W(NET + "llm2vae.bias"), f32=True) + domain = int(config["domain_id"]) + max_ad = int(config["max_action_dim"]) + # DomainAwareLinear computes x @ W + b per domain with W [in, out]; nn.Linear's [out, in] is its transpose. + a2l = W(NET + "action2llm.fc.weight")[domain].view(max_ad, hidden)[:action_dim].t().contiguous() # [hidden, A] + put("action2llm.weight", a2l) + put("action2llm.bias", W(NET + "action2llm.bias.weight")[domain], f32=True) + l2a = W(NET + "llm2action.fc.weight")[domain].view(hidden, max_ad)[:, :action_dim].t().contiguous() # [A, hidden] + put("llm2action.weight", l2a) + put("llm2action.bias", W(NET + "llm2action.bias.weight")[domain][:action_dim], f32=True) + put("action_modality_embed.weight", W(NET + "action_modality_embed.weight"), f32=True) + for k in ("linear_1", "linear_2"): + put(f"time_embedder.{k}.weight", W(f"{NET}time_embedder.{k}.weight"), f32=True) + put(f"time_embedder.{k}.bias", W(f"{NET}time_embedder.{k}.bias"), f32=True) + + # --- the VAE encoder --------------------------------------------------------------------------------- + V = NET + "vae." + + def conv3(ours: str, theirs: str) -> None: + put(ours + ".weight", conv_tap(W(theirs + ".weight"))) + put(ours + ".bias", W(theirs + ".bias"), f32=True) + + def norm(ours: str, theirs: str) -> None: + put(ours + ".gamma", W(theirs + ".gamma").flatten(), f32=True) + + def conv1x1(ours: str, theirs: str) -> None: + w = W(theirs + ".weight") # [OC, IC, (1,) 1, 1]: a 1x1 convolution is a linear map + put(ours + ".weight", w.reshape(w.shape[0], w.shape[1]).contiguous()) + put(ours + ".bias", W(theirs + ".bias"), f32=True) + + def resnet(ours: str, theirs: str) -> None: + norm(ours + ".norm1", theirs + ".norm1") + conv3(ours + ".conv1", theirs + ".conv1") + norm(ours + ".norm2", theirs + ".norm2") + conv3(ours + ".conv2", theirs + ".conv2") + if W.has(theirs + ".conv_shortcut.weight"): + conv1x1(ours + ".shortcut", theirs + ".conv_shortcut") + + conv3("vae.conv_in", V + "encoder.conv_in") + for b in range(n_blocks): + for r in range(int(vae["num_res_blocks"])): + resnet(f"vae.down.{b}.res.{r}", f"{V}encoder.down_blocks.{b}.resnets.{r}") + if W.has(f"{V}encoder.down_blocks.{b}.downsampler.resample.1.weight"): + # ZeroPad2d((0, 1, 0, 1)) then Conv2d(dim, dim, 3, stride 2) + put(f"vae.down.{b}.down.weight", W(f"{V}encoder.down_blocks.{b}.downsampler.resample.1.weight")) + put(f"vae.down.{b}.down.bias", W(f"{V}encoder.down_blocks.{b}.downsampler.resample.1.bias"), f32=True) + resnet("vae.mid.res.0", V + "encoder.mid_block.resnets.0") + norm("vae.mid.attn.norm", V + "encoder.mid_block.attentions.0.norm") + conv1x1("vae.mid.attn.qkv", V + "encoder.mid_block.attentions.0.to_qkv") + conv1x1("vae.mid.attn.proj", V + "encoder.mid_block.attentions.0.proj") + resnet("vae.mid.res.1", V + "encoder.mid_block.resnets.1") + norm("vae.norm_out", V + "encoder.norm_out") + conv3("vae.conv_out", V + "encoder.conv_out") + conv1x1("vae.quant_conv", V + "quant_conv") + + skipped = sorted(k for k in W.keys if k not in W.used) + heads = sorted({".".join(k.split(".")[:5]) for k in skipped}) + print(f"{n} tensors written; {len(skipped)} of the checkpoint's left out: {', '.join(heads)}") + print(f"canvas {layout['canvas_h']}x{layout['canvas_w']}, content {layout['content_h']}x{layout['content_w']} of " + f"{layout['n_views']} {layout['view_h']}x{layout['view_w']} views, latent grid {layout['latent_h']}x{layout['latent_w']}; " + f"{config['num_inference_steps']} UniPC steps, chunk {chunk}x{action_dim}, domain {domain}") return finish(writer, out) diff --git a/scripts/port_cosmos3_graphs.py b/scripts/port_cosmos3_graphs.py deleted file mode 100644 index ecbaf90d..00000000 --- a/scripts/port_cosmos3_graphs.py +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 2026 VinRobotics -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Port the C++ that `ggml-compiler compile --emit cpp --name cosmos3` generated into -src/models/cosmos3_edge_graphs.cpp, the one vla.cpp source file that is not hand written. - - python scripts/port_cosmos3_graphs.py --in out/cosmos3/cpp/cosmos3.cpp \\ - --out src/models/cosmos3_edge_graphs.cpp - -Only the frame changes: the include of the generated header becomes cosmos3_edge_build.h, the ops header -becomes cosmos3_edge_ops.h, the anonymous namespace becomes vla::cosmos3_edge_graphs (so the builders can be -declared in the header), and the registration table plus `cosmos3_load` at the end (they bind the generated -code to ggml-compiler's runtime) are dropped. Every ggml call in the five builders is kept as generated. -""" - -import argparse -import re -import sys -from pathlib import Path - -HEADER = """// Copyright 2026 VinRobotics -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// GENERATED by ggml-compiler (`ggml-compiler compile ggml/export.py:program --emit gguf,cpp --name cosmos3 -// --policy ggml/policy-bf16.yaml`) and ported with scripts/port_cosmos3_graphs.py. Do not edit by hand: -// regenerate. One ggml graph builder per stage of the Cosmos3-Edge-Policy world-action model: vae_encode, -// prefix, init, step (one UniPC update, run 30 times), finish. Each line names the PyTorch module it came from. -""" - - -def main() -> int: - ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) - ap.add_argument("--in", dest="src", type=Path, required=True, help="generated cosmos3.cpp") - ap.add_argument("--out", type=Path, required=True, help="src/models/cosmos3_edge_graphs.cpp") - args = ap.parse_args() - - text = args.src.read_text() - # Drop the generated banner (everything before the first #include). - first = text.index("#include") - body = text[first:] - - body, n = re.subn(r'#include "cosmos3\.h"', '#include "cosmos3_edge_build.h"', body) - assert n == 1, "generated header include not found" - body, n = re.subn(r'#include "ggml_compiler_ops\.h"', '#include "cosmos3_edge_ops.h"', body) - assert n == 1, "ops header include not found" - - body, n = re.subn(r"\nnamespace \{\n", "\nnamespace vla::cosmos3_edge_graphs {\n", body, count=1) - assert n == 1, "anonymous namespace not found" - - cut = body.index("const ggml_compiler_builder kBuilders[]") - body = body[:cut].rstrip() + "\n\n} // namespace vla::cosmos3_edge_graphs\n" - - for stage in ("vae_encode", "prefix", "init", "step", "finish"): - assert f"int build_{stage}(ggml_compiler_stage_build * B)" in body, f"missing builder {stage}" - assert "ggml_compiler_load" not in body and "kBuilders" not in body - - args.out.write_text(HEADER + "\n" + body) - print(f"{args.out}: {body.count(chr(10))} lines") - return 0 - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/src/model.cpp b/src/model.cpp index 7f4e0f64..4803d2c3 100644 --- a/src/model.cpp +++ b/src/model.cpp @@ -254,8 +254,7 @@ Model* model_load(const std::string& mmproj_path, const std::string& ckpt_path, : arch == Arch::VLA_ADAPTER ? "vla_adapter" : arch == Arch::OPENVLA_OFT ? "openvla_oft" : arch == Arch::TURBOVLA ? "turbovla" - : arch == Arch::ACT ? "act" - : arch == Arch::COSMOS3_EDGE ? "cosmos3_edge" : nullptr; + : arch == Arch::ACT ? "act" : nullptr; if (name) { std::fprintf(stderr, "vla(%s): num_steps is not supported\n", name); return nullptr; diff --git a/src/models/cosmos3_edge.cpp b/src/models/cosmos3_edge.cpp index 6dc88e27..a9aa535a 100644 --- a/src/models/cosmos3_edge.cpp +++ b/src/models/cosmos3_edge.cpp @@ -12,39 +12,46 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Cosmos3-Edge-Policy (LIBERO): a world-action model. One 28-layer Mixture-of-Transformers backbone denoises -// 4 latent video frames and a 16-step action chunk together, conditioned on the VAE latent of the current -// frame and on the prompt, with 30 UniPC steps. +// Cosmos3-Edge-Policy (LIBERO): a world-action model. One 28-layer Mixture-of-Transformers backbone (Nemotron 3 +// Dense, two streams) denoises 4 latent video frames and a 16-step action chunk together, conditioned on the +// Wan2.2 VAE latent of the current frame and on the prompt, with 30 UniPC steps. lerobot's +// policies/cosmos3/modeling_cosmos3.py is the reference; this file follows its inference path: // -// The graphs are not written here: src/models/cosmos3_edge_graphs.cpp was generated by ggml-compiler (see -// scripts/port_cosmos3_graphs.py) for five stages, and this file is the engine around them: -// vae_encode(canvas) -> z0 Wan2.2 encoder, one frame -// prefix(input_ids, mask) -> K/V of 28 layers, bias, cos, sin the understanding stream, once -// init(z0, video_noise, action_noise) -> the 8 values the denoising loop carries -// step(carries, K/V, ..., 10 scalars) x 30 one UniPC update, the scalars per step -// finish(xa) -> actions de-normalized (q01/q99), rot6d -// Values that cross stages stay in one device buffer; a graph writes its outputs into it with ggml_cpy. The -// step graph ends by copying its outputs back into the carries it read, so a denoising step is one graph -// compute and one upload of its 10 scalars, with no other host round trip. +// VAE encoder canvas (one frame, pixel-unshuffled to 12 channels) -> normalized latent, 50 patches of 192 +// prefix the understanding stream over the prompt, once: its keys (normed and rotated for the +// generation queries) and values of every layer are kept for the denoising loop +// step x 30 the generation stream over [video patches | actions]: timestep embedding, 28 layers whose +// attention reads [prompt keys | its own keys], then the velocities of latents and actions +// solver UniPC (diffusers' UniPCMultistepScheduler: flow prediction, order 2, bh2, corrector) on the +// host, in f32 like the reference +// output the 16x10 chunk unnormalized with the dataset quantiles: [dpos(3), rot6d(6), gripper] // -// The input contract is the one of the compiled program (see docs/MODELS.md): two camera views, in the -// order [third person, wrist], composed into the 192x320 canvas here exactly as lerobot's -// Cosmos3VideoCanvasProcessorStep does (or one canvas the caller composed); the prompt as token ids, which -// src/models/cosmos3_edge_prompt.cpp builds from the instruction (vla-cli --text); `Inputs::noise` the 16x10 -// action noise (video noise is drawn here, or read from VLA_COSMOS3_VIDEO_NOISE). The 10 action columns are -// [dpos(3), rot6d(6), gripper]; cosmos3_libero_action (same file) decodes them to a LIBERO command. +// Input contract (docs/MODELS.md): two camera views in the order [third person, wrist], composed into the +// 192x320 canvas here exactly as lerobot's Cosmos3VideoCanvasProcessorStep does (or one canvas the caller +// composed); the prompt as token ids, which src/models/cosmos3_edge_prompt.cpp builds from the instruction +// (vla-cli --text); `Inputs::noise` the 16x10 action noise (the video noise is drawn here, or read from +// VLA_COSMOS3_VIDEO_NOISE). cosmos3_libero_action (the prompt file) decodes the chunk to LIBERO commands. #include "arch.h" #include "backend.h" -#include "cosmos3_edge_build.h" #include "gguf_reader.h" +#include "loader.h" #include "model.h" #include "options.h" +#include "scratch_ctx.h" +#include "layers/attn.h" +#include "layers/conv.h" +#include "layers/norm.h" +#include "layers/rope.h" #include "ggml.h" #include "ggml-alloc.h" #include "ggml-backend.h" +#if defined(GGML_USE_CUDA) && !defined(GGML_USE_HIP) +#include +#endif + #include #include #include @@ -55,26 +62,12 @@ #include #include #include -#include #include namespace vla { namespace { -namespace graphs = cosmos3_edge_graphs; - -constexpr int kViews = 2; // [third person, wrist] -constexpr int kViewSize = 256; // each view, square (lerobot view_size) -constexpr int kContentH = 160; // the composed 256x512 frame fit into the canvas, never enlarged -constexpr int kContentW = 320; -constexpr int kCarries = 8; // xv xa lv la m1v m1a m2v m2a -constexpr int kLayers = 28; -constexpr int kPrefixOuts = kLayers * 2 + 3; // K and V per layer, bias, cos, sin -constexpr int kScalars = 10; // t sigma E A B C D Fc Gc Hc -constexpr int kStageCount = 5; -constexpr int kGraphNodes = 16384; // the cap of one stage graph; the largest (step) has about 2,200 nodes - -enum StageId { VAE = 0, PREFIX = 1, INIT = 2, STEP = 3, FINISH = 4 }; +constexpr const char * kTag = "vla(cosmos3_edge)"; double now_ms() { using clock = std::chrono::steady_clock; @@ -82,9 +75,16 @@ double now_ms() { } // ------------------------------------------------------------------------------------------------ -// The canvas: lerobot's Cosmos3VideoCanvasProcessorStep for two 256x256 views (LIBERO) +// The canvas: lerobot's Cosmos3VideoCanvasProcessorStep // ------------------------------------------------------------------------------------------------ +// How the policy's cameras fill the canvas, from the GGUF (scripts/convert_cosmos3_edge_to_gguf.py). +struct Layout { + int n_views = 2, view_h = 256, view_w = 256; // every view resized to view_h x view_w, composed side by side + int canvas_h = 192, canvas_w = 320; // the canvas of the resolution tier + int content_h = 160, content_w = 320; // the composed frame fit into it (never enlarged), top left +}; + // torch's antialiased resampling (aten UpSampleKernel, align_corners=False): per output index the input // range and its normalized filter weights. Float arithmetic as in aten, so uint8 results agree. struct AaTaps { @@ -175,9 +175,9 @@ std::vector resize_aa(const std::vector & src, int planes, int h, return out; } -// One camera view as CHW floats in [0, 1], at kViewSize (bilinear with antialias and uint8 rounding when it +// One camera view as CHW floats in [0, 1] at the view size (bilinear with antialias and uint8 rounding when it // has another size, as the processor's prepare_view does). -bool view_chw(const ImageView & v, std::vector & chw) { +bool view_chw(const ImageView & v, int view_h, int view_w, std::vector & chw) { if (!v.data || v.w <= 0 || v.h <= 0) return false; const size_t n = (size_t) v.w * (size_t) v.h; @@ -188,11 +188,11 @@ bool view_chw(const ImageView & v, std::vector & chw) { : ((const float *) v.data)[i * 3 + (size_t) c]; chw[(size_t) c * n + i] = x; } - if (v.w != kViewSize || v.h != kViewSize) { + if (v.w != view_w || v.h != view_h) { std::vector scaled(chw.size()); for (size_t i = 0; i < chw.size(); i++) scaled[i] = chw[i] * 255.f; - std::vector r = resize_aa(scaled, 3, v.h, v.w, kViewSize, kViewSize, false); + std::vector r = resize_aa(scaled, 3, v.h, v.w, view_h, view_w, false); for (float & x : r) x = std::min(std::max(std::nearbyint(x), 0.f), 255.f) / 255.f; chw = std::move(r); @@ -200,11 +200,11 @@ bool view_chw(const ImageView & v, std::vector & chw) { return true; } -// Two views -> the float canvas [3][canvas_h][canvas_w] in uint8 levels. -bool make_canvas(const ImageView * images, int n_images, int canvas_h, int canvas_w, std::vector & canvas) { +// The views -> the float canvas [3][canvas_h][canvas_w] in uint8 levels. +bool make_canvas(const ImageView * images, int n_images, const Layout & L, std::vector & canvas) { // A caller that composes the canvas itself (lerobot's processor in Python) sends it as the one image. - if (n_images == 1 && images[0].data && images[0].w == canvas_w && images[0].h == canvas_h) { - const size_t n = (size_t) canvas_w * (size_t) canvas_h; + if (n_images == 1 && images[0].data && images[0].w == L.canvas_w && images[0].h == L.canvas_h) { + const size_t n = (size_t) L.canvas_w * (size_t) L.canvas_h; canvas.resize(3 * n); for (size_t i = 0; i < n; i++) for (size_t c = 0; c < 3; c++) { @@ -215,46 +215,216 @@ bool make_canvas(const ImageView * images, int n_images, int canvas_h, int canva } return true; } - if (n_images != kViews) { - std::fprintf(stderr, "vla(cosmos3_edge): expected %d views [third person, wrist] or one %dx%d canvas, got %d images\n", kViews, canvas_w, canvas_h, n_images); - return false; - } - if (canvas_h != kContentH + 32 || canvas_w != kContentW) { - std::fprintf(stderr, "vla(cosmos3_edge): the canvas layout is compiled for 192x320\n"); + if (n_images != L.n_views) { + std::fprintf(stderr, "%s: expected %d views [third person, wrist] or one %dx%d canvas, got %d images\n", kTag, + L.n_views, L.canvas_w, L.canvas_h, n_images); return false; } - std::vector views[kViews]; - for (int i = 0; i < kViews; i++) - if (!view_chw(images[i], views[i])) { - std::fprintf(stderr, "vla(cosmos3_edge): view %d is empty\n", i); + std::vector> views((size_t) L.n_views); + for (int i = 0; i < L.n_views; i++) + if (!view_chw(images[i], L.view_h, L.view_w, views[(size_t) i])) { + std::fprintf(stderr, "%s: view %d is empty\n", kTag, i); return false; } // Side by side, to uint8 by truncation (the processor does (frame * 255).clamp(0, 255).to(uint8)). - const int fw = kViewSize * kViews, fh = kViewSize; + const int fw = L.view_w * L.n_views, fh = L.view_h; std::vector frame((size_t) 3 * (size_t) fh * (size_t) fw); for (int c = 0; c < 3; c++) for (int y = 0; y < fh; y++) - for (int v = 0; v < kViews; v++) - for (int x = 0; x < kViewSize; x++) { - const float f = views[v][((size_t) c * fh + y) * kViewSize + (size_t) x] * 255.f; - frame[((size_t) c * fh + y) * (size_t) fw + (size_t) (v * kViewSize + x)] = + for (int v = 0; v < L.n_views; v++) + for (int x = 0; x < L.view_w; x++) { + const float f = views[(size_t) v][((size_t) c * fh + y) * (size_t) L.view_w + (size_t) x] * 255.f; + frame[((size_t) c * fh + y) * (size_t) fw + (size_t) (v * L.view_w + x)] = std::trunc(std::min(std::max(f, 0.f), 255.f)); } - // Bicubic with antialias into the content area (rounded to even, as torch.round), then the canvas rows - // below it by reflection. - std::vector content = resize_aa(frame, 3, fh, fw, kContentH, kContentW, true); - for (float & x : content) - x = std::nearbyint(std::min(std::max(x, 0.f), 255.f)); - canvas.assign((size_t) 3 * (size_t) canvas_h * (size_t) canvas_w, 0.f); + // Bicubic with antialias into the content area (rounded to even, as torch.round), then the canvas filled + // to the right and below by reflection (edge replication when the padding is wider than the content). + std::vector content = frame; + if (L.content_h != fh || L.content_w != fw) { + content = resize_aa(frame, 3, fh, fw, L.content_h, L.content_w, true); + for (float & x : content) + x = std::nearbyint(std::min(std::max(x, 0.f), 255.f)); + } + const bool replicate = L.canvas_w - L.content_w >= L.content_w || L.canvas_h - L.content_h >= L.content_h; + auto src = [&](int i, int n) { // the content index a canvas index reads + if (i < n) + return i; + return replicate ? n - 1 : 2 * (n - 1) - i; // reflect without repeating the edge + }; + canvas.assign((size_t) 3 * (size_t) L.canvas_h * (size_t) L.canvas_w, 0.f); for (int c = 0; c < 3; c++) - for (int y = 0; y < canvas_h; y++) { - const int sy = y < kContentH ? y : 2 * (kContentH - 1) - y; // reflect without repeating the edge row - std::memcpy(&canvas[((size_t) c * canvas_h + y) * (size_t) canvas_w], - &content[((size_t) c * kContentH + (size_t) sy) * kContentW], sizeof(float) * kContentW); + for (int y = 0; y < L.canvas_h; y++) { + const int sy = src(y, L.content_h); + for (int x = 0; x < L.canvas_w; x++) + canvas[((size_t) c * L.canvas_h + y) * (size_t) L.canvas_w + (size_t) x] = + content[((size_t) c * L.content_h + (size_t) sy) * (size_t) L.content_w + (size_t) src(x, L.content_w)]; } return true; } +// ------------------------------------------------------------------------------------------------ +// UniPC: diffusers' UniPCMultistepScheduler as the policy configures it (flow prediction and flow sigmas, bh2, +// solver order 2, predict_x0, lower_order_final, the corrector on). f32 data, f64 coefficients, on the host. +// ------------------------------------------------------------------------------------------------ + +struct UniPC { + std::vector sigmas; // [n + 1], the last one 0 + std::vector timesteps; // [n], the integer timesteps the network is told + + // The native sigma schedule: num_steps noise levels evenly spaced from 1 - 1/num_train_timesteps (as a + // float32, like the native sampler) down to 0, shifted to shift*s / (1 + (shift-1)*s); the timesteps are + // 1000*s truncated to integers (the scheduler stores them as int64). + UniPC(int n, int train_steps, double shift) { + const double sigma_max = (double) (float) (1.0 - 1.0 / (double) train_steps); + sigmas.resize((size_t) n + 1); + timesteps.resize((size_t) n); + for (int i = 0; i < n; i++) { + const double s = sigma_max + (0.0 - sigma_max) * ((double) i / (double) n); // np.linspace(sigma_max, 0, n + 1)[i] + const double ss = shift * s / (1.0 + (shift - 1.0) * s); + sigmas[(size_t) i] = (float) ss; + timesteps[(size_t) i] = (int64_t) (ss * (double) train_steps); + } + sigmas[(size_t) n] = 0.f; + } + + // alpha = 1 - sigma (flow), lambda = log(alpha) - log(sigma). + double lambda(int i) const { + const double s = sigmas[(size_t) i]; + return std::log(1.0 - s) - std::log(s); + } + + struct Stream { + std::vector m0, m1; // model_outputs[-1], [-2]: the x0 predictions of the last two steps + std::vector last_sample; // the sample the last predictor started from + int lower_order_nums = 0, this_order = 1; + bool have_last = false; + }; + + // One scheduler.step() on a stream: v is the network's velocity at x, the sample of step i; x becomes the + // sample of step i + 1. UniC corrects x with the new model output first (from step 1 on), then UniP predicts. + void step(int i, Stream & S, const std::vector & v, std::vector & x) const { + const size_t N = x.size(); + const int n = (int) timesteps.size(); + std::vector x0(N); // convert_model_output: x0 = x - sigma_t * v + for (size_t k = 0; k < N; k++) + x0[k] = x[k] - sigmas[(size_t) i] * v[k]; + + if (i > 0 && S.have_last) { // multistep_uni_c_bh_update(x0, last_sample, x, this_order) + const double sigma_t = sigmas[(size_t) i], sigma_s0 = sigmas[(size_t) i - 1]; + const double alpha_t = 1.0 - sigma_t; + const double h = lambda(i) - lambda(i - 1), hh = -h; + const double h_phi_1 = std::expm1(hh), B_h = std::expm1(hh); + // rhos_c: R rhos = b for the order; order 1 is the fixed 1/2. + double r_m1 = 0.0, r_t = 0.5, rk = 1.0; + if (S.this_order == 2) { + rk = (lambda(i - 2) - lambda(i - 1)) / h; + double h_phi_k = h_phi_1 / hh - 1.0; + const double b0 = h_phi_k / B_h; // factorial 1 + h_phi_k = h_phi_k / hh - 1.0 / 2.0; + const double b1 = h_phi_k * 2.0 / B_h; // factorial 2 + // R = [[1, 1], [rk, 1]] + r_m1 = (b0 - b1) / (1.0 - rk); + r_t = b0 - r_m1; + } + const double c_last = sigma_t / sigma_s0; + for (size_t k = 0; k < N; k++) { + const double m0 = S.m0[k]; + double corr = r_t * ((double) x0[k] - m0); + if (S.this_order == 2) + corr += r_m1 * (((double) S.m1[k] - m0) / rk); + x[k] = (float) (c_last * (double) S.last_sample[k] - alpha_t * h_phi_1 * m0 - alpha_t * B_h * corr); + } + } + // The model-output history, then the order of this step's predictor (lower_order_final, warm-up). + S.m1 = std::move(S.m0); + S.m0 = std::move(x0); + S.this_order = std::min(std::min(2, n - i), S.lower_order_nums + 1); + S.last_sample = x; + S.have_last = true; + + // multistep_uni_p_bh_update(x, this_order): from sigma[i] to sigma[i + 1]. + const double sigma_t = sigmas[(size_t) i + 1], sigma_s0 = sigmas[(size_t) i]; + if (sigma_t <= 0.0) { + // The last step lands on sigma 0: its lambda is infinite, sigma_t/sigma_s0 is 0, h_phi_1 and B_h are -1 + // and alpha_t is 1, so the update is x = m0, the x0 prediction (lower_order_final makes this step + // order 1 whenever there are two steps or more). + for (size_t k = 0; k < N; k++) + x[k] = S.m0[k]; + } else { + const double alpha_t = 1.0 - sigma_t; + const double lambda_t = std::log(1.0 - sigma_t) - std::log(sigma_t); + const double h = lambda_t - lambda(i), hh = -h; + const double h_phi_1 = std::expm1(hh), B_h = std::expm1(hh); + const double c_x = sigma_t / sigma_s0; + double rk = 1.0; + if (S.this_order == 2) + rk = (lambda(i - 1) - lambda(i)) / h; + for (size_t k = 0; k < N; k++) { + const double m0 = S.m0[k]; + double xt = c_x * (double) x[k] - alpha_t * h_phi_1 * m0; + if (S.this_order == 2) + xt -= alpha_t * B_h * 0.5 * (((double) S.m1[k] - m0) / rk); + x[k] = (float) xt; + } + } + if (S.lower_order_nums < 2) + S.lower_order_nums++; + } +}; + +// ------------------------------------------------------------------------------------------------ +// Weights +// ------------------------------------------------------------------------------------------------ + +struct ConvW { + ggml_tensor *w = nullptr, *b = nullptr; +}; + +struct ResW { + ggml_tensor *norm1 = nullptr, *norm2 = nullptr; + ConvW conv1, conv2, shortcut; // shortcut.w null when in_dim == out_dim +}; + +struct DownW { + std::vector res; + ConvW down; // ZeroPad2d((0, 1, 0, 1)) + Conv2d(dim, dim, 3, stride 2); none on the last block + ggml_tensor * avg = nullptr; // AvgDown3D of the shortcut as a strided constant kernel; null when identity + int factor_t = 1, factor_s = 1; +}; + +struct VaeW { + ConvW conv_in; + std::vector down; + ResW mid0, mid1; + ggml_tensor * attn_norm = nullptr; + ConvW qkv, proj; // 1x1 + ggml_tensor * norm_out = nullptr; + ConvW conv_out, quant; // quant 1x1 +}; + +struct StreamW { + ggml_tensor *attn_norm = nullptr, *q = nullptr, *k = nullptr, *v = nullptr, *o = nullptr; + ggml_tensor *ffn_norm = nullptr, *up = nullptr, *down = nullptr; +}; + +struct LayerW { + StreamW und, gen; + ggml_tensor * k_norm_for_gen = nullptr; // the understanding keys' norm for the generation queries + ggml_tensor * q_norm = nullptr, * k_norm = nullptr; // the generation stream's QK norms +}; + +bool cuda_conv_has_mma() { +#if defined(GGML_USE_CUDA) && !defined(GGML_USE_HIP) + int major = 0, minor = 0; + const int dev = backend_device_index(); + return cudaDeviceGetAttribute(&major, cudaDevAttrComputeCapabilityMajor, dev) == cudaSuccess && + cudaDeviceGetAttribute(&minor, cudaDevAttrComputeCapabilityMinor, dev) == cudaSuccess && + major * 10 + minor >= 75; +#else + return false; +#endif +} + // ------------------------------------------------------------------------------------------------ // The architecture // ------------------------------------------------------------------------------------------------ @@ -264,64 +434,114 @@ struct Cosmos3EdgeModelArch : public ModelArchBase { ~Cosmos3EdgeModelArch() override; ggml_backend_t backend = nullptr; - bool gpu = false; int n_threads = default_cpu_threads(); + ggml_type mt = GGML_TYPE_BF16; // GEMM weights + // CUDA (Turing+) runs the VAE as ggml's direct convolution on F16 kernels (implicit GEMM on tensor cores, + // F32 accumulation); elsewhere the kernels stay F32 and go through im2col, as act.cpp does. + bool conv_direct = false; - // Sizes, from the GGUF. - int canvas_h = 192, canvas_w = 320, prompt_len = 192; - int vn_tokens = 200, vn_dim = 192; // video noise [tokens, dim] - int steps = 30, horizon = 16, adim = 10; + // --- sizes, from the GGUF --- + int64_t hidden = 2048, inter = 9216, n_layers = 28, n_heads = 16, n_kv_heads = 8, head_dim = 128; + float rms_eps = 1e-5f, rope_theta = 1e8f; + int mrope[3] = { 24, 20, 20 }; + int64_t time_dim = 256; + float timestep_scale = 0.001f; + int64_t margin = 15000; // temporal_modality_margin: the generation stream starts this far after the text + double base_fps = 24.0, fps = 20.0; + int steps = 30, train_steps = 1000; + double shift = 5.0; + int64_t chunk = 16, adim = 10; + int64_t z_dim = 48, vae_patch = 2, spatial = 16, temporal = 4, latent_patch = 2; + int64_t latent_h = 10, latent_w = 20; // the content's latent grid (the canvas's is cropped to it) + int64_t frames = 5, ppf = 50, n_video = 250, patch_dim = 192; // latent frames, patches per frame + int64_t max_prompt = 512; + Layout layout; + std::vector lat_mean, lat_std, q01, q99; - ggml_context * ctx_w = nullptr; // weights + // --- weights --- + ggml_context * ctx_w = nullptr; ggml_backend_buffer_t buf_w = nullptr; - std::unordered_map W; - - ggml_context * ctx_s = nullptr; // values that live across stages - ggml_backend_buffer_t buf_s = nullptr; - - struct Stage { - ggml_context * ctx = nullptr; - ggml_cgraph * gf = nullptr; - ggml_gallocr_t galloc = nullptr; - } stage[kStageCount]; - - // Inputs of the program. - ggml_tensor *canvas = nullptr, *ids = nullptr, *mask = nullptr, *vnoise = nullptr, *anoise = nullptr; - // Between stages. - ggml_tensor * z0 = nullptr; - std::vector prefix_out; // kPrefixOuts - ggml_tensor * carry_in[kCarries] = {}; - ggml_tensor * carry_out[kCarries] = {}; - ggml_tensor * scalars_cur = nullptr; // [kScalars] of the current step - ggml_tensor * scalar[kScalars] = {}; // its elements, the step graph's parameters - ggml_tensor * actions_out = nullptr; - - std::vector step_scalars; // [steps][kScalars] - std::string video_noise_file; - uint64_t calls = 0; + ggml_context * ctx_aux = nullptr; // the AvgDown kernels, made here + ggml_backend_buffer_t buf_aux = nullptr; + ggml_tensor * tok_embd = nullptr; + std::vector layers; + ggml_tensor * gen_out_norm = nullptr; + ggml_tensor *vae2llm_w = nullptr, *vae2llm_b = nullptr, *llm2vae_w = nullptr, *llm2vae_b = nullptr; + ggml_tensor *a2l_w = nullptr, *a2l_b = nullptr, *l2a_w = nullptr, *l2a_b = nullptr, *act_embed = nullptr; + ggml_tensor *te1_w = nullptr, *te1_b = nullptr, *te2_w = nullptr, *te2_b = nullptr; + VaeW vae; + // --- graphs --- + struct VaeIO { + ggml_tensor *px = nullptr, *lat = nullptr; + }; + struct PrefixIO { + ggml_tensor *ids = nullptr, *cos = nullptr, *sin = nullptr, *mask = nullptr; + }; + struct StepIO { + ggml_tensor *xv = nullptr, *xa = nullptr, *tsin = nullptr; + ggml_tensor *vv = nullptr, *va = nullptr; + // Debugging (VLA_COSMOS3_DUMP_DIR): the stream's input embeddings, layer 0's rotated queries and output. + ggml_tensor *dbg_emb = nullptr, *dbg_q0 = nullptr, *dbg_h0 = nullptr; + }; + std::string dump_dir; // VLA_COSMOS3_DUMP_DIR: intermediate tensors of a call, for tests/py/cosmos3_edge_debug.py + graph_cache vae_graph; + graph_cache prefix_graph; // keyed by the prompt length + graph_cache step_graph; + // What every step reads and the prefix sets up, in a buffer of its own so the graph allocator never reuses it + // (a graph input's memory is free after its last use): the understanding stream's keys and values of every + // layer, [head_dim, n_text, n_kv_heads], and the generation stream's rotation tables [head_dim, n_gen], whose + // positions start after the prompt. Re-made when the prompt length changes. + struct KV { + ggml_context * ctx = nullptr; + ggml_backend_buffer_t buf = nullptr; + int64_t n = 0; + std::vector k, v; + ggml_tensor * cos = nullptr, *sin = nullptr; + } kv; + + std::string video_noise_file; + uint64_t calls = 0; + + bool load_config(gguf_reader & g); bool load_weights(gguf_reader & g); - bool build_stage(StageId id, int (*fn)(graphs::ggml_compiler_stage_build *), std::vector params, - size_t n_out, std::vector & outs); - bool build_all(); - ggml_tensor * state(ggml_type type, int64_t n0, int64_t n1 = 1, int64_t n2 = 1, int64_t n3 = 1); - ggml_tensor * state_like(const ggml_tensor * t); - bool run(StageId id); + bool make_avg_kernels(); + bool ensure_kv(int64_t n); + + ggml_cgraph * build_vae(ggml_context * C, VaeIO & io) const; + ggml_cgraph * build_prefix(ggml_context * C, PrefixIO & io, int64_t n) const; + ggml_cgraph * build_step(ggml_context * C, StepIO & io, int64_t n) const; + + // Graph pieces. + ggml_tensor * lin(ggml_context * C, ggml_tensor * W, ggml_tensor * b, ggml_tensor * x) const; + ggml_tensor * conv(ggml_context * C, const ConvW & cw, ggml_tensor * x, int stride, int pad) const; + ggml_tensor * conv1x1(ggml_context * C, const ConvW & cw, ggml_tensor * x) const; + ggml_tensor * chan_rms(ggml_context * C, ggml_tensor * x, ggml_tensor * gamma) const; + ggml_tensor * resnet(ggml_context * C, const ResW & r, ggml_tensor * x) const; + ggml_tensor * vae_attention(ggml_context * C, ggml_tensor * x) const; + ggml_tensor * attend(ggml_context * C, ggml_tensor * q, ggml_tensor * k, ggml_tensor * v, ggml_tensor * mask, + int64_t n_q) const; + + // Host tables. + void rope_text(int64_t n, std::vector & cs, std::vector & sn) const; + void rope_gen(int64_t n_text, std::vector & cs, std::vector & sn) const; + void time_sinusoid(int64_t t, std::vector & out) const; std::vector predict(const Inputs & in) override; }; Cosmos3EdgeModelArch::~Cosmos3EdgeModelArch() { - for (auto & s : stage) { - if (s.galloc) - ggml_gallocr_free(s.galloc); - if (s.ctx) - ggml_free(s.ctx); - } - if (buf_s) - ggml_backend_buffer_free(buf_s); - if (ctx_s) - ggml_free(ctx_s); + vae_graph.release(); + prefix_graph.release(); + step_graph.release(); + if (kv.buf) + ggml_backend_buffer_free(kv.buf); + if (kv.ctx) + ggml_free(kv.ctx); + if (buf_aux) + ggml_backend_buffer_free(buf_aux); + if (ctx_aux) + ggml_free(ctx_aux); if (buf_w) ggml_backend_buffer_free(buf_w); if (ctx_w) @@ -330,211 +550,590 @@ Cosmos3EdgeModelArch::~Cosmos3EdgeModelArch() { ggml_backend_free(backend); } -ggml_tensor * Cosmos3EdgeModelArch::state(ggml_type type, int64_t n0, int64_t n1, int64_t n2, int64_t n3) { - return ggml_new_tensor_4d(ctx_s, type, n0, n1, n2, n3); -} +bool Cosmos3EdgeModelArch::load_config(gguf_reader & g) { + auto u = [&](const std::string & k) { return (int64_t) g.u32(("cosmos3_edge." + k).c_str()); }; + auto f = [&](const std::string & k) { return g.f32(("cosmos3_edge." + k).c_str()); }; + n_layers = u("n_layers"); hidden = u("hidden"); inter = u("intermediate"); + n_heads = u("n_heads"); n_kv_heads = u("n_kv_heads"); head_dim = u("head_dim"); + mrope[0] = (int) u("mrope_section_t"); mrope[1] = (int) u("mrope_section_h"); mrope[2] = (int) u("mrope_section_w"); + time_dim = u("time_embed_dim"); margin = u("temporal_modality_margin"); + steps = (int) u("num_steps"); train_steps = (int) u("num_train_timesteps"); + chunk = u("chunk_size"); adim = u("action_dim"); latent_patch = u("latent_patch_size"); + z_dim = u("vae.z_dim"); vae_patch = u("vae.patch_size"); + spatial = u("vae.scale_factor_spatial"); temporal = u("vae.scale_factor_temporal"); + latent_h = u("latent_h"); latent_w = u("latent_w"); max_prompt = u("prompt_len"); + layout.n_views = (int) u("n_views"); layout.view_h = (int) u("view_h"); layout.view_w = (int) u("view_w"); + layout.canvas_h = (int) u("canvas_h"); layout.canvas_w = (int) u("canvas_w"); + layout.content_h = (int) u("content_h"); layout.content_w = (int) u("content_w"); + rms_eps = f("rms_eps"); rope_theta = f("rope_theta"); timestep_scale = f("timestep_scale"); + base_fps = f("base_fps"); fps = f("fps"); shift = f("sampling_shift"); + + const int64_t n_blocks = u("vae.n_blocks"), n_res = u("vae.num_res_blocks"); + if (n_layers <= 0 || hidden <= 0 || inter <= 0 || n_heads <= 0 || n_kv_heads <= 0 || head_dim <= 0 || + n_heads % n_kv_heads != 0 || head_dim % 2 != 0 || time_dim <= 0 || time_dim % 2 != 0 || steps <= 0 || + train_steps <= 0 || chunk <= 0 || adim <= 0 || z_dim <= 0 || vae_patch != 2 || latent_patch != 2 || + spatial <= 0 || temporal <= 0 || latent_h <= 0 || latent_w <= 0 || n_blocks <= 0 || n_res <= 0 || + max_prompt <= 0 || layout.n_views <= 0 || layout.view_h <= 0 || layout.view_w <= 0 || layout.canvas_h <= 0 || + layout.canvas_w <= 0 || layout.content_h > layout.canvas_h || layout.content_w > layout.canvas_w || + !(rms_eps > 0.f) || !(rope_theta > 0.f) || !(fps > 0.0) || !(shift > 0.0) || + mrope[0] + mrope[1] + mrope[2] != head_dim / 2) { + std::fprintf(stderr, "%s: the GGUF has no valid sizes (converted with an older script?)\n", kTag); + return false; + } + if (layout.canvas_h % spatial != 0 || layout.canvas_w % spatial != 0 || layout.content_h / spatial != latent_h || + layout.content_w / spatial != latent_w || latent_h % latent_patch != 0 || latent_w % latent_patch != 0 || + chunk % temporal != 0) { + std::fprintf(stderr, "%s: canvas %dx%d / content %dx%d do not fit the VAE's grid\n", kTag, layout.canvas_h, + layout.canvas_w, layout.content_h, layout.content_w); + return false; + } + frames = 1 + chunk / temporal; + ppf = (latent_h / latent_patch) * (latent_w / latent_patch); + n_video = frames * ppf; + patch_dim = latent_patch * latent_patch * z_dim; -ggml_tensor * Cosmos3EdgeModelArch::state_like(const ggml_tensor * t) { - return ggml_new_tensor(ctx_s, t->type, ggml_n_dims(t), t->ne); + vae.down.resize((size_t) n_blocks); + for (int64_t b = 0; b < n_blocks; b++) { + DownW & d = vae.down[(size_t) b]; + d.res.resize((size_t) n_res); + d.factor_t = (int) u("vae.down." + std::to_string(b) + ".factor_t"); + d.factor_s = (int) u("vae.down." + std::to_string(b) + ".factor_s"); + if (d.factor_t < 1 || d.factor_s < 1) { + std::fprintf(stderr, "%s: VAE block %lld has no factors\n", kTag, (long long) b); + return false; + } + } + + lat_mean = g.read_f32("cosmos3_edge.latents_mean"); + lat_std = g.read_f32("cosmos3_edge.latents_std"); + q01 = g.read_f32("cosmos3_edge.action_q01"); + q99 = g.read_f32("cosmos3_edge.action_q99"); + if ((int64_t) lat_mean.size() != z_dim || (int64_t) lat_std.size() != z_dim || (int64_t) q01.size() != adim || + (int64_t) q99.size() != adim) { + std::fprintf(stderr, "%s: latent statistics or action quantiles disagree with the sizes\n", kTag); + return false; + } + for (float s : lat_std) + if (!(s > 0.f)) { + std::fprintf(stderr, "%s: a latent std is not positive\n", kTag); + return false; + } + return true; } bool Cosmos3EdgeModelArch::load_weights(gguf_reader & g) { - const int64_t n = gguf_get_n_tensors(g.gctx); - ggml_init_params p = { (size_t) (n + 8) * ggml_tensor_overhead(), nullptr, true }; + const int64_t n_tensors = gguf_get_n_tensors(g.gctx); + ggml_init_params p = { (size_t) (n_tensors + 16) * ggml_tensor_overhead(), nullptr, true }; ctx_w = ggml_init(p); if (!ctx_w) return false; - std::vector names; - for (int64_t i = 0; i < n; i++) { - const std::string name = gguf_get_tensor_name(g.gctx, i); - if (name.rfind("cosmos3_edge.", 0) == 0) // metadata tensors, not weights - continue; - const ggml_tensor * m = g.meta(name.c_str()); - if (!m) { - std::fprintf(stderr, "vla(cosmos3_edge): no metadata for tensor %s\n", name.c_str()); - return false; - } - ggml_tensor * t = ggml_new_tensor(ctx_w, m->type, ggml_n_dims(m), m->ne); - ggml_set_name(t, name.c_str()); - W[name] = t; - names.push_back(name); + WeightLoader wl("cosmos3_edge", g, ctx_w, mt); + const ggml_type ct = conv_direct ? GGML_TYPE_F16 : GGML_TYPE_F32; + + tok_embd = wl.gemm("token_embd.weight"); + layers.resize((size_t) n_layers); + for (int64_t i = 0; i < n_layers; i++) { + LayerW & L = layers[(size_t) i]; + auto stream = [&](StreamW & s, const char * pfx) { + s.attn_norm = wl.f32("blk.%lld.%sattn_norm.weight", (long long) i, pfx); + s.q = wl.gemm("blk.%lld.%sattn_q.weight", (long long) i, pfx); + s.k = wl.gemm("blk.%lld.%sattn_k.weight", (long long) i, pfx); + s.v = wl.gemm("blk.%lld.%sattn_v.weight", (long long) i, pfx); + s.o = wl.gemm("blk.%lld.%sattn_output.weight", (long long) i, pfx); + s.ffn_norm = wl.f32("blk.%lld.%sffn_norm.weight", (long long) i, pfx); + s.up = wl.gemm("blk.%lld.%sffn_up.weight", (long long) i, pfx); + s.down = wl.gemm("blk.%lld.%sffn_down.weight", (long long) i, pfx); + }; + stream(L.und, ""); + stream(L.gen, "gen."); + L.k_norm_for_gen = wl.f32("blk.%lld.attn_k_norm_gen.weight", (long long) i); + L.q_norm = wl.f32("blk.%lld.gen.attn_q_norm.weight", (long long) i); + L.k_norm = wl.f32("blk.%lld.gen.attn_k_norm.weight", (long long) i); } - // Whether these are the weights the graphs were generated for is checked by the builders: a weight they - // look up and do not find fails the stage by name. - buf_w = alloc_weights(ctx_w, backend); - if (!buf_w) { - std::fprintf(stderr, "vla(cosmos3_edge): cannot allocate the weights (%zu tensors)\n", names.size()); + gen_out_norm = wl.f32("gen.output_norm.weight"); + vae2llm_w = wl.gemm("vae2llm.weight"); vae2llm_b = wl.f32("vae2llm.bias"); + llm2vae_w = wl.gemm("llm2vae.weight"); llm2vae_b = wl.f32("llm2vae.bias"); + a2l_w = wl.gemm("action2llm.weight"); a2l_b = wl.f32("action2llm.bias"); + l2a_w = wl.gemm("llm2action.weight"); l2a_b = wl.f32("llm2action.bias"); + act_embed = wl.f32("action_modality_embed.weight"); + te1_w = wl.f32("time_embedder.linear_1.weight"); te1_b = wl.f32("time_embedder.linear_1.bias"); + te2_w = wl.f32("time_embedder.linear_2.weight"); te2_b = wl.f32("time_embedder.linear_2.bias"); + + auto cw = [&](ConvW & c, const std::string & name, bool required = true) { + c.w = required ? wl.typed(ct, "%s.weight", name.c_str()) : wl.opt_typed(ct, "%s.weight", name.c_str()); + c.b = c.w ? wl.f32("%s.bias", name.c_str()) : nullptr; + }; + auto res = [&](ResW & r, const std::string & name) { + r.norm1 = wl.f32("%s.norm1.gamma", name.c_str()); + r.norm2 = wl.f32("%s.norm2.gamma", name.c_str()); + cw(r.conv1, name + ".conv1"); + cw(r.conv2, name + ".conv2"); + cw(r.shortcut, name + ".shortcut", false); + }; + cw(vae.conv_in, "vae.conv_in"); + for (size_t b = 0; b < vae.down.size(); b++) { + for (size_t r = 0; r < vae.down[b].res.size(); r++) + res(vae.down[b].res[r], "vae.down." + std::to_string(b) + ".res." + std::to_string(r)); + cw(vae.down[b].down, "vae.down." + std::to_string(b) + ".down", false); + } + res(vae.mid0, "vae.mid.res.0"); + vae.attn_norm = wl.f32("vae.mid.attn.norm.gamma"); + cw(vae.qkv, "vae.mid.attn.qkv"); + cw(vae.proj, "vae.mid.attn.proj"); + res(vae.mid1, "vae.mid.res.1"); + vae.norm_out = wl.f32("vae.norm_out.gamma"); + cw(vae.conv_out, "vae.conv_out"); + cw(vae.quant, "vae.quant_conv"); + + if (!wl.ok() || !wl.upload(backend, &buf_w)) + return false; + + // Shape checks that the graphs rely on. + if (tok_embd->ne[0] != hidden || layers[0].und.q->ne[1] != n_heads * head_dim || + layers[0].und.k->ne[1] != n_kv_heads * head_dim || layers[0].und.up->ne[1] != inter || + vae2llm_w->ne[0] != patch_dim || vae2llm_w->ne[1] != hidden || llm2vae_w->ne[1] != patch_dim || + a2l_w->ne[0] != adim || a2l_w->ne[1] != hidden || l2a_w->ne[1] != adim || te1_w->ne[0] != time_dim || + vae.conv_in.w->ne[2] != 3 * vae_patch * vae_patch || vae.quant.w->ne[1] != 2 * z_dim) { + std::fprintf(stderr, "%s: tensor shapes disagree with the GGUF metadata\n", kTag); return false; } - std::vector tmp; - for (const std::string & name : names) { - ggml_tensor * t = W[name]; - tmp.resize(ggml_nbytes(t)); - if (!g.read_raw(name.c_str(), tmp.data(), tmp.size())) + for (size_t b = 0; b < vae.down.size(); b++) { + const DownW & d = vae.down[b]; + if ((d.factor_s > 1) != (d.down.w != nullptr)) { + std::fprintf(stderr, "%s: VAE block %zu: the downsampler and its factor disagree\n", kTag, b); return false; - ggml_backend_tensor_set(t, tmp.data(), 0, tmp.size()); + } } - return true; + return make_avg_kernels(); } -// Build one stage's graph: the generated builder, then a ggml_cpy of every output into a persistent tensor -// (created by the caller through `outs`, which receives the builder's output nodes). -bool Cosmos3EdgeModelArch::build_stage(StageId id, int (*fn)(graphs::ggml_compiler_stage_build *), - std::vector params, size_t n_out, - std::vector & outs) { - Stage & s = stage[id]; - // Metadata only (no_alloc): room for the graph's tensors and the graph itself, as act.cpp sizes its arena. - ggml_init_params p = { ggml_tensor_overhead() * (size_t) kGraphNodes + ggml_graph_overhead_custom(kGraphNodes, false), - nullptr, true }; - s.ctx = ggml_init(p); - if (!s.ctx) - return false; - graphs::ggml_compiler_stage_build b; - b.ctx = s.ctx; - b.gpu = gpu; - b.params = std::move(params); - b.weights = &W; - if (fn(&b) != 0 || !b.error.empty()) { - std::fprintf(stderr, "vla(cosmos3_edge): stage %d: %s\n", (int) id, b.error.empty() ? "builder failed" : b.error.c_str()); +// The shortcut of a Wan2.2 residual down block is AvgDown3D: the clip is frame- and pixel-unshuffled (a first +// frame has zero frames in front of it) and groups of the resulting channels are averaged into the block's +// output channels. On one frame that is a strided convolution over the block's input with a constant kernel of +// 0 and 1/g, built here. A block that keeps its size and width (the last) is the identity and gets no kernel. +bool Cosmos3EdgeModelArch::make_avg_kernels() { + struct Pending { + ggml_tensor * t; + std::vector k; + }; + std::vector pending; + const ggml_type ct = conv_direct ? GGML_TYPE_F16 : GGML_TYPE_F32; + ggml_init_params p = { (vae.down.size() + 2) * ggml_tensor_overhead(), nullptr, true }; + ctx_aux = ggml_init(p); + if (!ctx_aux) return false; + for (size_t b = 0; b < vae.down.size(); b++) { + DownW & d = vae.down[b]; + const int64_t c_in = d.res[0].conv1.w->ne[2]; + const int64_t c_out = d.res.back().conv2.w->ne[3]; + const int ft = d.factor_t, fs = d.factor_s; + const int64_t factor = (int64_t) ft * fs * fs; + if (fs == 1 && ft == 1 && c_in == c_out) + continue; // identity + if ((c_in * factor) % c_out != 0) { + std::fprintf(stderr, "%s: AvgDown3D of %lld x %lld channels into %lld does not divide\n", kTag, + (long long) c_in, (long long) factor, (long long) c_out); + return false; + } + const int64_t g = c_in * factor / c_out; + Pending pend; + pend.t = ggml_new_tensor_4d(ctx_aux, ct, fs, fs, c_in, c_out); + ggml_format_name(pend.t, "vae.avg_down.%zu", b); + pend.k.assign((size_t) (fs * fs * c_in * c_out), 0.f); + for (int64_t o = 0; o < c_out; o++) + for (int64_t c = 0; c < c_in; c++) + for (int hy = 0; hy < fs; hy++) + for (int wx = 0; wx < fs; wx++) { + // The unshuffled channel of (c, the frame itself = tap ft-1, hy, wx), as + // x.view(B, C, T', ft, H', fs, W', fs).permute(0, 1, 3, 5, 7, 2, 4, 6) orders them. + const int64_t e = ((c * ft + (ft - 1)) * fs + hy) * fs + wx; + if (e / g == o) + pend.k[(size_t) (((o * c_in + c) * fs + hy) * fs + wx)] = 1.f / (float) g; + } + d.avg = pend.t; + pending.push_back(std::move(pend)); } - if (b.outputs.size() != n_out) { - std::fprintf(stderr, "vla(cosmos3_edge): stage %d returned %zu outputs, expected %zu\n", (int) id, b.outputs.size(), n_out); + if (pending.empty()) + return true; + buf_aux = alloc_weights(ctx_aux, backend); + if (!buf_aux) return false; + for (Pending & pend : pending) { + if (ct == GGML_TYPE_F16) { + std::vector h(pend.k.size()); + ggml_fp32_to_fp16_row(pend.k.data(), h.data(), (int64_t) h.size()); + ggml_backend_tensor_set(pend.t, h.data(), 0, ggml_nbytes(pend.t)); + } else { + ggml_backend_tensor_set(pend.t, pend.k.data(), 0, ggml_nbytes(pend.t)); + } } - outs = std::move(b.outputs); return true; } -bool Cosmos3EdgeModelArch::build_all() { - ggml_init_params p = { (size_t) 512 * ggml_tensor_overhead(), nullptr, true }; - ctx_s = ggml_init(p); - if (!ctx_s) +bool Cosmos3EdgeModelArch::ensure_kv(int64_t n) { + if (kv.ctx && kv.n == n) + return true; + if (kv.buf) + ggml_backend_buffer_free(kv.buf); + if (kv.ctx) + ggml_free(kv.ctx); + kv = KV{}; + ggml_init_params p = { (size_t) (2 * n_layers + 4) * ggml_tensor_overhead(), nullptr, true }; + kv.ctx = ggml_init(p); + if (!kv.ctx) + return false; + kv.cos = ggml_new_tensor_2d(kv.ctx, GGML_TYPE_F32, head_dim, n_video + chunk); + kv.sin = ggml_new_tensor_2d(kv.ctx, GGML_TYPE_F32, head_dim, n_video + chunk); + ggml_set_name(kv.cos, "kv.cos_gen"); + ggml_set_name(kv.sin, "kv.sin_gen"); + kv.k.resize((size_t) n_layers); + kv.v.resize((size_t) n_layers); + for (int64_t i = 0; i < n_layers; i++) { + kv.k[(size_t) i] = ggml_new_tensor_3d(kv.ctx, GGML_TYPE_F32, head_dim, n, n_kv_heads); + kv.v[(size_t) i] = ggml_new_tensor_3d(kv.ctx, GGML_TYPE_F32, head_dim, n, n_kv_heads); + ggml_format_name(kv.k[(size_t) i], "kv.k.%lld", (long long) i); + ggml_format_name(kv.v[(size_t) i], "kv.v.%lld", (long long) i); + } + kv.buf = ggml_backend_alloc_ctx_tensors(kv.ctx, backend); + if (!kv.buf) return false; + std::vector cs, sn; + rope_gen(n, cs, sn); + ggml_backend_tensor_set(kv.cos, cs.data(), 0, ggml_nbytes(kv.cos)); + ggml_backend_tensor_set(kv.sin, sn.data(), 0, ggml_nbytes(kv.sin)); + kv.n = n; + return true; +} + +// ------------------------------------------------------------------------------------------------ +// Graph pieces +// ------------------------------------------------------------------------------------------------ + +ggml_tensor * Cosmos3EdgeModelArch::lin(ggml_context * C, ggml_tensor * W, ggml_tensor * b, ggml_tensor * x) const { + ggml_tensor * y = ggml_mul_mat(C, W, x); + if (mm_prec_f32_enabled()) + ggml_prec_set_acc(y, GGML_PREC_F32); + return b ? ggml_add(C, y, b) : y; +} + +// x [W, H, C, 1] -> [OW, OH, OC, 1] with the bias. +ggml_tensor * Cosmos3EdgeModelArch::conv(ggml_context * C, const ConvW & cw, ggml_tensor * x, int stride, int pad) const { + ggml_tensor * y = cw.w->type == GGML_TYPE_F16 ? ggml_conv_2d_direct(C, cw.w, x, stride, stride, pad, pad, 1, 1) + : conv_2d_f32(C, cw.w, x, stride, pad); + return cw.b ? ggml_add(C, y, ggml_reshape_4d(C, cw.b, 1, 1, cw.b->ne[0], 1)) : y; +} + +// A 1x1 convolution stored as a linear map [IC, OC]. +ggml_tensor * Cosmos3EdgeModelArch::conv1x1(ggml_context * C, const ConvW & cw, ggml_tensor * x) const { + const ConvW k4 = { ggml_reshape_4d(C, cw.w, 1, 1, cw.w->ne[0], cw.w->ne[1]), cw.b }; + return conv(C, k4, x, 1, 0); +} + +// WanRMS_norm over the channels of x [W, H, C, 1]: F.normalize(x, dim=channels) * sqrt(C) * gamma, which is +// x / rms(x) * gamma. (F.normalize clamps the norm at 1e-12; a channel vector of zeros does not occur.) +ggml_tensor * Cosmos3EdgeModelArch::chan_rms(ggml_context * C, ggml_tensor * x, ggml_tensor * gamma) const { + ggml_tensor * t = ggml_cont(C, ggml_permute(C, x, 1, 2, 0, 3)); // [C, W, H] + t = ggml_mul(C, ggml_rms_norm(C, t, 1e-24f), gamma); + return ggml_cont(C, ggml_permute(C, t, 2, 0, 1, 3)); // [W, H, C] +} - // Inputs (ggml order: innermost first). - canvas = state(GGML_TYPE_F32, canvas_w, canvas_h, 3, 1); - ids = state(GGML_TYPE_I32, prompt_len, 1); - mask = state(GGML_TYPE_F32, prompt_len, 1); - vnoise = state(GGML_TYPE_F32, vn_dim, vn_tokens, 1); - anoise = state(GGML_TYPE_F32, adim, horizon, 1); - // The 10 scalars of a step are one tensor, uploaded once per step; the graph reads them as 1-element views. - scalars_cur = state(GGML_TYPE_F32, kScalars); - for (int j = 0; j < kScalars; j++) - scalar[j] = ggml_view_1d(ctx_s, scalars_cur, 1, (size_t) j * sizeof(float)); - - // Each stage: build, give every output a persistent home, add the copies to the graph. - auto finish_graph = [&](StageId id, const std::vector & outs, const std::vector & dsts) { - Stage & s = stage[id]; - s.gf = ggml_new_graph_custom(s.ctx, kGraphNodes, false); - for (size_t i = 0; i < outs.size(); i++) - ggml_build_forward_expand(s.gf, ggml_cpy(s.ctx, outs[i], dsts[i])); +// WanResidualBlock on one frame: norm, SiLU, conv, norm, SiLU, conv, plus the (1x1) shortcut. +ggml_tensor * Cosmos3EdgeModelArch::resnet(ggml_context * C, const ResW & r, ggml_tensor * x) const { + ggml_tensor * h = r.shortcut.w ? conv1x1(C, r.shortcut, x) : x; + ggml_tensor * y = conv(C, r.conv1, ggml_silu(C, chan_rms(C, x, r.norm1)), 1, 1); + y = conv(C, r.conv2, ggml_silu(C, chan_rms(C, y, r.norm2)), 1, 1); + return ggml_add(C, y, h); +} + +// WanAttentionBlock: single-head attention over the frame's positions, the channels as the head. +ggml_tensor * Cosmos3EdgeModelArch::vae_attention(ggml_context * C, ggml_tensor * x) const { + const int64_t W = x->ne[0], H = x->ne[1], Ch = x->ne[2], N = W * H; + ggml_tensor * qkv = conv1x1(C, vae.qkv, chan_rms(C, x, vae.attn_norm)); // [W, H, 3 Ch] + auto part = [&](int i) { // channel block i as [Ch, N]: one row per position + ggml_tensor * v = ggml_view_3d(C, qkv, W, H, Ch, qkv->nb[1], qkv->nb[2], (size_t) i * (size_t) Ch * qkv->nb[2]); + return ggml_cont(C, ggml_transpose(C, ggml_reshape_2d(C, ggml_cont(C, v), N, Ch))); }; + ggml_tensor * q = part(0), *k = part(1), *v = part(2); + // Always the explicit form: a head of 640 is outside the flash-attention kernels' head sizes. + ggml_tensor * kq = ggml_mul_mat(C, k, q); // [N_k, N_q] + ggml_prec_set_acc(kq, GGML_PREC_F32); + kq = ggml_soft_max_ext(C, kq, nullptr, 1.0f / std::sqrt((float) Ch), 0.0f); + ggml_tensor * o = ggml_mul_mat(C, ggml_cont(C, ggml_transpose(C, v)), kq); // [Ch, N_q] + ggml_prec_set_acc(o, GGML_PREC_F32); + o = ggml_reshape_3d(C, ggml_cont(C, ggml_transpose(C, ggml_reshape_2d(C, o, Ch, N))), W, H, Ch); + return ggml_add(C, conv1x1(C, vae.proj, o), x); +} - std::vector outs; - if (!build_stage(VAE, graphs::build_vae_encode, { canvas }, 1, outs)) - return false; - z0 = state_like(outs[0]); - finish_graph(VAE, outs, { z0 }); +// q [head_dim, n_q, n_heads], k and v [head_dim, n_k, n_kv_heads] (the query heads of a key head read it, as +// grouped-query attention does) -> [hidden, n_q]. mask [n_k, n_q] F32 or null. +ggml_tensor * Cosmos3EdgeModelArch::attend(ggml_context * C, ggml_tensor * q, ggml_tensor * k, ggml_tensor * v, + ggml_tensor * mask, int64_t n_q) const { + const float scale = 1.0f / std::sqrt((float) head_dim); + if (flash_attn_enabled()) { + ggml_tensor * m16 = mask ? ggml_cast(C, mask, GGML_TYPE_F16) : nullptr; + return ggml_reshape_2d(C, flash_attention(C, q, fa_kv(C, k), fa_kv(C, v), m16, scale), hidden, n_q); + } + ggml_tensor * vt = ggml_cont(C, ggml_permute(C, v, 1, 0, 2, 3)); // [n_k, head_dim, n_kv_heads] + return ggml_reshape_2d(C, attention(C, q, k, vt, mask, scale, hidden, n_q), hidden, n_q); +} - if (!build_stage(PREFIX, graphs::build_prefix, { ids, mask }, kPrefixOuts, outs)) - return false; - prefix_out.clear(); - for (ggml_tensor * o : outs) - prefix_out.push_back(state_like(o)); - finish_graph(PREFIX, outs, prefix_out); +// ------------------------------------------------------------------------------------------------ +// Graphs +// ------------------------------------------------------------------------------------------------ - if (!build_stage(INIT, graphs::build_init, { z0, vnoise, anoise }, kCarries, outs)) - return false; - for (int i = 0; i < kCarries; i++) - carry_in[i] = state_like(outs[(size_t) i]); - finish_graph(INIT, outs, std::vector(carry_in, carry_in + kCarries)); +// The Wan2.2 encoder on one frame. px: the canvas in [-1, 1], pixel-unshuffled to [W/2, H/2, 12] (host). +// lat: the mean of the posterior, [W/16, H/16, z_dim], before normalization and cropping (host). +ggml_cgraph * Cosmos3EdgeModelArch::build_vae(ggml_context * C, VaeIO & io) const { + const int64_t W0 = layout.canvas_w / vae_patch, H0 = layout.canvas_h / vae_patch; + io.px = ggml_new_tensor_4d(C, GGML_TYPE_F32, W0, H0, 3 * vae_patch * vae_patch, 1); + ggml_set_input(io.px); - { - std::vector params(carry_in, carry_in + kCarries); - params.insert(params.end(), prefix_out.begin(), prefix_out.end()); - params.insert(params.end(), scalar, scalar + kScalars); - if (!build_stage(STEP, graphs::build_step, params, kCarries, outs)) - return false; - for (int i = 0; i < kCarries; i++) { - if (!ggml_are_same_shape(outs[(size_t) i], carry_in[i])) { - std::fprintf(stderr, "vla(cosmos3_edge): step output %d does not match its carry\n", i); - return false; - } - carry_out[i] = state_like(outs[(size_t) i]); + ggml_tensor * x = conv(C, vae.conv_in, io.px, 1, 1); + for (const DownW & d : vae.down) { + ggml_tensor * x_in = x; + for (const ResW & r : d.res) + x = resnet(C, r, x); + if (d.down.w) + x = conv(C, d.down, ggml_pad(C, x, 1, 1, 0, 0), 2, 0); + ggml_tensor * sc = d.avg ? conv(C, ConvW{ d.avg, nullptr }, x_in, d.factor_s, 0) : x_in; + x = ggml_add(C, x, sc); + } + x = resnet(C, vae.mid0, x); + x = vae_attention(C, x); + x = resnet(C, vae.mid1, x); + x = conv(C, vae.conv_out, ggml_silu(C, chan_rms(C, x, vae.norm_out)), 1, 1); // [w, h, 2 z] + x = conv1x1(C, vae.quant, x); + // DiagonalGaussianDistribution.mode(): the first z_dim channels. + io.lat = ggml_cont(C, ggml_view_3d(C, x, x->ne[0], x->ne[1], z_dim, x->nb[1], x->nb[2], 0)); + ggml_set_output(io.lat); + + ggml_cgraph * gf = ggml_new_graph_custom(C, 4096, false); + ggml_build_forward_expand(gf, io.lat); + return gf; +} + +// The understanding stream over the n prompt tokens (causal), writing every layer's keys as the generation +// queries read them (their own norm, then RoPE) and values into kv. +ggml_cgraph * Cosmos3EdgeModelArch::build_prefix(ggml_context * C, PrefixIO & io, int64_t n) const { + io.ids = ggml_new_tensor_1d(C, GGML_TYPE_I32, n); + io.cos = ggml_new_tensor_2d(C, GGML_TYPE_F32, head_dim, n); + io.sin = ggml_new_tensor_2d(C, GGML_TYPE_F32, head_dim, n); + io.mask = ggml_new_tensor_2d(C, GGML_TYPE_F32, n, n); + for (ggml_tensor * t : { io.ids, io.cos, io.sin, io.mask }) + ggml_set_input(t); + + ggml_cgraph * gf = ggml_new_graph_custom(C, 8192, false); + ggml_tensor * h = ggml_get_rows(C, tok_embd, io.ids); // [hidden, n] f32 + for (int64_t i = 0; i < n_layers; i++) { + const LayerW & L = layers[(size_t) i]; + ggml_tensor * x = rms_norm(C, h, L.und.attn_norm, rms_eps); + ggml_tensor * q = to_heads(C, lin(C, L.und.q, nullptr, x), head_dim, n_heads, n); + ggml_tensor * k = to_heads(C, lin(C, L.und.k, nullptr, x), head_dim, n_kv_heads, n); + ggml_tensor * v = to_heads(C, lin(C, L.und.v, nullptr, x), head_dim, n_kv_heads, n); + // What the generation stream reads of this layer. + ggml_tensor * k_gen = rope_2d(C, rms_norm(C, k, L.k_norm_for_gen, rms_eps), io.cos, io.sin); + ggml_build_forward_expand(gf, ggml_cpy(C, k_gen, kv.k[(size_t) i])); + ggml_build_forward_expand(gf, ggml_cpy(C, v, kv.v[(size_t) i])); + // Nemotron's understanding attention has no QK norm. + q = rope_2d(C, q, io.cos, io.sin); + k = rope_2d(C, k, io.cos, io.sin); + h = ggml_add(C, h, lin(C, L.und.o, nullptr, attend(C, q, k, v, io.mask, n))); + x = rms_norm(C, h, L.und.ffn_norm, rms_eps); + h = ggml_add(C, h, lin(C, L.und.down, nullptr, ggml_sqr(C, ggml_relu(C, lin(C, L.und.up, nullptr, x))))); + } + return gf; +} + +// One network call of the generation stream: [video patches | actions] at the timestep, attending to +// [prompt | itself] in every layer, to the velocities of the video patches and the actions. +ggml_cgraph * Cosmos3EdgeModelArch::build_step(ggml_context * C, StepIO & io, int64_t n) const { + (void) n; // the prompt length enters through kv + const int64_t n_gen = n_video + chunk; + io.xv = ggml_new_tensor_2d(C, GGML_TYPE_F32, patch_dim, n_video); + io.xa = ggml_new_tensor_2d(C, GGML_TYPE_F32, adim, chunk); + io.tsin = ggml_new_tensor_1d(C, GGML_TYPE_F32, time_dim); + for (ggml_tensor * t : { io.xv, io.xa, io.tsin }) + ggml_set_input(t); + + // TimestepEmbedding of the sinusoid (f32): linear, SiLU, linear. + ggml_tensor * temb = lin(C, te2_w, te2_b, ggml_silu(C, lin(C, te1_w, te1_b, io.tsin))); // [hidden] + // Video patches: vae2llm, plus the timestep embedding on the noisy frames (not on the condition frame). + ggml_tensor * ve = lin(C, vae2llm_w, vae2llm_b, io.xv); // [hidden, n_video] + ggml_tensor * cond = ggml_view_2d(C, ve, hidden, ppf, ve->nb[1], 0); + ggml_tensor * rest = ggml_add(C, ggml_view_2d(C, ve, hidden, n_video - ppf, ve->nb[1], (size_t) ppf * ve->nb[1]), temb); + ve = ggml_concat(C, ggml_cont(C, cond), rest, 1); + // Actions: action2llm of the embodiment, the modality embedding, the timestep embedding. + ggml_tensor * ae = ggml_add(C, ggml_add(C, lin(C, a2l_w, a2l_b, io.xa), act_embed), temb); // [hidden, chunk] + ggml_tensor * h = ggml_concat(C, ve, ae, 1); // [hidden, n_gen] + if (!dump_dir.empty()) + io.dbg_emb = h; + + for (int64_t i = 0; i < n_layers; i++) { + const LayerW & L = layers[(size_t) i]; + ggml_tensor * x = rms_norm(C, h, L.gen.attn_norm, rms_eps); + // QK norm per head, then heads, then RoPE. + auto heads = [&](ggml_tensor * p, ggml_tensor * norm, int64_t nh) { + ggml_tensor * t = ggml_reshape_3d(C, p, head_dim, nh, n_gen); + if (norm) + t = rms_norm(C, t, norm, rms_eps); + return ggml_cont(C, ggml_permute(C, t, 0, 2, 1, 3)); // [head_dim, n_gen, nh] + }; + ggml_tensor * q = rope_2d(C, heads(lin(C, L.gen.q, nullptr, x), L.q_norm, n_heads), kv.cos, kv.sin); + ggml_tensor * k = rope_2d(C, heads(lin(C, L.gen.k, nullptr, x), L.k_norm, n_kv_heads), kv.cos, kv.sin); + ggml_tensor * v = heads(lin(C, L.gen.v, nullptr, x), nullptr, n_kv_heads); + ggml_tensor * K = ggml_concat(C, kv.k[(size_t) i], k, 1); // [head_dim, n + n_gen, n_kv_heads] + ggml_tensor * V = ggml_concat(C, kv.v[(size_t) i], v, 1); + h = ggml_add(C, h, lin(C, L.gen.o, nullptr, attend(C, q, K, V, nullptr, n_gen))); + x = rms_norm(C, h, L.gen.ffn_norm, rms_eps); + h = ggml_add(C, h, lin(C, L.gen.down, nullptr, ggml_sqr(C, ggml_relu(C, lin(C, L.gen.up, nullptr, x))))); + if (i == 0 && !dump_dir.empty()) { + io.dbg_q0 = q; + io.dbg_h0 = h; } - finish_graph(STEP, outs, std::vector(carry_out, carry_out + kCarries)); - // Then the carries of the next step: the outputs copied back into the tensors the step read. These - // are the last nodes of the graph, after every output is written, and a backend runs a graph's nodes - // in order, so the loop needs no device-to-device copies from the host. - for (int i = 0; i < kCarries; i++) - ggml_build_forward_expand(stage[STEP].gf, ggml_cpy(stage[STEP].ctx, carry_out[i], carry_in[i])); } + h = rms_norm(C, h, gen_out_norm, rms_eps); + ggml_tensor * hv = ggml_view_2d(C, h, hidden, n_video, h->nb[1], 0); + ggml_tensor * ha = ggml_view_2d(C, h, hidden, chunk, h->nb[1], (size_t) n_video * h->nb[1]); + io.vv = lin(C, llm2vae_w, llm2vae_b, hv); // [patch_dim, n_video] + io.va = lin(C, l2a_w, l2a_b, ha); // [adim, chunk] + ggml_set_output(io.vv); + ggml_set_output(io.va); - // finish reads xa, the second carry. - if (!build_stage(FINISH, graphs::build_finish, { carry_in[1] }, 1, outs)) - return false; - actions_out = state_like(outs[0]); - finish_graph(FINISH, outs, { actions_out }); + ggml_cgraph * gf = ggml_new_graph_custom(C, 8192, false); + ggml_build_forward_expand(gf, io.vv); + ggml_build_forward_expand(gf, io.va); + for (ggml_tensor * t : { io.dbg_emb, io.dbg_q0, io.dbg_h0 }) + if (t) { + ggml_set_output(t); + ggml_build_forward_expand(gf, t); + } + return gf; +} - buf_s = alloc_weights(ctx_s, backend); - if (!buf_s) - return false; - for (int i = 0; i < kStageCount; i++) { - Stage & s = stage[i]; - s.galloc = ggml_gallocr_new(ggml_backend_get_default_buffer_type(backend)); - if (!s.galloc || !ggml_gallocr_alloc_graph(s.galloc, s.gf)) { - std::fprintf(stderr, "vla(cosmos3_edge): cannot allocate the compute buffer of stage %d\n", i); - return false; +// Debugging: a device tensor to /.f32, in ggml's layout (innermost dim first). +void dump_tensor(const std::string & dir, const char * name, ggml_tensor * t) { + if (!t) + return; + std::vector v((size_t) ggml_nelements(t)); + ggml_backend_tensor_get(t, v.data(), 0, ggml_nbytes(t)); + if (FILE * f = std::fopen((dir + "/" + name + ".f32").c_str(), "wb")) { + std::fwrite(v.data(), sizeof(float), v.size(), f); + std::fclose(f); + } +} + +// ------------------------------------------------------------------------------------------------ +// Host tables +// ------------------------------------------------------------------------------------------------ + +// The understanding stream's positions are 0..n-1 on all three M-RoPE axes, so its rotation is the plain one. +// Float arithmetic as the reference: inv_freq = 1 / theta^(2j/d) in f32, angle = position * inv_freq in f32. +void Cosmos3EdgeModelArch::rope_text(int64_t n, std::vector & cs, std::vector & sn) const { + const int64_t half = head_dim / 2; + cs.resize((size_t) (n * head_dim)); + sn.resize((size_t) (n * head_dim)); + for (int64_t s = 0; s < n; s++) + for (int64_t j = 0; j < half; j++) { + const float inv = 1.0f / std::pow(rope_theta, (float) (2 * j) / (float) head_dim); + const float a = (float) s * inv; + cs[(size_t) (s * head_dim + j)] = cs[(size_t) (s * head_dim + half + j)] = (float) std::cos((double) a); + sn[(size_t) (s * head_dim + j)] = sn[(size_t) (s * head_dim + half + j)] = (float) std::sin((double) a); } +} + +// The generation stream's M-RoPE positions (Cosmos3VFMNetwork.get_rope_index): it starts +// temporal_modality_margin after the last text position; latent frame j sits at j * (base_fps / temporal) * +// (temporal / fps) on the time axis and on its patch grid on the height and width axes; action i at +// (i + 1) * frame_step / temporal with zero height and width. The three axes interleave over the frequencies +// as Qwen3-VL's rotary embedding does ([T H W T H W ... T T] over mrope_section). +void Cosmos3EdgeModelArch::rope_gen(int64_t n_text, std::vector & cs, std::vector & sn) const { + const int64_t half = head_dim / 2, n_gen = n_video + chunk; + const int64_t grid_w = latent_w / latent_patch; + const float gen_start = (float) (n_text - 1) + 1.f + (float) margin; + const float frame_step = (float) (base_fps / (double) temporal) * (float) ((double) temporal / fps); + std::vector pos(3 * (size_t) n_gen); + for (int64_t t = 0; t < n_video; t++) { + const int64_t fr = t / ppf, p = t % ppf; + pos[3 * (size_t) t + 0] = gen_start + (float) fr * frame_step; + pos[3 * (size_t) t + 1] = (float) (p / grid_w); + pos[3 * (size_t) t + 2] = (float) (p % grid_w); } - return true; + for (int64_t i = 0; i < chunk; i++) { + const int64_t t = n_video + i; + pos[3 * (size_t) t + 0] = gen_start + (float) (i + 1) * (frame_step / (float) temporal); + pos[3 * (size_t) t + 1] = pos[3 * (size_t) t + 2] = 0.f; + } + cs.resize((size_t) (n_gen * head_dim)); + sn.resize((size_t) (n_gen * head_dim)); + for (int64_t s = 0; s < n_gen; s++) + for (int64_t j = 0; j < half; j++) { + int axis = 0; + if (j % 3 == 1 && j < 3 * mrope[1]) + axis = 1; + else if (j % 3 == 2 && j < 3 * mrope[2]) + axis = 2; + const float inv = 1.0f / std::pow(rope_theta, (float) (2 * j) / (float) head_dim); + const float a = pos[3 * (size_t) s + (size_t) axis] * inv; + cs[(size_t) (s * head_dim + j)] = cs[(size_t) (s * head_dim + half + j)] = (float) std::cos((double) a); + sn[(size_t) (s * head_dim + j)] = sn[(size_t) (s * head_dim + half + j)] = (float) std::sin((double) a); + } } -bool Cosmos3EdgeModelArch::run(StageId id) { - return ggml_backend_graph_compute(backend, stage[id].gf) == GGML_STATUS_SUCCESS; +// SinusoidalTimesteps of t * timestep_scale: cos features then sin, frequencies exp(-ln(10000) j / half). +void Cosmos3EdgeModelArch::time_sinusoid(int64_t t, std::vector & out) const { + const int64_t half = time_dim / 2; + const float ts = (float) t * timestep_scale; + out.resize((size_t) time_dim); + for (int64_t j = 0; j < half; j++) { + const float freq = std::exp(-std::log(10000.f) * (float) j / (float) half); + const float a = ts * freq; + out[(size_t) j] = (float) std::cos((double) a); + out[(size_t) (half + j)] = (float) std::sin((double) a); + } } +// ------------------------------------------------------------------------------------------------ +// predict +// ------------------------------------------------------------------------------------------------ + std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { const double t0 = now_ms(); stats = Stats{}; + if (in.precomputed_img_emb) { + std::fprintf(stderr, "%s: precomputed_img_emb is not supported; pass the camera views\n", kTag); + return {}; + } - // --- inputs --------------------------------------------------------------------------------- - std::vector canvas_f; - if (!make_canvas(in.images, in.n_images, canvas_h, canvas_w, canvas_f)) + // --- inputs ----------------------------------------------------------------------------------- + std::vector canvas; + if (!make_canvas(in.images, in.n_images, layout, canvas)) return {}; - // Debugging: the canvas as the graphs read it (CHW floats in uint8 levels), for comparing with the - // lerobot processor's. + // Debugging: the canvas as the VAE reads it (CHW floats in uint8 levels), to compare with lerobot's. if (const char * dump = std::getenv("VLA_COSMOS3_DUMP_CANVAS")) { if (FILE * f = std::fopen(dump, "wb")) { - std::fwrite(canvas_f.data(), sizeof(float), canvas_f.size(), f); + std::fwrite(canvas.data(), sizeof(float), canvas.size(), f); std::fclose(f); } } if (!in.lang_tokens || in.n_lang <= 0) { - std::fprintf(stderr, "vla(cosmos3_edge): no prompt tokens (build them with the lerobot prompt and tokenizer steps)\n"); + std::fprintf(stderr, "%s: no prompt tokens (build them with the lerobot prompt and tokenizer steps)\n", kTag); return {}; } - std::vector ids_f((size_t) prompt_len, 0); - std::vector mask_f((size_t) prompt_len, 0.f); - int n_real = 0; + std::vector ids; for (int i = 0; i < in.n_lang; i++) { if (in.attention_mask && i < in.attention_mask_n && in.attention_mask[i] == 0) continue; // padding: only the real tokens go in, in order - if (n_real >= prompt_len) { - std::fprintf(stderr, "vla(cosmos3_edge): prompt of more than %d tokens\n", prompt_len); - return {}; - } - ids_f[(size_t) n_real] = in.lang_tokens[i]; - mask_f[(size_t) n_real] = 1.f; - n_real++; + ids.push_back(in.lang_tokens[i]); } - if (n_real == 0) + const int64_t n = (int64_t) ids.size(); + if (n == 0 || n > max_prompt) { + std::fprintf(stderr, "%s: prompt of %lld tokens; 1 to %lld are taken\n", kTag, (long long) n, (long long) max_prompt); return {}; + } - // Action noise from the caller; the video noise is drawn here from a seed that follows it, or read from - // a file of vn_tokens*vn_dim floats (VLA_COSMOS3_VIDEO_NOISE: for comparing with another implementation). - std::vector an((size_t) horizon * (size_t) adim, 0.f); + // Action noise from the caller; the video noise is drawn here from a seed that follows it, or read from a + // file of (frames-1)*ppf x patch_dim floats (VLA_COSMOS3_VIDEO_NOISE: for comparing with another implementation). + std::vector an((size_t) (chunk * adim), 0.f); uint64_t seed = 1469598103934665603ull; // FNV-1a over the action noise, else a fixed seed if (in.noise) { std::memcpy(an.data(), in.noise, sizeof(float) * an.size()); @@ -551,11 +1150,11 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { x = nd(rng); seed = rng(); // the video noise follows the action noise just drawn } - std::vector vn((size_t) vn_tokens * (size_t) vn_dim); + std::vector vn((size_t) ((frames - 1) * ppf * patch_dim)); if (!video_noise_file.empty()) { FILE * f = std::fopen(video_noise_file.c_str(), "rb"); if (!f || std::fread(vn.data(), sizeof(float), vn.size(), f) != vn.size()) { - std::fprintf(stderr, "vla(cosmos3_edge): cannot read %zu floats from %s\n", vn.size(), video_noise_file.c_str()); + std::fprintf(stderr, "%s: cannot read %zu floats from %s\n", kTag, vn.size(), video_noise_file.c_str()); if (f) std::fclose(f); return {}; @@ -569,38 +1168,158 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { } calls++; - ggml_backend_tensor_set(canvas, canvas_f.data(), 0, ggml_nbytes(canvas)); - ggml_backend_tensor_set(ids, ids_f.data(), 0, ggml_nbytes(ids)); - ggml_backend_tensor_set(mask, mask_f.data(), 0, ggml_nbytes(mask)); - ggml_backend_tensor_set(vnoise, vn.data(), 0, ggml_nbytes(vnoise)); - ggml_backend_tensor_set(anoise, an.data(), 0, ggml_nbytes(anoise)); - - // --- stages --------------------------------------------------------------------------------- - const double t1 = now_ms(); - if (!run(VAE)) - return {}; + // --- the VAE: canvas -> latent of the condition frame ----------------------------------------------- + const double t1 = now_ms(); + const int64_t W0 = layout.canvas_w / vae_patch, H0 = layout.canvas_h / vae_patch; + { + const size_t arena = ggml_tensor_overhead() * 4096 + ggml_graph_overhead_custom(4096, false); + if (!vae_graph.ensure(backend, 0, arena, [&](ggml_context * C, VaeIO & io) { return build_vae(C, io); })) { + std::fprintf(stderr, "%s: VAE graph build/alloc failed\n", kTag); + return {}; + } + // [-1, 1], then Wan's patchify: channel (c * p + r) * p + q holds pixel (2h + q, 2w + r). + std::vector px((size_t) (W0 * H0 * 3 * vae_patch * vae_patch)); + for (int64_t c = 0; c < 3; c++) + for (int64_t q = 0; q < vae_patch; q++) + for (int64_t r = 0; r < vae_patch; r++) { + const int64_t ch = (c * vae_patch + r) * vae_patch + q; + for (int64_t y = 0; y < H0; y++) + for (int64_t x = 0; x < W0; x++) + px[(size_t) ((ch * H0 + y) * W0 + x)] = + canvas[(size_t) ((c * layout.canvas_h + (vae_patch * y + q)) * layout.canvas_w + vae_patch * x + r)] / 127.5f - 1.f; + } + VaeIO & io = vae_graph.io(); + ggml_backend_tensor_set(io.px, px.data(), 0, ggml_nbytes(io.px)); + graph_unique_names(vae_graph.graph()); + if (ggml_backend_graph_compute(backend, vae_graph.graph()) != GGML_STATUS_SUCCESS) { + std::fprintf(stderr, "%s: VAE compute failed\n", kTag); + return {}; + } + } + // The latent [w, h, z], normalized with the VAE's statistics, cropped to the content's grid, patchified + // ("cthpwq->thwpqc"): patch (h, w) holds (p, q, c) = latent[c, 2h + p, 2w + q]. + std::vector xv((size_t) (n_video * patch_dim)); + { + const VaeIO & io = vae_graph.io(); + const int64_t lw = io.lat->ne[0], lh = io.lat->ne[1]; + if (lw < latent_w || lh < latent_h || io.lat->ne[2] != z_dim) { + std::fprintf(stderr, "%s: the VAE produced a %lldx%lld latent, the content needs %lldx%lld\n", kTag, + (long long) lh, (long long) lw, (long long) latent_h, (long long) latent_w); + return {}; + } + std::vector lat((size_t) (lw * lh * z_dim)); + ggml_backend_tensor_get(io.lat, lat.data(), 0, ggml_nbytes(io.lat)); + const int64_t grid_w = latent_w / latent_patch; + for (int64_t c = 0; c < z_dim; c++) + for (int64_t y = 0; y < latent_h; y++) + for (int64_t x = 0; x < latent_w; x++) { + const float z = (lat[(size_t) ((c * lh + y) * lw + x)] - lat_mean[(size_t) c]) / lat_std[(size_t) c]; + const int64_t patch = (y / latent_patch) * grid_w + x / latent_patch; + const int64_t d = ((y % latent_patch) * latent_patch + x % latent_patch) * z_dim + c; + xv[(size_t) (patch * patch_dim + d)] = z; + } + if (const char * dump = std::getenv("VLA_COSMOS3_DUMP_Z0")) { + if (FILE * f = std::fopen(dump, "wb")) { + std::fwrite(xv.data(), sizeof(float), (size_t) (ppf * patch_dim), f); + std::fclose(f); + } + } + } + // The 4 predicted frames start as pure noise (noise level 1), the condition frame stays clean. + std::memcpy(&xv[(size_t) (ppf * patch_dim)], vn.data(), sizeof(float) * vn.size()); const double t2 = now_ms(); - if (!run(PREFIX) || !run(INIT)) - return {}; + + // --- the prompt: the understanding stream's keys and values ------------------------------------------- + { + if (!ensure_kv(n)) { + std::fprintf(stderr, "%s: cannot allocate the prompt cache\n", kTag); + return {}; + } + const size_t arena = ggml_tensor_overhead() * 8192 + ggml_graph_overhead_custom(8192, false); + bool fresh = false; + if (!prefix_graph.ensure(backend, n, arena, [&](ggml_context * C, PrefixIO & io) { fresh = true; return build_prefix(C, io, n); })) { + std::fprintf(stderr, "%s: prefix graph build/alloc failed\n", kTag); + return {}; + } + if (fresh) // the step graph reads kv, which was re-made with the prefix + step_graph.release(); + PrefixIO & io = prefix_graph.io(); + std::vector cs, sn, mask((size_t) (n * n), 0.f); + rope_text(n, cs, sn); + for (int64_t q = 0; q < n; q++) + for (int64_t k = q + 1; k < n; k++) + mask[(size_t) (q * n + k)] = -INFINITY; + ggml_backend_tensor_set(io.ids, ids.data(), 0, ggml_nbytes(io.ids)); + ggml_backend_tensor_set(io.cos, cs.data(), 0, ggml_nbytes(io.cos)); + ggml_backend_tensor_set(io.sin, sn.data(), 0, ggml_nbytes(io.sin)); + ggml_backend_tensor_set(io.mask, mask.data(), 0, ggml_nbytes(io.mask)); + graph_unique_names(prefix_graph.graph()); + if (ggml_backend_graph_compute(backend, prefix_graph.graph()) != GGML_STATUS_SUCCESS) { + std::fprintf(stderr, "%s: prefix compute failed\n", kTag); + return {}; + } + if (!dump_dir.empty()) { + dump_tensor(dump_dir, "kv_k0", kv.k[0]); + dump_tensor(dump_dir, "kv_v0", kv.v[0]); + dump_tensor(dump_dir, "kv_k_last", kv.k.back()); + dump_tensor(dump_dir, "kv_v_last", kv.v.back()); + } + } const double t3 = now_ms(); - for (int k = 0; k < steps; k++) { // the step graph writes the next carries itself - ggml_backend_tensor_set(scalars_cur, &step_scalars[(size_t) k * kScalars], 0, ggml_nbytes(scalars_cur)); - if (!run(STEP)) + + // --- the denoising loop ------------------------------------------------------------------------------ + { + const size_t arena = ggml_tensor_overhead() * 8192 + ggml_graph_overhead_custom(8192, false); + if (!step_graph.ensure(backend, n, arena, [&](ggml_context * C, StepIO & io) { return build_step(C, io, n); })) { + std::fprintf(stderr, "%s: step graph build/alloc failed\n", kTag); + return {}; + } + } + StepIO & io = step_graph.io(); + const UniPC solver(steps, train_steps, shift); + UniPC::Stream sv, sa; + std::vector xa = an, vv((size_t) (n_video * patch_dim)), va((size_t) (chunk * adim)), tsin; + for (int k = 0; k < steps; k++) { + time_sinusoid(solver.timesteps[(size_t) k], tsin); + ggml_backend_tensor_set(io.xv, xv.data(), 0, ggml_nbytes(io.xv)); + ggml_backend_tensor_set(io.xa, xa.data(), 0, ggml_nbytes(io.xa)); + ggml_backend_tensor_set(io.tsin, tsin.data(), 0, ggml_nbytes(io.tsin)); + graph_unique_names(step_graph.graph()); + if (ggml_backend_graph_compute(backend, step_graph.graph()) != GGML_STATUS_SUCCESS) { + std::fprintf(stderr, "%s: step %d compute failed\n", kTag, k); return {}; + } + ggml_backend_tensor_get(io.vv, vv.data(), 0, ggml_nbytes(io.vv)); + ggml_backend_tensor_get(io.va, va.data(), 0, ggml_nbytes(io.va)); + if (k == 0 && !dump_dir.empty()) { + dump_tensor(dump_dir, "step0_emb", io.dbg_emb); + dump_tensor(dump_dir, "step0_q0", io.dbg_q0); + dump_tensor(dump_dir, "step0_h0", io.dbg_h0); + dump_tensor(dump_dir, "step0_vv", io.vv); + dump_tensor(dump_dir, "step0_va", io.va); + } + // mask_velocity: the condition frame has no velocity. + std::fill(vv.begin(), vv.begin() + (ptrdiff_t) (ppf * patch_dim), 0.f); + solver.step(k, sv, vv, xv); + solver.step(k, sa, va, xa); } const double t4 = now_ms(); - if (!run(FINISH)) - return {}; - std::vector actions((size_t) horizon * (size_t) adim); - ggml_backend_tensor_get(actions_out, actions.data(), 0, sizeof(float) * actions.size()); - const double t5 = now_ms(); + // The chunk in dataset units: the unnormalizer's (x + 1) / 2 * (q99 - q01) + q01. + std::vector actions((size_t) (chunk * adim)); + for (int64_t t = 0; t < chunk; t++) + for (int64_t j = 0; j < adim; j++) { + float denom = q99[(size_t) j] - q01[(size_t) j]; + if (denom == 0.f) + denom = 1e-8f; + actions[(size_t) (t * adim + j)] = (xa[(size_t) (t * adim + j)] + 1.f) * denom / 2.f + q01[(size_t) j]; + } stats.ms_vision = (float) (t2 - t1); stats.ms_prefill = (float) (t3 - t2); stats.ms_denoise = (float) (t4 - t3); stats.ms_inference = stats.ms_prefill + stats.ms_denoise; - stats.ms_total = (float) (t5 - t0); + stats.ms_total = (float) (now_ms() - t0); return actions; } @@ -609,76 +1328,77 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { std::unique_ptr cosmos3_edge_create(const std::string & mmproj_path, const std::string & ckpt_path, const std::string &, const Options & opts) { if (!mmproj_path.empty()) - std::printf("vla(cosmos3_edge): note - mmproj '%s' is ignored (the VAE is baked into the GGUF)\n", mmproj_path.c_str()); - // Weight types, the activation path and the solver are fixed by the compiled graphs and the GGUF. - if (opts.weight_dtype || opts.act_dtype || opts.flash_attn || opts.mm_prec_f32) { - std::fprintf(stderr, "vla(cosmos3_edge): --weight-dtype, --act-dtype, --flash-attn and --mm-prec-f32 are not supported " - "(the types are those of the GGUF; the graphs are compiled)\n"); + std::printf("%s: note - mmproj '%s' is ignored (the VAE is baked into the GGUF)\n", kTag, mmproj_path.c_str()); + if (opts.act_dtype.value_or(GGML_TYPE_F32) != GGML_TYPE_F32) { + std::fprintf(stderr, "%s: --act-dtype bf16 is not supported; the activations stay F32\n", kTag); return nullptr; } auto m = std::make_unique(); + m->mt = opts.weight_dtype.value_or(default_weight_dtype(GGML_TYPE_BF16)); gguf_reader g("cosmos3_edge"); if (!g.open(ckpt_path)) return nullptr; if (!g.has("cosmos3_edge.architecture")) { - std::fprintf(stderr, "vla(cosmos3_edge): %s is not a Cosmos3-Edge GGUF\n", ckpt_path.c_str()); - return nullptr; - } - m->canvas_h = (int) g.u32("cosmos3_edge.canvas_h"); - m->canvas_w = (int) g.u32("cosmos3_edge.canvas_w"); - m->prompt_len = (int) g.u32("cosmos3_edge.prompt_len"); - m->vn_tokens = (int) g.u32("cosmos3_edge.video_noise_tokens"); - m->vn_dim = (int) g.u32("cosmos3_edge.video_noise_dim"); - m->steps = (int) g.u32("cosmos3_edge.num_steps"); - m->horizon = (int) g.u32("cosmos3_edge.chunk_size"); - m->adim = (int) g.u32("cosmos3_edge.action_dim"); - const int nsc = (int) g.u32("cosmos3_edge.n_scalars"); - if (m->canvas_h <= 0 || m->canvas_w <= 0 || m->prompt_len <= 0 || m->vn_tokens <= 0 || m->vn_dim <= 0 || - m->steps <= 0 || m->horizon <= 0 || m->adim <= 0 || nsc != kScalars) { - std::fprintf(stderr, "vla(cosmos3_edge): the GGUF has no valid sizes (converted with an older script?)\n"); + std::fprintf(stderr, "%s: %s is not a Cosmos3-Edge GGUF\n", kTag, ckpt_path.c_str()); return nullptr; } - m->step_scalars = g.read_f32("cosmos3_edge.step_scalars"); - if ((int) m->step_scalars.size() != m->steps * kScalars) { - std::fprintf(stderr, "vla(cosmos3_edge): step_scalars has %zu values, expected %d\n", m->step_scalars.size(), m->steps * kScalars); + if (!m->load_config(g) || !resolve_num_steps("cosmos3_edge", opts, m->steps)) return nullptr; - } if (const char * f = std::getenv("VLA_COSMOS3_VIDEO_NOISE")) m->video_noise_file = f; + if (const char * d = std::getenv("VLA_COSMOS3_DUMP_DIR")) + m->dump_dir = d; - const Backend b = backend_init("vla(cosmos3_edge)", m->n_threads); + const Backend b = backend_init(kTag, m->n_threads); if (!b.handle) return nullptr; m->backend = b.handle; - if (ggml_backend_dev_t dev = ggml_backend_get_device(b.handle)) - m->gpu = ggml_backend_dev_type(dev) == GGML_BACKEND_DEVICE_TYPE_GPU; + // An explicit --weight-dtype f32 keeps the convolutions F32 too. + m->conv_direct = b.is_cuda && cuda_conv_has_mma() && opts.weight_dtype.value_or(GGML_TYPE_F16) != GGML_TYPE_F32; + if (opts.flash_attn.has_value()) + set_flash_attn(*opts.flash_attn); - if (!m->load_weights(g) || !m->build_all()) + if (!m->load_weights(g)) return nullptr; - Config & c = m->cfg; - c.n_img = (int64_t) m->vn_tokens + 50; // the video tokens of the generation stream - c.n_lang = m->prompt_len; - c.n_state = 0; - c.n_prefix = m->prompt_len; - c.n_suffix = m->horizon; - c.n_full = c.n_prefix + c.n_img + c.n_suffix; - c.n_layers = kLayers; - c.max_state_dim = 0; - c.real_state_dim = 0; - c.max_action_dim = m->adim; // the actions the program returns; the model's 64 padded channels are dropped - c.real_action_dim = m->adim; - c.num_steps = m->steps; - c.denormalized = true; // dataset units: [dpos(3), rot6d(6), gripper] - - std::printf("vla(cosmos3_edge): weights resident %.1f MiB, %d stages, canvas %dx%d, prompt <= %d tokens, " - "%d UniPC steps, chunk %dx%d (%s)\n", - ggml_backend_buffer_get_size(m->buf_w) / (1024.0 * 1024.0), kStageCount, m->canvas_h, m->canvas_w, - m->prompt_len, m->steps, m->horizon, m->adim, m->gpu ? "GPU" : "CPU"); - std::printf("vla(cosmos3_edge): send 2 views in this order: third person, wrist (or one %dx%d canvas); the " - "instruction as --text (ASCII; needs the tokenizer in the GGUF) or as token ids; noise = %dx%d floats\n", - m->canvas_w, m->canvas_h, m->horizon, m->adim); + Config & c = m->cfg; + c.n_img = m->n_video; // the video tokens of the generation stream + c.n_lang = m->max_prompt; + c.n_state = 0; + c.n_prefix = m->max_prompt; + c.n_suffix = m->chunk; + c.n_full = c.n_prefix + c.n_img + c.n_suffix; + c.hidden = m->hidden; + c.expert_h = m->hidden; + c.intermediate = m->inter; + c.expert_inter = m->inter; + c.n_q_heads = m->n_heads; + c.n_kv_heads = m->n_kv_heads; + c.head_dim = m->head_dim; + c.q_full_dim = m->n_heads * m->head_dim; + c.kv_full_dim = m->n_kv_heads * m->head_dim; + c.n_layers = m->n_layers; + c.max_state_dim = 0; + c.real_state_dim = 0; + c.max_action_dim = m->adim; // the model's 64 padded channels are dropped in the GGUF + c.real_action_dim = m->adim; + c.num_steps = m->steps; + c.rms_eps = m->rms_eps; + c.norm_eps = m->rms_eps; + c.rope_n_dims = (int) m->head_dim; + c.rope_freq_base = m->rope_theta; + c.denormalized = true; // dataset units: [dpos(3), rot6d(6), gripper] + + std::printf("%s: weights resident %.1f MiB (%s GEMMs, %s convs) - %lld MoT layers, hidden %lld, canvas %dx%d, " + "prompt <= %lld tokens, %d UniPC steps, chunk %lldx%lld\n", + kTag, ggml_backend_buffer_get_size(m->buf_w) / (1024.0 * 1024.0), dtype_name(m->mt), + m->conv_direct ? "f16 direct" : "f32 im2col", (long long) m->n_layers, (long long) m->hidden, + m->layout.canvas_h, m->layout.canvas_w, (long long) m->max_prompt, m->steps, (long long) m->chunk, + (long long) m->adim); + std::printf("%s: send %d views in this order: third person, wrist (or one %dx%d canvas); the instruction as " + "--text (ASCII; needs the tokenizer in the GGUF) or as token ids; noise = %lldx%lld floats\n", + kTag, m->layout.n_views, m->layout.canvas_w, m->layout.canvas_h, (long long) m->chunk, (long long) m->adim); return m; } diff --git a/src/models/cosmos3_edge_build.h b/src/models/cosmos3_edge_build.h deleted file mode 100644 index 77c5e581..00000000 --- a/src/models/cosmos3_edge_build.h +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2026 VinRobotics -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// What the ggml graph builders of cosmos3_edge_graphs.cpp need from their host. -// -// Those builders were generated by ggml-compiler (`ggml-compiler compile --emit cpp`). They reach their -// host through five calls: the graph context, whether the backend is a GPU, the stage's parameters, a -// weight by GGUF name, and the stage's outputs. ggml-compiler's runtime provides them; this header -// provides them for vla.cpp, so the generated code is used as it is (see scripts/port_cosmos3_graphs.py). - -#pragma once - -#include "ggml.h" - -#include -#include -#include - -namespace vla::cosmos3_edge_graphs { - -// What one stage builder is given and returns. The arch fills `params` (in the order of the stage's -// parameters in the compiled driver), reads `outputs` back after the call, and checks `error`. -struct ggml_compiler_stage_build { - ggml_context * ctx = nullptr; - bool gpu = false; - std::vector params; - std::vector outputs; - const std::unordered_map * weights = nullptr; - std::string error; // first problem, empty when none -}; - -inline ggml_context * ggml_compiler_build_ctx(ggml_compiler_stage_build * b) { - return b->ctx; -} - -inline bool ggml_compiler_build_gpu(ggml_compiler_stage_build * b) { - return b->gpu; -} - -// A missing parameter or weight is recorded and answered with a 1-element tensor so the builder can run to -// the end; the arch refuses the stage afterwards. -inline ggml_tensor * ggml_compiler_build_param(ggml_compiler_stage_build * b, int i) { - if (i >= 0 && (size_t) i < b->params.size() && b->params[(size_t) i]) - return b->params[(size_t) i]; - if (b->error.empty()) - b->error = "missing stage parameter " + std::to_string(i); - return ggml_new_tensor_1d(b->ctx, GGML_TYPE_F32, 1); -} - -inline ggml_tensor * ggml_compiler_build_weight(ggml_compiler_stage_build * b, const char * name) { - const auto it = b->weights->find(name); - if (it != b->weights->end()) - return it->second; - if (b->error.empty()) - b->error = std::string("missing weight ") + name; - return ggml_new_tensor_1d(b->ctx, GGML_TYPE_F32, 1); -} - -inline void ggml_compiler_build_output(ggml_compiler_stage_build * b, int i, ggml_tensor * t) { - if (i < 0) - return; - if ((size_t) i >= b->outputs.size()) - b->outputs.resize((size_t) i + 1, nullptr); - b->outputs[(size_t) i] = t; -} - -// The five stage builders, in the order of the compiled driver. 0 on success. -int build_vae_encode(ggml_compiler_stage_build * B); -int build_prefix(ggml_compiler_stage_build * B); -int build_init(ggml_compiler_stage_build * B); -int build_step(ggml_compiler_stage_build * B); -int build_finish(ggml_compiler_stage_build * B); - -} // namespace vla::cosmos3_edge_graphs diff --git a/src/models/cosmos3_edge_graphs.cpp b/src/models/cosmos3_edge_graphs.cpp deleted file mode 100644 index a2583b4a..00000000 --- a/src/models/cosmos3_edge_graphs.cpp +++ /dev/null @@ -1,5068 +0,0 @@ -// Copyright 2026 VinRobotics -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// GENERATED by ggml-compiler (`ggml-compiler compile ggml/export.py:program --emit gguf,cpp --name cosmos3 -// --policy ggml/policy-bf16.yaml`) and ported with scripts/port_cosmos3_graphs.py. Do not edit by hand: -// regenerate. One ggml graph builder per stage of the Cosmos3-Edge-Policy world-action model: vae_encode, -// prefix, init, step (one UniPC update, run 30 times), finish. Each line names the PyTorch module it came from. - -#include "cosmos3_edge_build.h" - -#include - -#include "ggml.h" -#include "cosmos3_edge_ops.h" - -namespace vla::cosmos3_edge_graphs { - - -// Stage 'vae_encode': 511 nodes. -int build_vae_encode(ggml_compiler_stage_build * B) { - ggml_context * ctx = ggml_compiler_build_ctx(B); - const bool gpu = ggml_compiler_build_gpu(B); - (void) gpu; - - // Parameters - ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 3, 192, 320] - - // Weights and constants, by GGUF name - ggml_tensor * const_0 = ggml_compiler_build_weight(B, "c.0"); - ggml_tensor * net_vae_encoder_conv_in_weight = ggml_compiler_build_weight(B, "w.0"); - ggml_tensor * net_vae_encoder_conv_in_bias = ggml_compiler_build_weight(B, "w.1"); - ggml_tensor * const_1 = ggml_compiler_build_weight(B, "c.1"); - ggml_tensor * const_2 = ggml_compiler_build_weight(B, "c.2"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.2"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.3"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.4"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.5"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.6"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.7"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.8"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.9"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.10"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.11"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.12"); - ggml_tensor * net_vae_encoder_down_blocks_0_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.13"); - ggml_tensor * const_3 = ggml_compiler_build_weight(B, "c.3"); - ggml_tensor * const_4 = ggml_compiler_build_weight(B, "c.4"); - ggml_tensor * net_vae_encoder_down_blocks_0_downsampler_resample_1_weight = ggml_compiler_build_weight(B, "w.14"); - ggml_tensor * net_vae_encoder_down_blocks_0_downsampler_resample_1_bias = ggml_compiler_build_weight(B, "w.15"); - ggml_tensor * const_5 = ggml_compiler_build_weight(B, "c.5"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_weight = ggml_compiler_build_weight(B, "w.16"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_bias = ggml_compiler_build_weight(B, "w.17"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.18"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.19"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.20"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.21"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.22"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.23"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.24"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.25"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.26"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.27"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.28"); - ggml_tensor * net_vae_encoder_down_blocks_1_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.29"); - ggml_tensor * const_6 = ggml_compiler_build_weight(B, "c.6"); - ggml_tensor * const_7 = ggml_compiler_build_weight(B, "c.7"); - ggml_tensor * net_vae_encoder_down_blocks_1_downsampler_resample_1_weight = ggml_compiler_build_weight(B, "w.30"); - ggml_tensor * net_vae_encoder_down_blocks_1_downsampler_resample_1_bias = ggml_compiler_build_weight(B, "w.31"); - ggml_tensor * const_8 = ggml_compiler_build_weight(B, "c.8"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_weight = ggml_compiler_build_weight(B, "w.32"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_bias = ggml_compiler_build_weight(B, "w.33"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.34"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.35"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.36"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.37"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.38"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.39"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.40"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.41"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.42"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.43"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.44"); - ggml_tensor * net_vae_encoder_down_blocks_2_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.45"); - ggml_tensor * const_9 = ggml_compiler_build_weight(B, "c.9"); - ggml_tensor * const_10 = ggml_compiler_build_weight(B, "c.10"); - ggml_tensor * net_vae_encoder_down_blocks_2_downsampler_resample_1_weight = ggml_compiler_build_weight(B, "w.46"); - ggml_tensor * net_vae_encoder_down_blocks_2_downsampler_resample_1_bias = ggml_compiler_build_weight(B, "w.47"); - ggml_tensor * const_11 = ggml_compiler_build_weight(B, "c.11"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.48"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.49"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.50"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.51"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.52"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.53"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.54"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.55"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.56"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.57"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.58"); - ggml_tensor * net_vae_encoder_down_blocks_3_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.59"); - ggml_tensor * net_vae_encoder_mid_block_resnets_0_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.60"); - ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv1_weight = ggml_compiler_build_weight(B, "w.61"); - ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv1_bias = ggml_compiler_build_weight(B, "w.62"); - ggml_tensor * net_vae_encoder_mid_block_resnets_0_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.63"); - ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv2_weight = ggml_compiler_build_weight(B, "w.64"); - ggml_tensor * net_vae_encoder_mid_block_resnets_0_conv2_bias = ggml_compiler_build_weight(B, "w.65"); - ggml_tensor * net_vae_encoder_mid_block_attentions_0_norm_gamma_scale = ggml_compiler_build_weight(B, "w.66"); - ggml_tensor * net_vae_encoder_mid_block_attentions_0_to_qkv_weight = ggml_compiler_build_weight(B, "w.67"); - ggml_tensor * net_vae_encoder_mid_block_attentions_0_to_qkv_bias = ggml_compiler_build_weight(B, "w.68"); - ggml_tensor * net_vae_encoder_mid_block_attentions_0_proj_weight = ggml_compiler_build_weight(B, "w.69"); - ggml_tensor * net_vae_encoder_mid_block_attentions_0_proj_bias = ggml_compiler_build_weight(B, "w.70"); - ggml_tensor * net_vae_encoder_mid_block_resnets_1_norm1_gamma_scale = ggml_compiler_build_weight(B, "w.71"); - ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv1_weight = ggml_compiler_build_weight(B, "w.72"); - ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv1_bias = ggml_compiler_build_weight(B, "w.73"); - ggml_tensor * net_vae_encoder_mid_block_resnets_1_norm2_gamma_scale = ggml_compiler_build_weight(B, "w.74"); - ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv2_weight = ggml_compiler_build_weight(B, "w.75"); - ggml_tensor * net_vae_encoder_mid_block_resnets_1_conv2_bias = ggml_compiler_build_weight(B, "w.76"); - ggml_tensor * net_vae_encoder_norm_out_gamma_scale = ggml_compiler_build_weight(B, "w.77"); - ggml_tensor * net_vae_encoder_conv_out_weight = ggml_compiler_build_weight(B, "w.78"); - ggml_tensor * net_vae_encoder_conv_out_bias = ggml_compiler_build_weight(B, "w.79"); - ggml_tensor * net_vae_quant_conv_weight = ggml_compiler_build_weight(B, "w.80"); - ggml_tensor * net_vae_quant_conv_bias = ggml_compiler_build_weight(B, "w.81"); - ggml_tensor * const_12 = ggml_compiler_build_weight(B, "c.12"); - ggml_tensor * const_13 = ggml_compiler_build_weight(B, "c.13"); - - // Graph - ggml_tensor * t0 = ggml_compiler::ops::scale(ctx, in0, 0.00784313772f, 0.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1 = ggml_compiler::ops::scale(ctx, t0, 1.0f, -1.0f); // scale torch_export.py:54 in forward - ggml_tensor * t2 = ggml_compiler::ops::conv_2d(ctx, const_0, t1, nullptr, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t3 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_conv_in_weight, t2, net_vae_encoder_conv_in_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t4 = ggml_compiler::ops::reshape(ctx, t3, 160, 2, 48, 160); // reshape torch_export.py:54 in forward - ggml_tensor * t5 = ggml_compiler::ops::slice(ctx, t4, 1, 0, 160, 1, 48, 160); // view torch_export.py:54 in forward - ggml_tensor * t6 = ggml_compiler::ops::reshape(ctx, t5, 160, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t7 = ggml_compiler::ops::reshape(ctx, t6, 160, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t8 = ggml_cont(ctx, t7); // cont torch_export.py:54 in forward - ggml_tensor * t9 = ggml_compiler::ops::reshape(ctx, t8, 2, 80, 48, 160); // reshape torch_export.py:54 in forward - ggml_tensor * t10 = ggml_compiler::ops::slice(ctx, t9, 0, 0, 1, 80, 48, 160); // view torch_export.py:54 in forward - ggml_tensor * t11 = ggml_cont(ctx, t10); // cont torch_export.py:54 in forward - ggml_tensor * t12 = ggml_compiler::ops::reshape(ctx, t11, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t13 = ggml_compiler::ops::reshape(ctx, t12, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t14 = ggml_compiler::ops::reshape(ctx, t13, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t15 = ggml_compiler::ops::slice(ctx, t9, 0, 1, 1, 80, 48, 160); // view torch_export.py:54 in forward - ggml_tensor * t16 = ggml_cont(ctx, t15); // cont torch_export.py:54 in forward - ggml_tensor * t17 = ggml_compiler::ops::reshape(ctx, t16, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t18 = ggml_compiler::ops::reshape(ctx, t17, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t19 = ggml_compiler::ops::reshape(ctx, t18, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t20 = ggml_compiler::ops::slice(ctx, t4, 1, 1, 160, 1, 48, 160); // view torch_export.py:54 in forward - ggml_tensor * t21 = ggml_compiler::ops::reshape(ctx, t20, 160, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t22 = ggml_compiler::ops::reshape(ctx, t21, 160, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t23 = ggml_cont(ctx, t22); // cont torch_export.py:54 in forward - ggml_tensor * t24 = ggml_compiler::ops::reshape(ctx, t23, 2, 80, 48, 160); // reshape torch_export.py:54 in forward - ggml_tensor * t25 = ggml_compiler::ops::slice(ctx, t24, 0, 0, 1, 80, 48, 160); // view torch_export.py:54 in forward - ggml_tensor * t26 = ggml_cont(ctx, t25); // cont torch_export.py:54 in forward - ggml_tensor * t27 = ggml_compiler::ops::reshape(ctx, t26, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t28 = ggml_compiler::ops::reshape(ctx, t27, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t29 = ggml_compiler::ops::reshape(ctx, t28, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t30 = ggml_compiler::ops::slice(ctx, t24, 0, 1, 1, 80, 48, 160); // view torch_export.py:54 in forward - ggml_tensor * t31 = ggml_cont(ctx, t30); // cont torch_export.py:54 in forward - ggml_tensor * t32 = ggml_compiler::ops::reshape(ctx, t31, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t33 = ggml_compiler::ops::reshape(ctx, t32, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t34 = ggml_compiler::ops::reshape(ctx, t33, 80, 48, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t35 = ggml_concat(ctx, t14, t19, 2); // concat torch_export.py:54 in forward - ggml_tensor * t36 = ggml_concat(ctx, t35, t29, 2); // concat torch_export.py:54 in forward - ggml_tensor * t37 = ggml_concat(ctx, t36, t34, 2); // concat torch_export.py:54 in forward - ggml_tensor * t38 = ggml_compiler::ops::conv_2d(ctx, const_1, t37, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t39 = ggml_permute(ctx, t3, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t40 = ggml_cont(ctx, t39); // cont torch_export.py:54 in forward - ggml_tensor * t41 = ggml_mul(ctx, t40, t40); // mul torch_export.py:54 in forward - ggml_tensor * t42 = ggml_sum_rows(ctx, t41); // sum_rows torch_export.py:54 in forward - ggml_tensor * t43 = ggml_clamp(ctx, t42, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t44 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t45 = ggml_sqrt(ctx, t43); // sqrt torch_export.py:54 in forward - ggml_tensor * t46 = ggml_div(ctx, t44, t45); // div torch_export.py:54 in forward - ggml_tensor * t47 = ggml_mul(ctx, t40, t46); // mul torch_export.py:54 in forward - ggml_tensor * t48 = ggml_mul(ctx, t47, net_vae_encoder_down_blocks_0_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t49 = ggml_permute(ctx, t48, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t50 = ggml_cont(ctx, t49); // cont torch_export.py:54 in forward - ggml_tensor * t51 = ggml_silu(ctx, t50); // silu torch_export.py:54 in forward - ggml_tensor * t52 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_0_conv1_weight, t51, net_vae_encoder_down_blocks_0_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t53 = ggml_permute(ctx, t52, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t54 = ggml_cont(ctx, t53); // cont torch_export.py:54 in forward - ggml_tensor * t55 = ggml_mul(ctx, t54, t54); // mul torch_export.py:54 in forward - ggml_tensor * t56 = ggml_sum_rows(ctx, t55); // sum_rows torch_export.py:54 in forward - ggml_tensor * t57 = ggml_clamp(ctx, t56, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t58 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t59 = ggml_sqrt(ctx, t57); // sqrt torch_export.py:54 in forward - ggml_tensor * t60 = ggml_div(ctx, t58, t59); // div torch_export.py:54 in forward - ggml_tensor * t61 = ggml_mul(ctx, t54, t60); // mul torch_export.py:54 in forward - ggml_tensor * t62 = ggml_mul(ctx, t61, net_vae_encoder_down_blocks_0_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t63 = ggml_permute(ctx, t62, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t64 = ggml_cont(ctx, t63); // cont torch_export.py:54 in forward - ggml_tensor * t65 = ggml_silu(ctx, t64); // silu torch_export.py:54 in forward - ggml_tensor * t66 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_0_conv2_weight, t65, net_vae_encoder_down_blocks_0_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t67 = ggml_add(ctx, t66, t3); // add torch_export.py:54 in forward - ggml_tensor * t68 = ggml_permute(ctx, t67, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t69 = ggml_cont(ctx, t68); // cont torch_export.py:54 in forward - ggml_tensor * t70 = ggml_mul(ctx, t69, t69); // mul torch_export.py:54 in forward - ggml_tensor * t71 = ggml_sum_rows(ctx, t70); // sum_rows torch_export.py:54 in forward - ggml_tensor * t72 = ggml_clamp(ctx, t71, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t73 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t74 = ggml_sqrt(ctx, t72); // sqrt torch_export.py:54 in forward - ggml_tensor * t75 = ggml_div(ctx, t73, t74); // div torch_export.py:54 in forward - ggml_tensor * t76 = ggml_mul(ctx, t69, t75); // mul torch_export.py:54 in forward - ggml_tensor * t77 = ggml_mul(ctx, t76, net_vae_encoder_down_blocks_0_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t78 = ggml_permute(ctx, t77, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t79 = ggml_cont(ctx, t78); // cont torch_export.py:54 in forward - ggml_tensor * t80 = ggml_silu(ctx, t79); // silu torch_export.py:54 in forward - ggml_tensor * t81 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_1_conv1_weight, t80, net_vae_encoder_down_blocks_0_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t82 = ggml_permute(ctx, t81, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t83 = ggml_cont(ctx, t82); // cont torch_export.py:54 in forward - ggml_tensor * t84 = ggml_mul(ctx, t83, t83); // mul torch_export.py:54 in forward - ggml_tensor * t85 = ggml_sum_rows(ctx, t84); // sum_rows torch_export.py:54 in forward - ggml_tensor * t86 = ggml_clamp(ctx, t85, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t87 = ggml_repeat_4d(ctx, const_2, 1, 160, 96, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t88 = ggml_sqrt(ctx, t86); // sqrt torch_export.py:54 in forward - ggml_tensor * t89 = ggml_div(ctx, t87, t88); // div torch_export.py:54 in forward - ggml_tensor * t90 = ggml_mul(ctx, t83, t89); // mul torch_export.py:54 in forward - ggml_tensor * t91 = ggml_mul(ctx, t90, net_vae_encoder_down_blocks_0_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t92 = ggml_permute(ctx, t91, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t93 = ggml_cont(ctx, t92); // cont torch_export.py:54 in forward - ggml_tensor * t94 = ggml_silu(ctx, t93); // silu torch_export.py:54 in forward - ggml_tensor * t95 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_resnets_1_conv2_weight, t94, net_vae_encoder_down_blocks_0_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t96 = ggml_add(ctx, t95, t67); // add torch_export.py:54 in forward - ggml_tensor * t97 = ggml_concat(ctx, t96, const_3, 1); // concat torch_export.py:54 in forward - ggml_tensor * t98 = ggml_concat(ctx, t97, const_4, 0); // concat torch_export.py:54 in forward - ggml_tensor * t99 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_0_downsampler_resample_1_weight, t98, net_vae_encoder_down_blocks_0_downsampler_resample_1_bias, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t100 = ggml_add(ctx, t99, t38); // add torch_export.py:54 in forward - ggml_tensor * t101 = ggml_compiler::ops::reshape(ctx, t100, 80, 2, 24, 160); // reshape torch_export.py:54 in forward - ggml_tensor * t102 = ggml_compiler::ops::slice(ctx, t101, 1, 0, 80, 1, 24, 160); // view torch_export.py:54 in forward - ggml_tensor * t103 = ggml_compiler::ops::reshape(ctx, t102, 80, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t104 = ggml_compiler::ops::reshape(ctx, t103, 80, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t105 = ggml_cont(ctx, t104); // cont torch_export.py:54 in forward - ggml_tensor * t106 = ggml_compiler::ops::reshape(ctx, t105, 2, 40, 24, 160); // reshape torch_export.py:54 in forward - ggml_tensor * t107 = ggml_compiler::ops::slice(ctx, t106, 0, 0, 1, 40, 24, 160); // view torch_export.py:54 in forward - ggml_tensor * t108 = ggml_cont(ctx, t107); // cont torch_export.py:54 in forward - ggml_tensor * t109 = ggml_compiler::ops::reshape(ctx, t108, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t110 = ggml_compiler::ops::reshape(ctx, t109, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t111 = ggml_compiler::ops::reshape(ctx, t110, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t112 = ggml_compiler::ops::slice(ctx, t106, 0, 1, 1, 40, 24, 160); // view torch_export.py:54 in forward - ggml_tensor * t113 = ggml_cont(ctx, t112); // cont torch_export.py:54 in forward - ggml_tensor * t114 = ggml_compiler::ops::reshape(ctx, t113, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t115 = ggml_compiler::ops::reshape(ctx, t114, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t116 = ggml_compiler::ops::reshape(ctx, t115, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t117 = ggml_compiler::ops::slice(ctx, t101, 1, 1, 80, 1, 24, 160); // view torch_export.py:54 in forward - ggml_tensor * t118 = ggml_compiler::ops::reshape(ctx, t117, 80, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t119 = ggml_compiler::ops::reshape(ctx, t118, 80, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t120 = ggml_cont(ctx, t119); // cont torch_export.py:54 in forward - ggml_tensor * t121 = ggml_compiler::ops::reshape(ctx, t120, 2, 40, 24, 160); // reshape torch_export.py:54 in forward - ggml_tensor * t122 = ggml_compiler::ops::slice(ctx, t121, 0, 0, 1, 40, 24, 160); // view torch_export.py:54 in forward - ggml_tensor * t123 = ggml_cont(ctx, t122); // cont torch_export.py:54 in forward - ggml_tensor * t124 = ggml_compiler::ops::reshape(ctx, t123, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t125 = ggml_compiler::ops::reshape(ctx, t124, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t126 = ggml_compiler::ops::reshape(ctx, t125, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t127 = ggml_compiler::ops::slice(ctx, t121, 0, 1, 1, 40, 24, 160); // view torch_export.py:54 in forward - ggml_tensor * t128 = ggml_cont(ctx, t127); // cont torch_export.py:54 in forward - ggml_tensor * t129 = ggml_compiler::ops::reshape(ctx, t128, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t130 = ggml_compiler::ops::reshape(ctx, t129, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t131 = ggml_compiler::ops::reshape(ctx, t130, 40, 24, 160, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t132 = ggml_concat(ctx, t111, t116, 2); // concat torch_export.py:54 in forward - ggml_tensor * t133 = ggml_concat(ctx, t132, t126, 2); // concat torch_export.py:54 in forward - ggml_tensor * t134 = ggml_concat(ctx, t133, t131, 2); // concat torch_export.py:54 in forward - ggml_tensor * t135 = ggml_compiler::ops::conv_2d(ctx, const_5, t134, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t136 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_weight, t100, net_vae_encoder_down_blocks_1_resnets_0_conv_shortcut_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t137 = ggml_permute(ctx, t100, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t138 = ggml_cont(ctx, t137); // cont torch_export.py:54 in forward - ggml_tensor * t139 = ggml_mul(ctx, t138, t138); // mul torch_export.py:54 in forward - ggml_tensor * t140 = ggml_sum_rows(ctx, t139); // sum_rows torch_export.py:54 in forward - ggml_tensor * t141 = ggml_clamp(ctx, t140, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t142 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t143 = ggml_sqrt(ctx, t141); // sqrt torch_export.py:54 in forward - ggml_tensor * t144 = ggml_div(ctx, t142, t143); // div torch_export.py:54 in forward - ggml_tensor * t145 = ggml_mul(ctx, t138, t144); // mul torch_export.py:54 in forward - ggml_tensor * t146 = ggml_mul(ctx, t145, net_vae_encoder_down_blocks_1_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t147 = ggml_permute(ctx, t146, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t148 = ggml_cont(ctx, t147); // cont torch_export.py:54 in forward - ggml_tensor * t149 = ggml_silu(ctx, t148); // silu torch_export.py:54 in forward - ggml_tensor * t150 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_0_conv1_weight, t149, net_vae_encoder_down_blocks_1_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t151 = ggml_permute(ctx, t150, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t152 = ggml_cont(ctx, t151); // cont torch_export.py:54 in forward - ggml_tensor * t153 = ggml_mul(ctx, t152, t152); // mul torch_export.py:54 in forward - ggml_tensor * t154 = ggml_sum_rows(ctx, t153); // sum_rows torch_export.py:54 in forward - ggml_tensor * t155 = ggml_clamp(ctx, t154, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t156 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t157 = ggml_sqrt(ctx, t155); // sqrt torch_export.py:54 in forward - ggml_tensor * t158 = ggml_div(ctx, t156, t157); // div torch_export.py:54 in forward - ggml_tensor * t159 = ggml_mul(ctx, t152, t158); // mul torch_export.py:54 in forward - ggml_tensor * t160 = ggml_mul(ctx, t159, net_vae_encoder_down_blocks_1_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t161 = ggml_permute(ctx, t160, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t162 = ggml_cont(ctx, t161); // cont torch_export.py:54 in forward - ggml_tensor * t163 = ggml_silu(ctx, t162); // silu torch_export.py:54 in forward - ggml_tensor * t164 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_0_conv2_weight, t163, net_vae_encoder_down_blocks_1_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t165 = ggml_add(ctx, t164, t136); // add torch_export.py:54 in forward - ggml_tensor * t166 = ggml_permute(ctx, t165, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t167 = ggml_cont(ctx, t166); // cont torch_export.py:54 in forward - ggml_tensor * t168 = ggml_mul(ctx, t167, t167); // mul torch_export.py:54 in forward - ggml_tensor * t169 = ggml_sum_rows(ctx, t168); // sum_rows torch_export.py:54 in forward - ggml_tensor * t170 = ggml_clamp(ctx, t169, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t171 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t172 = ggml_sqrt(ctx, t170); // sqrt torch_export.py:54 in forward - ggml_tensor * t173 = ggml_div(ctx, t171, t172); // div torch_export.py:54 in forward - ggml_tensor * t174 = ggml_mul(ctx, t167, t173); // mul torch_export.py:54 in forward - ggml_tensor * t175 = ggml_mul(ctx, t174, net_vae_encoder_down_blocks_1_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t176 = ggml_permute(ctx, t175, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t177 = ggml_cont(ctx, t176); // cont torch_export.py:54 in forward - ggml_tensor * t178 = ggml_silu(ctx, t177); // silu torch_export.py:54 in forward - ggml_tensor * t179 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_1_conv1_weight, t178, net_vae_encoder_down_blocks_1_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t180 = ggml_permute(ctx, t179, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t181 = ggml_cont(ctx, t180); // cont torch_export.py:54 in forward - ggml_tensor * t182 = ggml_mul(ctx, t181, t181); // mul torch_export.py:54 in forward - ggml_tensor * t183 = ggml_sum_rows(ctx, t182); // sum_rows torch_export.py:54 in forward - ggml_tensor * t184 = ggml_clamp(ctx, t183, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t185 = ggml_repeat_4d(ctx, const_2, 1, 80, 48, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t186 = ggml_sqrt(ctx, t184); // sqrt torch_export.py:54 in forward - ggml_tensor * t187 = ggml_div(ctx, t185, t186); // div torch_export.py:54 in forward - ggml_tensor * t188 = ggml_mul(ctx, t181, t187); // mul torch_export.py:54 in forward - ggml_tensor * t189 = ggml_mul(ctx, t188, net_vae_encoder_down_blocks_1_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t190 = ggml_permute(ctx, t189, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t191 = ggml_cont(ctx, t190); // cont torch_export.py:54 in forward - ggml_tensor * t192 = ggml_silu(ctx, t191); // silu torch_export.py:54 in forward - ggml_tensor * t193 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_resnets_1_conv2_weight, t192, net_vae_encoder_down_blocks_1_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t194 = ggml_add(ctx, t193, t165); // add torch_export.py:54 in forward - ggml_tensor * t195 = ggml_concat(ctx, t194, const_6, 1); // concat torch_export.py:54 in forward - ggml_tensor * t196 = ggml_concat(ctx, t195, const_7, 0); // concat torch_export.py:54 in forward - ggml_tensor * t197 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_1_downsampler_resample_1_weight, t196, net_vae_encoder_down_blocks_1_downsampler_resample_1_bias, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t198 = ggml_add(ctx, t197, t135); // add torch_export.py:54 in forward - ggml_tensor * t199 = ggml_compiler::ops::reshape(ctx, t198, 40, 2, 12, 320); // reshape torch_export.py:54 in forward - ggml_tensor * t200 = ggml_compiler::ops::slice(ctx, t199, 1, 0, 40, 1, 12, 320); // view torch_export.py:54 in forward - ggml_tensor * t201 = ggml_compiler::ops::reshape(ctx, t200, 40, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t202 = ggml_compiler::ops::reshape(ctx, t201, 40, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t203 = ggml_cont(ctx, t202); // cont torch_export.py:54 in forward - ggml_tensor * t204 = ggml_compiler::ops::reshape(ctx, t203, 2, 20, 12, 320); // reshape torch_export.py:54 in forward - ggml_tensor * t205 = ggml_compiler::ops::slice(ctx, t204, 0, 0, 1, 20, 12, 320); // view torch_export.py:54 in forward - ggml_tensor * t206 = ggml_cont(ctx, t205); // cont torch_export.py:54 in forward - ggml_tensor * t207 = ggml_compiler::ops::reshape(ctx, t206, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t208 = ggml_compiler::ops::reshape(ctx, t207, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t209 = ggml_compiler::ops::reshape(ctx, t208, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t210 = ggml_compiler::ops::slice(ctx, t204, 0, 1, 1, 20, 12, 320); // view torch_export.py:54 in forward - ggml_tensor * t211 = ggml_cont(ctx, t210); // cont torch_export.py:54 in forward - ggml_tensor * t212 = ggml_compiler::ops::reshape(ctx, t211, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t213 = ggml_compiler::ops::reshape(ctx, t212, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t214 = ggml_compiler::ops::reshape(ctx, t213, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t215 = ggml_compiler::ops::slice(ctx, t199, 1, 1, 40, 1, 12, 320); // view torch_export.py:54 in forward - ggml_tensor * t216 = ggml_compiler::ops::reshape(ctx, t215, 40, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t217 = ggml_compiler::ops::reshape(ctx, t216, 40, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t218 = ggml_cont(ctx, t217); // cont torch_export.py:54 in forward - ggml_tensor * t219 = ggml_compiler::ops::reshape(ctx, t218, 2, 20, 12, 320); // reshape torch_export.py:54 in forward - ggml_tensor * t220 = ggml_compiler::ops::slice(ctx, t219, 0, 0, 1, 20, 12, 320); // view torch_export.py:54 in forward - ggml_tensor * t221 = ggml_cont(ctx, t220); // cont torch_export.py:54 in forward - ggml_tensor * t222 = ggml_compiler::ops::reshape(ctx, t221, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t223 = ggml_compiler::ops::reshape(ctx, t222, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t224 = ggml_compiler::ops::reshape(ctx, t223, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t225 = ggml_compiler::ops::slice(ctx, t219, 0, 1, 1, 20, 12, 320); // view torch_export.py:54 in forward - ggml_tensor * t226 = ggml_cont(ctx, t225); // cont torch_export.py:54 in forward - ggml_tensor * t227 = ggml_compiler::ops::reshape(ctx, t226, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t228 = ggml_compiler::ops::reshape(ctx, t227, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t229 = ggml_compiler::ops::reshape(ctx, t228, 20, 12, 320, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t230 = ggml_concat(ctx, t209, t214, 2); // concat torch_export.py:54 in forward - ggml_tensor * t231 = ggml_concat(ctx, t230, t224, 2); // concat torch_export.py:54 in forward - ggml_tensor * t232 = ggml_concat(ctx, t231, t229, 2); // concat torch_export.py:54 in forward - ggml_tensor * t233 = ggml_compiler::ops::conv_2d(ctx, const_8, t232, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t234 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_weight, t198, net_vae_encoder_down_blocks_2_resnets_0_conv_shortcut_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t235 = ggml_permute(ctx, t198, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t236 = ggml_cont(ctx, t235); // cont torch_export.py:54 in forward - ggml_tensor * t237 = ggml_mul(ctx, t236, t236); // mul torch_export.py:54 in forward - ggml_tensor * t238 = ggml_sum_rows(ctx, t237); // sum_rows torch_export.py:54 in forward - ggml_tensor * t239 = ggml_clamp(ctx, t238, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t240 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t241 = ggml_sqrt(ctx, t239); // sqrt torch_export.py:54 in forward - ggml_tensor * t242 = ggml_div(ctx, t240, t241); // div torch_export.py:54 in forward - ggml_tensor * t243 = ggml_mul(ctx, t236, t242); // mul torch_export.py:54 in forward - ggml_tensor * t244 = ggml_mul(ctx, t243, net_vae_encoder_down_blocks_2_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t245 = ggml_permute(ctx, t244, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t246 = ggml_cont(ctx, t245); // cont torch_export.py:54 in forward - ggml_tensor * t247 = ggml_silu(ctx, t246); // silu torch_export.py:54 in forward - ggml_tensor * t248 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_0_conv1_weight, t247, net_vae_encoder_down_blocks_2_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t249 = ggml_permute(ctx, t248, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t250 = ggml_cont(ctx, t249); // cont torch_export.py:54 in forward - ggml_tensor * t251 = ggml_mul(ctx, t250, t250); // mul torch_export.py:54 in forward - ggml_tensor * t252 = ggml_sum_rows(ctx, t251); // sum_rows torch_export.py:54 in forward - ggml_tensor * t253 = ggml_clamp(ctx, t252, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t254 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t255 = ggml_sqrt(ctx, t253); // sqrt torch_export.py:54 in forward - ggml_tensor * t256 = ggml_div(ctx, t254, t255); // div torch_export.py:54 in forward - ggml_tensor * t257 = ggml_mul(ctx, t250, t256); // mul torch_export.py:54 in forward - ggml_tensor * t258 = ggml_mul(ctx, t257, net_vae_encoder_down_blocks_2_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t259 = ggml_permute(ctx, t258, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t260 = ggml_cont(ctx, t259); // cont torch_export.py:54 in forward - ggml_tensor * t261 = ggml_silu(ctx, t260); // silu torch_export.py:54 in forward - ggml_tensor * t262 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_0_conv2_weight, t261, net_vae_encoder_down_blocks_2_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t263 = ggml_add(ctx, t262, t234); // add torch_export.py:54 in forward - ggml_tensor * t264 = ggml_permute(ctx, t263, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t265 = ggml_cont(ctx, t264); // cont torch_export.py:54 in forward - ggml_tensor * t266 = ggml_mul(ctx, t265, t265); // mul torch_export.py:54 in forward - ggml_tensor * t267 = ggml_sum_rows(ctx, t266); // sum_rows torch_export.py:54 in forward - ggml_tensor * t268 = ggml_clamp(ctx, t267, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t269 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t270 = ggml_sqrt(ctx, t268); // sqrt torch_export.py:54 in forward - ggml_tensor * t271 = ggml_div(ctx, t269, t270); // div torch_export.py:54 in forward - ggml_tensor * t272 = ggml_mul(ctx, t265, t271); // mul torch_export.py:54 in forward - ggml_tensor * t273 = ggml_mul(ctx, t272, net_vae_encoder_down_blocks_2_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t274 = ggml_permute(ctx, t273, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t275 = ggml_cont(ctx, t274); // cont torch_export.py:54 in forward - ggml_tensor * t276 = ggml_silu(ctx, t275); // silu torch_export.py:54 in forward - ggml_tensor * t277 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_1_conv1_weight, t276, net_vae_encoder_down_blocks_2_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t278 = ggml_permute(ctx, t277, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t279 = ggml_cont(ctx, t278); // cont torch_export.py:54 in forward - ggml_tensor * t280 = ggml_mul(ctx, t279, t279); // mul torch_export.py:54 in forward - ggml_tensor * t281 = ggml_sum_rows(ctx, t280); // sum_rows torch_export.py:54 in forward - ggml_tensor * t282 = ggml_clamp(ctx, t281, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t283 = ggml_repeat_4d(ctx, const_2, 1, 40, 24, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t284 = ggml_sqrt(ctx, t282); // sqrt torch_export.py:54 in forward - ggml_tensor * t285 = ggml_div(ctx, t283, t284); // div torch_export.py:54 in forward - ggml_tensor * t286 = ggml_mul(ctx, t279, t285); // mul torch_export.py:54 in forward - ggml_tensor * t287 = ggml_mul(ctx, t286, net_vae_encoder_down_blocks_2_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t288 = ggml_permute(ctx, t287, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t289 = ggml_cont(ctx, t288); // cont torch_export.py:54 in forward - ggml_tensor * t290 = ggml_silu(ctx, t289); // silu torch_export.py:54 in forward - ggml_tensor * t291 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_resnets_1_conv2_weight, t290, net_vae_encoder_down_blocks_2_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t292 = ggml_add(ctx, t291, t263); // add torch_export.py:54 in forward - ggml_tensor * t293 = ggml_concat(ctx, t292, const_9, 1); // concat torch_export.py:54 in forward - ggml_tensor * t294 = ggml_concat(ctx, t293, const_10, 0); // concat torch_export.py:54 in forward - ggml_tensor * t295 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_2_downsampler_resample_1_weight, t294, net_vae_encoder_down_blocks_2_downsampler_resample_1_bias, 2, 2, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t296 = ggml_add(ctx, t295, t233); // add torch_export.py:54 in forward - ggml_tensor * t297 = ggml_compiler::ops::conv_2d(ctx, const_11, t296, nullptr, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t298 = ggml_permute(ctx, t296, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t299 = ggml_cont(ctx, t298); // cont torch_export.py:54 in forward - ggml_tensor * t300 = ggml_mul(ctx, t299, t299); // mul torch_export.py:54 in forward - ggml_tensor * t301 = ggml_sum_rows(ctx, t300); // sum_rows torch_export.py:54 in forward - ggml_tensor * t302 = ggml_clamp(ctx, t301, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t303 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t304 = ggml_sqrt(ctx, t302); // sqrt torch_export.py:54 in forward - ggml_tensor * t305 = ggml_div(ctx, t303, t304); // div torch_export.py:54 in forward - ggml_tensor * t306 = ggml_mul(ctx, t299, t305); // mul torch_export.py:54 in forward - ggml_tensor * t307 = ggml_mul(ctx, t306, net_vae_encoder_down_blocks_3_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t308 = ggml_permute(ctx, t307, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t309 = ggml_cont(ctx, t308); // cont torch_export.py:54 in forward - ggml_tensor * t310 = ggml_silu(ctx, t309); // silu torch_export.py:54 in forward - ggml_tensor * t311 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_0_conv1_weight, t310, net_vae_encoder_down_blocks_3_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t312 = ggml_permute(ctx, t311, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t313 = ggml_cont(ctx, t312); // cont torch_export.py:54 in forward - ggml_tensor * t314 = ggml_mul(ctx, t313, t313); // mul torch_export.py:54 in forward - ggml_tensor * t315 = ggml_sum_rows(ctx, t314); // sum_rows torch_export.py:54 in forward - ggml_tensor * t316 = ggml_clamp(ctx, t315, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t317 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t318 = ggml_sqrt(ctx, t316); // sqrt torch_export.py:54 in forward - ggml_tensor * t319 = ggml_div(ctx, t317, t318); // div torch_export.py:54 in forward - ggml_tensor * t320 = ggml_mul(ctx, t313, t319); // mul torch_export.py:54 in forward - ggml_tensor * t321 = ggml_mul(ctx, t320, net_vae_encoder_down_blocks_3_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t322 = ggml_permute(ctx, t321, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t323 = ggml_cont(ctx, t322); // cont torch_export.py:54 in forward - ggml_tensor * t324 = ggml_silu(ctx, t323); // silu torch_export.py:54 in forward - ggml_tensor * t325 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_0_conv2_weight, t324, net_vae_encoder_down_blocks_3_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t326 = ggml_add(ctx, t325, t296); // add torch_export.py:54 in forward - ggml_tensor * t327 = ggml_permute(ctx, t326, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t328 = ggml_cont(ctx, t327); // cont torch_export.py:54 in forward - ggml_tensor * t329 = ggml_mul(ctx, t328, t328); // mul torch_export.py:54 in forward - ggml_tensor * t330 = ggml_sum_rows(ctx, t329); // sum_rows torch_export.py:54 in forward - ggml_tensor * t331 = ggml_clamp(ctx, t330, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t332 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t333 = ggml_sqrt(ctx, t331); // sqrt torch_export.py:54 in forward - ggml_tensor * t334 = ggml_div(ctx, t332, t333); // div torch_export.py:54 in forward - ggml_tensor * t335 = ggml_mul(ctx, t328, t334); // mul torch_export.py:54 in forward - ggml_tensor * t336 = ggml_mul(ctx, t335, net_vae_encoder_down_blocks_3_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t337 = ggml_permute(ctx, t336, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t338 = ggml_cont(ctx, t337); // cont torch_export.py:54 in forward - ggml_tensor * t339 = ggml_silu(ctx, t338); // silu torch_export.py:54 in forward - ggml_tensor * t340 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_1_conv1_weight, t339, net_vae_encoder_down_blocks_3_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t341 = ggml_permute(ctx, t340, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t342 = ggml_cont(ctx, t341); // cont torch_export.py:54 in forward - ggml_tensor * t343 = ggml_mul(ctx, t342, t342); // mul torch_export.py:54 in forward - ggml_tensor * t344 = ggml_sum_rows(ctx, t343); // sum_rows torch_export.py:54 in forward - ggml_tensor * t345 = ggml_clamp(ctx, t344, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t346 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t347 = ggml_sqrt(ctx, t345); // sqrt torch_export.py:54 in forward - ggml_tensor * t348 = ggml_div(ctx, t346, t347); // div torch_export.py:54 in forward - ggml_tensor * t349 = ggml_mul(ctx, t342, t348); // mul torch_export.py:54 in forward - ggml_tensor * t350 = ggml_mul(ctx, t349, net_vae_encoder_down_blocks_3_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t351 = ggml_permute(ctx, t350, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t352 = ggml_cont(ctx, t351); // cont torch_export.py:54 in forward - ggml_tensor * t353 = ggml_silu(ctx, t352); // silu torch_export.py:54 in forward - ggml_tensor * t354 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_down_blocks_3_resnets_1_conv2_weight, t353, net_vae_encoder_down_blocks_3_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t355 = ggml_add(ctx, t354, t326); // add torch_export.py:54 in forward - ggml_tensor * t356 = ggml_add(ctx, t355, t297); // add torch_export.py:54 in forward - ggml_tensor * t357 = ggml_permute(ctx, t356, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t358 = ggml_cont(ctx, t357); // cont torch_export.py:54 in forward - ggml_tensor * t359 = ggml_mul(ctx, t358, t358); // mul torch_export.py:54 in forward - ggml_tensor * t360 = ggml_sum_rows(ctx, t359); // sum_rows torch_export.py:54 in forward - ggml_tensor * t361 = ggml_clamp(ctx, t360, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t362 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t363 = ggml_sqrt(ctx, t361); // sqrt torch_export.py:54 in forward - ggml_tensor * t364 = ggml_div(ctx, t362, t363); // div torch_export.py:54 in forward - ggml_tensor * t365 = ggml_mul(ctx, t358, t364); // mul torch_export.py:54 in forward - ggml_tensor * t366 = ggml_mul(ctx, t365, net_vae_encoder_mid_block_resnets_0_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t367 = ggml_permute(ctx, t366, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t368 = ggml_cont(ctx, t367); // cont torch_export.py:54 in forward - ggml_tensor * t369 = ggml_silu(ctx, t368); // silu torch_export.py:54 in forward - ggml_tensor * t370 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_0_conv1_weight, t369, net_vae_encoder_mid_block_resnets_0_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t371 = ggml_permute(ctx, t370, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t372 = ggml_cont(ctx, t371); // cont torch_export.py:54 in forward - ggml_tensor * t373 = ggml_mul(ctx, t372, t372); // mul torch_export.py:54 in forward - ggml_tensor * t374 = ggml_sum_rows(ctx, t373); // sum_rows torch_export.py:54 in forward - ggml_tensor * t375 = ggml_clamp(ctx, t374, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t376 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t377 = ggml_sqrt(ctx, t375); // sqrt torch_export.py:54 in forward - ggml_tensor * t378 = ggml_div(ctx, t376, t377); // div torch_export.py:54 in forward - ggml_tensor * t379 = ggml_mul(ctx, t372, t378); // mul torch_export.py:54 in forward - ggml_tensor * t380 = ggml_mul(ctx, t379, net_vae_encoder_mid_block_resnets_0_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t381 = ggml_permute(ctx, t380, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t382 = ggml_cont(ctx, t381); // cont torch_export.py:54 in forward - ggml_tensor * t383 = ggml_silu(ctx, t382); // silu torch_export.py:54 in forward - ggml_tensor * t384 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_0_conv2_weight, t383, net_vae_encoder_mid_block_resnets_0_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t385 = ggml_add(ctx, t384, t356); // add torch_export.py:54 in forward - ggml_tensor * t386 = ggml_permute(ctx, t385, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t387 = ggml_cont(ctx, t386); // cont torch_export.py:54 in forward - ggml_tensor * t388 = ggml_mul(ctx, t387, t387); // mul torch_export.py:54 in forward - ggml_tensor * t389 = ggml_sum_rows(ctx, t388); // sum_rows torch_export.py:54 in forward - ggml_tensor * t390 = ggml_clamp(ctx, t389, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t391 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t392 = ggml_sqrt(ctx, t390); // sqrt torch_export.py:54 in forward - ggml_tensor * t393 = ggml_div(ctx, t391, t392); // div torch_export.py:54 in forward - ggml_tensor * t394 = ggml_mul(ctx, t387, t393); // mul torch_export.py:54 in forward - ggml_tensor * t395 = ggml_mul(ctx, t394, net_vae_encoder_mid_block_attentions_0_norm_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t396 = ggml_permute(ctx, t395, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t397 = ggml_cont(ctx, t396); // cont torch_export.py:54 in forward - ggml_tensor * t398 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_attentions_0_to_qkv_weight, t397, net_vae_encoder_mid_block_attentions_0_to_qkv_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t399 = ggml_compiler::ops::slice(ctx, t398, 2, 0, 20, 12, 640, 1); // view torch_export.py:54 in forward - ggml_tensor * t400 = ggml_compiler::ops::reshape(ctx, t399, 240, 640, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t401 = ggml_permute(ctx, t400, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t402 = ggml_compiler::ops::slice(ctx, t398, 2, 640, 20, 12, 640, 1); // view torch_export.py:54 in forward - ggml_tensor * t403 = ggml_compiler::ops::reshape(ctx, t402, 240, 640, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t404 = ggml_permute(ctx, t403, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t405 = ggml_compiler::ops::slice(ctx, t398, 2, 1280, 20, 12, 640, 1); // view torch_export.py:54 in forward - ggml_tensor * t406 = ggml_compiler::ops::reshape(ctx, t405, 240, 640, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t407 = ggml_permute(ctx, t406, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t408 = ggml_cont(ctx, t401); // cont torch_export.py:54 in forward - ggml_tensor * t409 = ggml_compiler::ops::reshape(ctx, t408, 640, 240, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t410 = ggml_cont(ctx, t404); // cont torch_export.py:54 in forward - ggml_tensor * t411 = ggml_compiler::ops::reshape(ctx, t410, 640, 240, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t412 = ggml_cont(ctx, t407); // cont torch_export.py:54 in forward - ggml_tensor * t413 = ggml_compiler::ops::reshape(ctx, t412, 640, 240, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t414 = ggml_compiler::ops::mul_mat(ctx, t411, t409, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t415 = ggml_soft_max_ext(ctx, t414, nullptr, 0.0395284705f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t416 = ggml_permute(ctx, t413, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t417 = ggml_cont(ctx, t416); // cont torch_export.py:54 in forward - ggml_tensor * t418 = ggml_compiler::ops::mul_mat(ctx, t417, t415, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t419 = ggml_compiler::ops::slice(ctx, t418, 2, 0, 640, 240, 1, 1); // view torch_export.py:54 in forward - ggml_tensor * t420 = ggml_compiler::ops::reshape(ctx, t419, 640, 240, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t421 = ggml_permute(ctx, t420, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t422 = ggml_cont(ctx, t421); // cont torch_export.py:54 in forward - ggml_tensor * t423 = ggml_compiler::ops::reshape(ctx, t422, 20, 12, 640, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t424 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_attentions_0_proj_weight, t423, net_vae_encoder_mid_block_attentions_0_proj_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t425 = ggml_add(ctx, t424, t385); // add torch_export.py:54 in forward - ggml_tensor * t426 = ggml_permute(ctx, t425, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t427 = ggml_cont(ctx, t426); // cont torch_export.py:54 in forward - ggml_tensor * t428 = ggml_mul(ctx, t427, t427); // mul torch_export.py:54 in forward - ggml_tensor * t429 = ggml_sum_rows(ctx, t428); // sum_rows torch_export.py:54 in forward - ggml_tensor * t430 = ggml_clamp(ctx, t429, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t431 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t432 = ggml_sqrt(ctx, t430); // sqrt torch_export.py:54 in forward - ggml_tensor * t433 = ggml_div(ctx, t431, t432); // div torch_export.py:54 in forward - ggml_tensor * t434 = ggml_mul(ctx, t427, t433); // mul torch_export.py:54 in forward - ggml_tensor * t435 = ggml_mul(ctx, t434, net_vae_encoder_mid_block_resnets_1_norm1_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t436 = ggml_permute(ctx, t435, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t437 = ggml_cont(ctx, t436); // cont torch_export.py:54 in forward - ggml_tensor * t438 = ggml_silu(ctx, t437); // silu torch_export.py:54 in forward - ggml_tensor * t439 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_1_conv1_weight, t438, net_vae_encoder_mid_block_resnets_1_conv1_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t440 = ggml_permute(ctx, t439, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t441 = ggml_cont(ctx, t440); // cont torch_export.py:54 in forward - ggml_tensor * t442 = ggml_mul(ctx, t441, t441); // mul torch_export.py:54 in forward - ggml_tensor * t443 = ggml_sum_rows(ctx, t442); // sum_rows torch_export.py:54 in forward - ggml_tensor * t444 = ggml_clamp(ctx, t443, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t445 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t446 = ggml_sqrt(ctx, t444); // sqrt torch_export.py:54 in forward - ggml_tensor * t447 = ggml_div(ctx, t445, t446); // div torch_export.py:54 in forward - ggml_tensor * t448 = ggml_mul(ctx, t441, t447); // mul torch_export.py:54 in forward - ggml_tensor * t449 = ggml_mul(ctx, t448, net_vae_encoder_mid_block_resnets_1_norm2_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t450 = ggml_permute(ctx, t449, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t451 = ggml_cont(ctx, t450); // cont torch_export.py:54 in forward - ggml_tensor * t452 = ggml_silu(ctx, t451); // silu torch_export.py:54 in forward - ggml_tensor * t453 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_mid_block_resnets_1_conv2_weight, t452, net_vae_encoder_mid_block_resnets_1_conv2_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t454 = ggml_add(ctx, t453, t425); // add torch_export.py:54 in forward - ggml_tensor * t455 = ggml_permute(ctx, t454, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t456 = ggml_cont(ctx, t455); // cont torch_export.py:54 in forward - ggml_tensor * t457 = ggml_mul(ctx, t456, t456); // mul torch_export.py:54 in forward - ggml_tensor * t458 = ggml_sum_rows(ctx, t457); // sum_rows torch_export.py:54 in forward - ggml_tensor * t459 = ggml_clamp(ctx, t458, 1.00000002e-24f, 3.40282347e+38f); // clamp torch_export.py:54 in forward - ggml_tensor * t460 = ggml_repeat_4d(ctx, const_2, 1, 20, 12, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t461 = ggml_sqrt(ctx, t459); // sqrt torch_export.py:54 in forward - ggml_tensor * t462 = ggml_div(ctx, t460, t461); // div torch_export.py:54 in forward - ggml_tensor * t463 = ggml_mul(ctx, t456, t462); // mul torch_export.py:54 in forward - ggml_tensor * t464 = ggml_mul(ctx, t463, net_vae_encoder_norm_out_gamma_scale); // mul torch_export.py:54 in forward - ggml_tensor * t465 = ggml_permute(ctx, t464, 2, 0, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t466 = ggml_cont(ctx, t465); // cont torch_export.py:54 in forward - ggml_tensor * t467 = ggml_silu(ctx, t466); // silu torch_export.py:54 in forward - ggml_tensor * t468 = ggml_compiler::ops::conv_2d(ctx, net_vae_encoder_conv_out_weight, t467, net_vae_encoder_conv_out_bias, 1, 1, 1, 1, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t469 = ggml_compiler::ops::conv_2d(ctx, net_vae_quant_conv_weight, t468, net_vae_quant_conv_bias, 1, 1, 0, 0, 1, 1, gpu); // conv_2d torch_export.py:54 in forward - ggml_tensor * t470 = ggml_compiler::ops::slice(ctx, t469, 2, 0, 20, 12, 48, 1); // view torch_export.py:54 in forward - ggml_tensor * t471 = ggml_compiler::ops::slice(ctx, t470, 1, 0, 20, 10, 48, 1); // view torch_export.py:54 in forward - ggml_tensor * t472 = ggml_cont(ctx, t471); // cont torch_export.py:54 in forward - ggml_tensor * t473 = ggml_sub(ctx, t472, const_12); // sub torch_export.py:54 in forward - ggml_tensor * t474 = ggml_mul(ctx, t473, const_13); // mul torch_export.py:54 in forward - ggml_tensor * t475 = ggml_compiler::ops::reshape(ctx, t474, 20, 2, 5, 48); // reshape torch_export.py:54 in forward - ggml_tensor * t476 = ggml_compiler::ops::slice(ctx, t475, 1, 0, 20, 1, 5, 48); // view torch_export.py:54 in forward - ggml_tensor * t477 = ggml_compiler::ops::reshape(ctx, t476, 20, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t478 = ggml_compiler::ops::reshape(ctx, t477, 20, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t479 = ggml_cont(ctx, t478); // cont torch_export.py:54 in forward - ggml_tensor * t480 = ggml_compiler::ops::reshape(ctx, t479, 2, 10, 5, 48); // reshape torch_export.py:54 in forward - ggml_tensor * t481 = ggml_compiler::ops::slice(ctx, t480, 0, 0, 1, 10, 5, 48); // view torch_export.py:54 in forward - ggml_tensor * t482 = ggml_cont(ctx, t481); // cont torch_export.py:54 in forward - ggml_tensor * t483 = ggml_compiler::ops::reshape(ctx, t482, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t484 = ggml_compiler::ops::reshape(ctx, t483, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t485 = ggml_compiler::ops::reshape(ctx, t484, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t486 = ggml_compiler::ops::slice(ctx, t480, 0, 1, 1, 10, 5, 48); // view torch_export.py:54 in forward - ggml_tensor * t487 = ggml_cont(ctx, t486); // cont torch_export.py:54 in forward - ggml_tensor * t488 = ggml_compiler::ops::reshape(ctx, t487, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t489 = ggml_compiler::ops::reshape(ctx, t488, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t490 = ggml_compiler::ops::reshape(ctx, t489, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t491 = ggml_compiler::ops::slice(ctx, t475, 1, 1, 20, 1, 5, 48); // view torch_export.py:54 in forward - ggml_tensor * t492 = ggml_compiler::ops::reshape(ctx, t491, 20, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t493 = ggml_compiler::ops::reshape(ctx, t492, 20, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t494 = ggml_cont(ctx, t493); // cont torch_export.py:54 in forward - ggml_tensor * t495 = ggml_compiler::ops::reshape(ctx, t494, 2, 10, 5, 48); // reshape torch_export.py:54 in forward - ggml_tensor * t496 = ggml_compiler::ops::slice(ctx, t495, 0, 0, 1, 10, 5, 48); // view torch_export.py:54 in forward - ggml_tensor * t497 = ggml_cont(ctx, t496); // cont torch_export.py:54 in forward - ggml_tensor * t498 = ggml_compiler::ops::reshape(ctx, t497, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t499 = ggml_compiler::ops::reshape(ctx, t498, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t500 = ggml_compiler::ops::reshape(ctx, t499, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t501 = ggml_compiler::ops::slice(ctx, t495, 0, 1, 1, 10, 5, 48); // view torch_export.py:54 in forward - ggml_tensor * t502 = ggml_cont(ctx, t501); // cont torch_export.py:54 in forward - ggml_tensor * t503 = ggml_compiler::ops::reshape(ctx, t502, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t504 = ggml_compiler::ops::reshape(ctx, t503, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t505 = ggml_compiler::ops::reshape(ctx, t504, 10, 5, 48, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t506 = ggml_concat(ctx, t485, t490, 2); // concat torch_export.py:54 in forward - ggml_tensor * t507 = ggml_concat(ctx, t506, t500, 2); // concat torch_export.py:54 in forward - ggml_tensor * t508 = ggml_concat(ctx, t507, t505, 2); // concat torch_export.py:54 in forward - ggml_tensor * t509 = ggml_compiler::ops::reshape(ctx, t508, 50, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t510 = ggml_permute(ctx, t509, 1, 0, 2, 3); // permute torch_export.py:54 in forward - - ggml_compiler_build_output(B, 0, t510); - return 0; -} - -// Stage 'prefix': 1824 nodes. -int build_prefix(ggml_compiler_stage_build * B) { - ggml_context * ctx = ggml_compiler_build_ctx(B); - const bool gpu = ggml_compiler_build_gpu(B); - (void) gpu; - - // Parameters - ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // i32 [1, 192] - ggml_tensor * in1 = ggml_compiler_build_param(B, 1); // f32 [1, 192] - - // Weights and constants, by GGUF name - ggml_tensor * net_mot_backbone_model_language_model_embed_tokens_weight = ggml_compiler_build_weight(B, "w.82"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_input_layernorm_weight = ggml_compiler_build_weight(B, "w.83"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.84"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.85"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.86"); - ggml_tensor * const_14 = ggml_compiler_build_weight(B, "c.14"); - ggml_tensor * const_15 = ggml_compiler_build_weight(B, "c.15"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.87"); - ggml_tensor * const_16 = ggml_compiler_build_weight(B, "c.16"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.88"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.89"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.90"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.91"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_input_layernorm_weight = ggml_compiler_build_weight(B, "w.92"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.93"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.94"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.95"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.96"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.97"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.98"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.99"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.100"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_input_layernorm_weight = ggml_compiler_build_weight(B, "w.101"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.102"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.103"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.104"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.105"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.106"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.107"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.108"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.109"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_input_layernorm_weight = ggml_compiler_build_weight(B, "w.110"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.111"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.112"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.113"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.114"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.115"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.116"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.117"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.118"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_input_layernorm_weight = ggml_compiler_build_weight(B, "w.119"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.120"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.121"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.122"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.123"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.124"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.125"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.126"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.127"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_input_layernorm_weight = ggml_compiler_build_weight(B, "w.128"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.129"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.130"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.131"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.132"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.133"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.134"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.135"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.136"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_input_layernorm_weight = ggml_compiler_build_weight(B, "w.137"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.138"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.139"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.140"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.141"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.142"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.143"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.144"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.145"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_input_layernorm_weight = ggml_compiler_build_weight(B, "w.146"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.147"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.148"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.149"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.150"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.151"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.152"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.153"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.154"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_input_layernorm_weight = ggml_compiler_build_weight(B, "w.155"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.156"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.157"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.158"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.159"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.160"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.161"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.162"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.163"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_input_layernorm_weight = ggml_compiler_build_weight(B, "w.164"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.165"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.166"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.167"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.168"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.169"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.170"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.171"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.172"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_input_layernorm_weight = ggml_compiler_build_weight(B, "w.173"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.174"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.175"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.176"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.177"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.178"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.179"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.180"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.181"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_input_layernorm_weight = ggml_compiler_build_weight(B, "w.182"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.183"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.184"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.185"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.186"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.187"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.188"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.189"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.190"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_input_layernorm_weight = ggml_compiler_build_weight(B, "w.191"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.192"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.193"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.194"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.195"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.196"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.197"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.198"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.199"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_input_layernorm_weight = ggml_compiler_build_weight(B, "w.200"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.201"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.202"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.203"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.204"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.205"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.206"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.207"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.208"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_input_layernorm_weight = ggml_compiler_build_weight(B, "w.209"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.210"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.211"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.212"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.213"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.214"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.215"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.216"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.217"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_input_layernorm_weight = ggml_compiler_build_weight(B, "w.218"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.219"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.220"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.221"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.222"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.223"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.224"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.225"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.226"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_input_layernorm_weight = ggml_compiler_build_weight(B, "w.227"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.228"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.229"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.230"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.231"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.232"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.233"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.234"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.235"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_input_layernorm_weight = ggml_compiler_build_weight(B, "w.236"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.237"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.238"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.239"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.240"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.241"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.242"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.243"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.244"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_input_layernorm_weight = ggml_compiler_build_weight(B, "w.245"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.246"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.247"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.248"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.249"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.250"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.251"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.252"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.253"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_input_layernorm_weight = ggml_compiler_build_weight(B, "w.254"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.255"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.256"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.257"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.258"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.259"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.260"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.261"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.262"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_input_layernorm_weight = ggml_compiler_build_weight(B, "w.263"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.264"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.265"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.266"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.267"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.268"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.269"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.270"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.271"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_input_layernorm_weight = ggml_compiler_build_weight(B, "w.272"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.273"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.274"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.275"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.276"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.277"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.278"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.279"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.280"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_input_layernorm_weight = ggml_compiler_build_weight(B, "w.281"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.282"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.283"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.284"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.285"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.286"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.287"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.288"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.289"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_input_layernorm_weight = ggml_compiler_build_weight(B, "w.290"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.291"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.292"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.293"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.294"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.295"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.296"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.297"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.298"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_input_layernorm_weight = ggml_compiler_build_weight(B, "w.299"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.300"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.301"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.302"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.303"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.304"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.305"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.306"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.307"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_input_layernorm_weight = ggml_compiler_build_weight(B, "w.308"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.309"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.310"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.311"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.312"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.313"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.314"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.315"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.316"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_input_layernorm_weight = ggml_compiler_build_weight(B, "w.317"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.318"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.319"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.320"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_weight = ggml_compiler_build_weight(B, "w.321"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_weight = ggml_compiler_build_weight(B, "w.322"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_weight = ggml_compiler_build_weight(B, "w.323"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_up_proj_weight = ggml_compiler_build_weight(B, "w.324"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_down_proj_weight = ggml_compiler_build_weight(B, "w.325"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_input_layernorm_weight = ggml_compiler_build_weight(B, "w.326"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_weight = ggml_compiler_build_weight(B, "w.327"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_weight = ggml_compiler_build_weight(B, "w.328"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_und_for_gen_weight = ggml_compiler_build_weight(B, "w.329"); - ggml_tensor * const_17 = ggml_compiler_build_weight(B, "c.17"); - ggml_tensor * const_18 = ggml_compiler_build_weight(B, "c.18"); - ggml_tensor * const_19 = ggml_compiler_build_weight(B, "c.19"); - ggml_tensor * const_20 = ggml_compiler_build_weight(B, "c.20"); - - // Graph - ggml_tensor * t0 = ggml_compiler::ops::reshape(ctx, in0, 192, 1, 1, 1); // reshape net.mot_backbone.model.language_model.embed_tokens sparse.py:189 in forward - ggml_tensor * t1 = ggml_get_rows(ctx, net_mot_backbone_model_language_model_embed_tokens_weight, t0); // get_rows net.mot_backbone.model.language_model.embed_tokens sparse.py:189 in forward - ggml_tensor * t2 = ggml_compiler::ops::reshape(ctx, t1, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.embed_tokens sparse.py:189 in forward - ggml_tensor * t3 = ggml_rms_norm(ctx, t2, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t4 = ggml_mul(ctx, t3, net_mot_backbone_model_language_model_layers_0_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.0.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t5 = ggml_compiler::ops::reshape(ctx, t4, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t6 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_weight, t5); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t7 = ggml_compiler::ops::reshape(ctx, t6, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t8 = ggml_permute(ctx, t7, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t9 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_weight, t5); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t10 = ggml_compiler::ops::reshape(ctx, t9, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t11 = ggml_permute(ctx, t10, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t12 = ggml_cont(ctx, t8); // cont net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t13 = ggml_rms_norm(ctx, t12, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t14 = ggml_mul(ctx, t13, net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t15 = ggml_mul(ctx, t14, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t16 = ggml_compiler::ops::slice(ctx, t14, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t17 = ggml_cont(ctx, t16); // cont torch_export.py:54 in forward - ggml_tensor * t18 = ggml_neg(ctx, t17); // neg torch_export.py:54 in forward - ggml_tensor * t19 = ggml_compiler::ops::slice(ctx, t14, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t20 = ggml_cont(ctx, t19); // cont torch_export.py:54 in forward - ggml_tensor * t21 = ggml_concat(ctx, t18, t20, 0); // concat torch_export.py:54 in forward - ggml_tensor * t22 = ggml_mul(ctx, t21, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t23 = ggml_add(ctx, t15, t22); // add torch_export.py:54 in forward - ggml_tensor * t24 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_weight, t5); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t25 = ggml_compiler::ops::reshape(ctx, t24, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t26 = ggml_permute(ctx, t25, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t27 = ggml_cont(ctx, t26); // cont torch_export.py:54 in forward - ggml_tensor * t28 = ggml_mul(ctx, t27, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t29 = ggml_compiler::ops::slice(ctx, t26, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t30 = ggml_cont(ctx, t29); // cont torch_export.py:54 in forward - ggml_tensor * t31 = ggml_neg(ctx, t30); // neg torch_export.py:54 in forward - ggml_tensor * t32 = ggml_compiler::ops::slice(ctx, t26, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t33 = ggml_cont(ctx, t32); // cont torch_export.py:54 in forward - ggml_tensor * t34 = ggml_concat(ctx, t31, t33, 0); // concat torch_export.py:54 in forward - ggml_tensor * t35 = ggml_mul(ctx, t34, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t36 = ggml_add(ctx, t28, t35); // add torch_export.py:54 in forward - ggml_tensor * t37 = ggml_mul(ctx, t12, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t38 = ggml_compiler::ops::slice(ctx, t8, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t39 = ggml_cont(ctx, t38); // cont torch_export.py:54 in forward - ggml_tensor * t40 = ggml_neg(ctx, t39); // neg torch_export.py:54 in forward - ggml_tensor * t41 = ggml_compiler::ops::slice(ctx, t8, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t42 = ggml_cont(ctx, t41); // cont torch_export.py:54 in forward - ggml_tensor * t43 = ggml_concat(ctx, t40, t42, 0); // concat torch_export.py:54 in forward - ggml_tensor * t44 = ggml_mul(ctx, t43, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t45 = ggml_add(ctx, t37, t44); // add torch_export.py:54 in forward - ggml_tensor * t46 = ggml_compiler::ops::mul_mat(ctx, t45, t36, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t47 = ggml_soft_max_ext(ctx, t46, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t48 = ggml_permute(ctx, t10, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t49 = ggml_cont(ctx, t48); // cont torch_export.py:54 in forward - ggml_tensor * t50 = ggml_compiler::ops::mul_mat(ctx, t49, t47, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t51 = ggml_permute(ctx, t50, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t52 = ggml_cont(ctx, t51); // cont torch_export.py:54 in forward - ggml_tensor * t53 = ggml_compiler::ops::reshape(ctx, t52, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t54 = ggml_compiler::ops::reshape(ctx, t53, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t55 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_weight, t54); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t56 = ggml_compiler::ops::reshape(ctx, t55, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t57 = ggml_add(ctx, t2, t56); // add torch_export.py:54 in forward - ggml_tensor * t58 = ggml_rms_norm(ctx, t57, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t59 = ggml_mul(ctx, t58, net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.0.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t60 = ggml_compiler::ops::reshape(ctx, t59, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.up_proj linear.py:134 in forward - ggml_tensor * t61 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_up_proj_weight, t60); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp.up_proj linear.py:134 in forward - ggml_tensor * t62 = ggml_compiler::ops::reshape(ctx, t61, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.up_proj linear.py:134 in forward - ggml_tensor * t63 = ggml_relu(ctx, t62); // relu net.mot_backbone.model.language_model.layers.0.mlp.act_fn activations.py:212 in forward - ggml_tensor * t64 = ggml_sqr(ctx, t63); // sqr net.mot_backbone.model.language_model.layers.0.mlp.act_fn activations.py:213 in forward - ggml_tensor * t65 = ggml_compiler::ops::reshape(ctx, t64, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.down_proj linear.py:134 in forward - ggml_tensor * t66 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_down_proj_weight, t65); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp.down_proj linear.py:134 in forward - ggml_tensor * t67 = ggml_compiler::ops::reshape(ctx, t66, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp.down_proj linear.py:134 in forward - ggml_tensor * t68 = ggml_add(ctx, t57, t67); // add torch_export.py:54 in forward - ggml_tensor * t69 = ggml_rms_norm(ctx, t68, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t70 = ggml_mul(ctx, t69, net_mot_backbone_model_language_model_layers_1_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.1.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t71 = ggml_compiler::ops::reshape(ctx, t70, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t72 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_weight, t71); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t73 = ggml_compiler::ops::reshape(ctx, t72, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t74 = ggml_permute(ctx, t73, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t75 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_weight, t71); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t76 = ggml_compiler::ops::reshape(ctx, t75, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t77 = ggml_permute(ctx, t76, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t78 = ggml_cont(ctx, t74); // cont net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t79 = ggml_rms_norm(ctx, t78, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t80 = ggml_mul(ctx, t79, net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t81 = ggml_mul(ctx, t80, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t82 = ggml_compiler::ops::slice(ctx, t80, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t83 = ggml_cont(ctx, t82); // cont torch_export.py:54 in forward - ggml_tensor * t84 = ggml_neg(ctx, t83); // neg torch_export.py:54 in forward - ggml_tensor * t85 = ggml_compiler::ops::slice(ctx, t80, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t86 = ggml_cont(ctx, t85); // cont torch_export.py:54 in forward - ggml_tensor * t87 = ggml_concat(ctx, t84, t86, 0); // concat torch_export.py:54 in forward - ggml_tensor * t88 = ggml_mul(ctx, t87, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t89 = ggml_add(ctx, t81, t88); // add torch_export.py:54 in forward - ggml_tensor * t90 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_weight, t71); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t91 = ggml_compiler::ops::reshape(ctx, t90, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t92 = ggml_permute(ctx, t91, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t93 = ggml_cont(ctx, t92); // cont torch_export.py:54 in forward - ggml_tensor * t94 = ggml_mul(ctx, t93, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t95 = ggml_compiler::ops::slice(ctx, t92, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t96 = ggml_cont(ctx, t95); // cont torch_export.py:54 in forward - ggml_tensor * t97 = ggml_neg(ctx, t96); // neg torch_export.py:54 in forward - ggml_tensor * t98 = ggml_compiler::ops::slice(ctx, t92, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t99 = ggml_cont(ctx, t98); // cont torch_export.py:54 in forward - ggml_tensor * t100 = ggml_concat(ctx, t97, t99, 0); // concat torch_export.py:54 in forward - ggml_tensor * t101 = ggml_mul(ctx, t100, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t102 = ggml_add(ctx, t94, t101); // add torch_export.py:54 in forward - ggml_tensor * t103 = ggml_mul(ctx, t78, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t104 = ggml_compiler::ops::slice(ctx, t74, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t105 = ggml_cont(ctx, t104); // cont torch_export.py:54 in forward - ggml_tensor * t106 = ggml_neg(ctx, t105); // neg torch_export.py:54 in forward - ggml_tensor * t107 = ggml_compiler::ops::slice(ctx, t74, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t108 = ggml_cont(ctx, t107); // cont torch_export.py:54 in forward - ggml_tensor * t109 = ggml_concat(ctx, t106, t108, 0); // concat torch_export.py:54 in forward - ggml_tensor * t110 = ggml_mul(ctx, t109, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t111 = ggml_add(ctx, t103, t110); // add torch_export.py:54 in forward - ggml_tensor * t112 = ggml_compiler::ops::mul_mat(ctx, t111, t102, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t113 = ggml_soft_max_ext(ctx, t112, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t114 = ggml_permute(ctx, t76, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t115 = ggml_cont(ctx, t114); // cont torch_export.py:54 in forward - ggml_tensor * t116 = ggml_compiler::ops::mul_mat(ctx, t115, t113, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t117 = ggml_permute(ctx, t116, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t118 = ggml_cont(ctx, t117); // cont torch_export.py:54 in forward - ggml_tensor * t119 = ggml_compiler::ops::reshape(ctx, t118, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t120 = ggml_compiler::ops::reshape(ctx, t119, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t121 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_weight, t120); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t122 = ggml_compiler::ops::reshape(ctx, t121, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t123 = ggml_add(ctx, t68, t122); // add torch_export.py:54 in forward - ggml_tensor * t124 = ggml_rms_norm(ctx, t123, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t125 = ggml_mul(ctx, t124, net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.1.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t126 = ggml_compiler::ops::reshape(ctx, t125, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.up_proj linear.py:134 in forward - ggml_tensor * t127 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_up_proj_weight, t126); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp.up_proj linear.py:134 in forward - ggml_tensor * t128 = ggml_compiler::ops::reshape(ctx, t127, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.up_proj linear.py:134 in forward - ggml_tensor * t129 = ggml_relu(ctx, t128); // relu net.mot_backbone.model.language_model.layers.1.mlp.act_fn activations.py:212 in forward - ggml_tensor * t130 = ggml_sqr(ctx, t129); // sqr net.mot_backbone.model.language_model.layers.1.mlp.act_fn activations.py:213 in forward - ggml_tensor * t131 = ggml_compiler::ops::reshape(ctx, t130, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.down_proj linear.py:134 in forward - ggml_tensor * t132 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_down_proj_weight, t131); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp.down_proj linear.py:134 in forward - ggml_tensor * t133 = ggml_compiler::ops::reshape(ctx, t132, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp.down_proj linear.py:134 in forward - ggml_tensor * t134 = ggml_add(ctx, t123, t133); // add torch_export.py:54 in forward - ggml_tensor * t135 = ggml_rms_norm(ctx, t134, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t136 = ggml_mul(ctx, t135, net_mot_backbone_model_language_model_layers_2_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.2.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t137 = ggml_compiler::ops::reshape(ctx, t136, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t138 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t139 = ggml_compiler::ops::reshape(ctx, t138, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t140 = ggml_permute(ctx, t139, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t141 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t142 = ggml_compiler::ops::reshape(ctx, t141, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t143 = ggml_permute(ctx, t142, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t144 = ggml_cont(ctx, t140); // cont net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t145 = ggml_rms_norm(ctx, t144, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t146 = ggml_mul(ctx, t145, net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t147 = ggml_mul(ctx, t146, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t148 = ggml_compiler::ops::slice(ctx, t146, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t149 = ggml_cont(ctx, t148); // cont torch_export.py:54 in forward - ggml_tensor * t150 = ggml_neg(ctx, t149); // neg torch_export.py:54 in forward - ggml_tensor * t151 = ggml_compiler::ops::slice(ctx, t146, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t152 = ggml_cont(ctx, t151); // cont torch_export.py:54 in forward - ggml_tensor * t153 = ggml_concat(ctx, t150, t152, 0); // concat torch_export.py:54 in forward - ggml_tensor * t154 = ggml_mul(ctx, t153, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t155 = ggml_add(ctx, t147, t154); // add torch_export.py:54 in forward - ggml_tensor * t156 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t157 = ggml_compiler::ops::reshape(ctx, t156, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t158 = ggml_permute(ctx, t157, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t159 = ggml_cont(ctx, t158); // cont torch_export.py:54 in forward - ggml_tensor * t160 = ggml_mul(ctx, t159, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t161 = ggml_compiler::ops::slice(ctx, t158, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t162 = ggml_cont(ctx, t161); // cont torch_export.py:54 in forward - ggml_tensor * t163 = ggml_neg(ctx, t162); // neg torch_export.py:54 in forward - ggml_tensor * t164 = ggml_compiler::ops::slice(ctx, t158, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t165 = ggml_cont(ctx, t164); // cont torch_export.py:54 in forward - ggml_tensor * t166 = ggml_concat(ctx, t163, t165, 0); // concat torch_export.py:54 in forward - ggml_tensor * t167 = ggml_mul(ctx, t166, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t168 = ggml_add(ctx, t160, t167); // add torch_export.py:54 in forward - ggml_tensor * t169 = ggml_mul(ctx, t144, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t170 = ggml_compiler::ops::slice(ctx, t140, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t171 = ggml_cont(ctx, t170); // cont torch_export.py:54 in forward - ggml_tensor * t172 = ggml_neg(ctx, t171); // neg torch_export.py:54 in forward - ggml_tensor * t173 = ggml_compiler::ops::slice(ctx, t140, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t174 = ggml_cont(ctx, t173); // cont torch_export.py:54 in forward - ggml_tensor * t175 = ggml_concat(ctx, t172, t174, 0); // concat torch_export.py:54 in forward - ggml_tensor * t176 = ggml_mul(ctx, t175, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t177 = ggml_add(ctx, t169, t176); // add torch_export.py:54 in forward - ggml_tensor * t178 = ggml_compiler::ops::mul_mat(ctx, t177, t168, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t179 = ggml_soft_max_ext(ctx, t178, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t180 = ggml_permute(ctx, t142, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t181 = ggml_cont(ctx, t180); // cont torch_export.py:54 in forward - ggml_tensor * t182 = ggml_compiler::ops::mul_mat(ctx, t181, t179, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t183 = ggml_permute(ctx, t182, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t184 = ggml_cont(ctx, t183); // cont torch_export.py:54 in forward - ggml_tensor * t185 = ggml_compiler::ops::reshape(ctx, t184, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t186 = ggml_compiler::ops::reshape(ctx, t185, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t187 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_weight, t186); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t188 = ggml_compiler::ops::reshape(ctx, t187, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t189 = ggml_add(ctx, t134, t188); // add torch_export.py:54 in forward - ggml_tensor * t190 = ggml_rms_norm(ctx, t189, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t191 = ggml_mul(ctx, t190, net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.2.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t192 = ggml_compiler::ops::reshape(ctx, t191, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.up_proj linear.py:134 in forward - ggml_tensor * t193 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_up_proj_weight, t192); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp.up_proj linear.py:134 in forward - ggml_tensor * t194 = ggml_compiler::ops::reshape(ctx, t193, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.up_proj linear.py:134 in forward - ggml_tensor * t195 = ggml_relu(ctx, t194); // relu net.mot_backbone.model.language_model.layers.2.mlp.act_fn activations.py:212 in forward - ggml_tensor * t196 = ggml_sqr(ctx, t195); // sqr net.mot_backbone.model.language_model.layers.2.mlp.act_fn activations.py:213 in forward - ggml_tensor * t197 = ggml_compiler::ops::reshape(ctx, t196, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.down_proj linear.py:134 in forward - ggml_tensor * t198 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_down_proj_weight, t197); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp.down_proj linear.py:134 in forward - ggml_tensor * t199 = ggml_compiler::ops::reshape(ctx, t198, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp.down_proj linear.py:134 in forward - ggml_tensor * t200 = ggml_add(ctx, t189, t199); // add torch_export.py:54 in forward - ggml_tensor * t201 = ggml_rms_norm(ctx, t200, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t202 = ggml_mul(ctx, t201, net_mot_backbone_model_language_model_layers_3_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.3.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t203 = ggml_compiler::ops::reshape(ctx, t202, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t204 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_weight, t203); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t205 = ggml_compiler::ops::reshape(ctx, t204, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t206 = ggml_permute(ctx, t205, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t207 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_weight, t203); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t208 = ggml_compiler::ops::reshape(ctx, t207, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t209 = ggml_permute(ctx, t208, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t210 = ggml_cont(ctx, t206); // cont net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t211 = ggml_rms_norm(ctx, t210, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t212 = ggml_mul(ctx, t211, net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t213 = ggml_mul(ctx, t212, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t214 = ggml_compiler::ops::slice(ctx, t212, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t215 = ggml_cont(ctx, t214); // cont torch_export.py:54 in forward - ggml_tensor * t216 = ggml_neg(ctx, t215); // neg torch_export.py:54 in forward - ggml_tensor * t217 = ggml_compiler::ops::slice(ctx, t212, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t218 = ggml_cont(ctx, t217); // cont torch_export.py:54 in forward - ggml_tensor * t219 = ggml_concat(ctx, t216, t218, 0); // concat torch_export.py:54 in forward - ggml_tensor * t220 = ggml_mul(ctx, t219, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t221 = ggml_add(ctx, t213, t220); // add torch_export.py:54 in forward - ggml_tensor * t222 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_weight, t203); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t223 = ggml_compiler::ops::reshape(ctx, t222, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t224 = ggml_permute(ctx, t223, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t225 = ggml_cont(ctx, t224); // cont torch_export.py:54 in forward - ggml_tensor * t226 = ggml_mul(ctx, t225, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t227 = ggml_compiler::ops::slice(ctx, t224, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t228 = ggml_cont(ctx, t227); // cont torch_export.py:54 in forward - ggml_tensor * t229 = ggml_neg(ctx, t228); // neg torch_export.py:54 in forward - ggml_tensor * t230 = ggml_compiler::ops::slice(ctx, t224, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t231 = ggml_cont(ctx, t230); // cont torch_export.py:54 in forward - ggml_tensor * t232 = ggml_concat(ctx, t229, t231, 0); // concat torch_export.py:54 in forward - ggml_tensor * t233 = ggml_mul(ctx, t232, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t234 = ggml_add(ctx, t226, t233); // add torch_export.py:54 in forward - ggml_tensor * t235 = ggml_mul(ctx, t210, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t236 = ggml_compiler::ops::slice(ctx, t206, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t237 = ggml_cont(ctx, t236); // cont torch_export.py:54 in forward - ggml_tensor * t238 = ggml_neg(ctx, t237); // neg torch_export.py:54 in forward - ggml_tensor * t239 = ggml_compiler::ops::slice(ctx, t206, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t240 = ggml_cont(ctx, t239); // cont torch_export.py:54 in forward - ggml_tensor * t241 = ggml_concat(ctx, t238, t240, 0); // concat torch_export.py:54 in forward - ggml_tensor * t242 = ggml_mul(ctx, t241, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t243 = ggml_add(ctx, t235, t242); // add torch_export.py:54 in forward - ggml_tensor * t244 = ggml_compiler::ops::mul_mat(ctx, t243, t234, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t245 = ggml_soft_max_ext(ctx, t244, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t246 = ggml_permute(ctx, t208, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t247 = ggml_cont(ctx, t246); // cont torch_export.py:54 in forward - ggml_tensor * t248 = ggml_compiler::ops::mul_mat(ctx, t247, t245, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t249 = ggml_permute(ctx, t248, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t250 = ggml_cont(ctx, t249); // cont torch_export.py:54 in forward - ggml_tensor * t251 = ggml_compiler::ops::reshape(ctx, t250, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t252 = ggml_compiler::ops::reshape(ctx, t251, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t253 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_weight, t252); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t254 = ggml_compiler::ops::reshape(ctx, t253, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t255 = ggml_add(ctx, t200, t254); // add torch_export.py:54 in forward - ggml_tensor * t256 = ggml_rms_norm(ctx, t255, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t257 = ggml_mul(ctx, t256, net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.3.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t258 = ggml_compiler::ops::reshape(ctx, t257, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.up_proj linear.py:134 in forward - ggml_tensor * t259 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_up_proj_weight, t258); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp.up_proj linear.py:134 in forward - ggml_tensor * t260 = ggml_compiler::ops::reshape(ctx, t259, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.up_proj linear.py:134 in forward - ggml_tensor * t261 = ggml_relu(ctx, t260); // relu net.mot_backbone.model.language_model.layers.3.mlp.act_fn activations.py:212 in forward - ggml_tensor * t262 = ggml_sqr(ctx, t261); // sqr net.mot_backbone.model.language_model.layers.3.mlp.act_fn activations.py:213 in forward - ggml_tensor * t263 = ggml_compiler::ops::reshape(ctx, t262, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.down_proj linear.py:134 in forward - ggml_tensor * t264 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_down_proj_weight, t263); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp.down_proj linear.py:134 in forward - ggml_tensor * t265 = ggml_compiler::ops::reshape(ctx, t264, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp.down_proj linear.py:134 in forward - ggml_tensor * t266 = ggml_add(ctx, t255, t265); // add torch_export.py:54 in forward - ggml_tensor * t267 = ggml_rms_norm(ctx, t266, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t268 = ggml_mul(ctx, t267, net_mot_backbone_model_language_model_layers_4_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.4.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t269 = ggml_compiler::ops::reshape(ctx, t268, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t270 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_weight, t269); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t271 = ggml_compiler::ops::reshape(ctx, t270, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t272 = ggml_permute(ctx, t271, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t273 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_weight, t269); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t274 = ggml_compiler::ops::reshape(ctx, t273, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t275 = ggml_permute(ctx, t274, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t276 = ggml_cont(ctx, t272); // cont net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t277 = ggml_rms_norm(ctx, t276, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t278 = ggml_mul(ctx, t277, net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t279 = ggml_mul(ctx, t278, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t280 = ggml_compiler::ops::slice(ctx, t278, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t281 = ggml_cont(ctx, t280); // cont torch_export.py:54 in forward - ggml_tensor * t282 = ggml_neg(ctx, t281); // neg torch_export.py:54 in forward - ggml_tensor * t283 = ggml_compiler::ops::slice(ctx, t278, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t284 = ggml_cont(ctx, t283); // cont torch_export.py:54 in forward - ggml_tensor * t285 = ggml_concat(ctx, t282, t284, 0); // concat torch_export.py:54 in forward - ggml_tensor * t286 = ggml_mul(ctx, t285, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t287 = ggml_add(ctx, t279, t286); // add torch_export.py:54 in forward - ggml_tensor * t288 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_weight, t269); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t289 = ggml_compiler::ops::reshape(ctx, t288, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t290 = ggml_permute(ctx, t289, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t291 = ggml_cont(ctx, t290); // cont torch_export.py:54 in forward - ggml_tensor * t292 = ggml_mul(ctx, t291, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t293 = ggml_compiler::ops::slice(ctx, t290, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t294 = ggml_cont(ctx, t293); // cont torch_export.py:54 in forward - ggml_tensor * t295 = ggml_neg(ctx, t294); // neg torch_export.py:54 in forward - ggml_tensor * t296 = ggml_compiler::ops::slice(ctx, t290, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t297 = ggml_cont(ctx, t296); // cont torch_export.py:54 in forward - ggml_tensor * t298 = ggml_concat(ctx, t295, t297, 0); // concat torch_export.py:54 in forward - ggml_tensor * t299 = ggml_mul(ctx, t298, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t300 = ggml_add(ctx, t292, t299); // add torch_export.py:54 in forward - ggml_tensor * t301 = ggml_mul(ctx, t276, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t302 = ggml_compiler::ops::slice(ctx, t272, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t303 = ggml_cont(ctx, t302); // cont torch_export.py:54 in forward - ggml_tensor * t304 = ggml_neg(ctx, t303); // neg torch_export.py:54 in forward - ggml_tensor * t305 = ggml_compiler::ops::slice(ctx, t272, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t306 = ggml_cont(ctx, t305); // cont torch_export.py:54 in forward - ggml_tensor * t307 = ggml_concat(ctx, t304, t306, 0); // concat torch_export.py:54 in forward - ggml_tensor * t308 = ggml_mul(ctx, t307, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t309 = ggml_add(ctx, t301, t308); // add torch_export.py:54 in forward - ggml_tensor * t310 = ggml_compiler::ops::mul_mat(ctx, t309, t300, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t311 = ggml_soft_max_ext(ctx, t310, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t312 = ggml_permute(ctx, t274, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t313 = ggml_cont(ctx, t312); // cont torch_export.py:54 in forward - ggml_tensor * t314 = ggml_compiler::ops::mul_mat(ctx, t313, t311, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t315 = ggml_permute(ctx, t314, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t316 = ggml_cont(ctx, t315); // cont torch_export.py:54 in forward - ggml_tensor * t317 = ggml_compiler::ops::reshape(ctx, t316, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t318 = ggml_compiler::ops::reshape(ctx, t317, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t319 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_weight, t318); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t320 = ggml_compiler::ops::reshape(ctx, t319, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t321 = ggml_add(ctx, t266, t320); // add torch_export.py:54 in forward - ggml_tensor * t322 = ggml_rms_norm(ctx, t321, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t323 = ggml_mul(ctx, t322, net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.4.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t324 = ggml_compiler::ops::reshape(ctx, t323, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.up_proj linear.py:134 in forward - ggml_tensor * t325 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_up_proj_weight, t324); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp.up_proj linear.py:134 in forward - ggml_tensor * t326 = ggml_compiler::ops::reshape(ctx, t325, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.up_proj linear.py:134 in forward - ggml_tensor * t327 = ggml_relu(ctx, t326); // relu net.mot_backbone.model.language_model.layers.4.mlp.act_fn activations.py:212 in forward - ggml_tensor * t328 = ggml_sqr(ctx, t327); // sqr net.mot_backbone.model.language_model.layers.4.mlp.act_fn activations.py:213 in forward - ggml_tensor * t329 = ggml_compiler::ops::reshape(ctx, t328, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.down_proj linear.py:134 in forward - ggml_tensor * t330 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_down_proj_weight, t329); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp.down_proj linear.py:134 in forward - ggml_tensor * t331 = ggml_compiler::ops::reshape(ctx, t330, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp.down_proj linear.py:134 in forward - ggml_tensor * t332 = ggml_add(ctx, t321, t331); // add torch_export.py:54 in forward - ggml_tensor * t333 = ggml_rms_norm(ctx, t332, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t334 = ggml_mul(ctx, t333, net_mot_backbone_model_language_model_layers_5_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.5.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t335 = ggml_compiler::ops::reshape(ctx, t334, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t336 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_weight, t335); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t337 = ggml_compiler::ops::reshape(ctx, t336, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t338 = ggml_permute(ctx, t337, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t339 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_weight, t335); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t340 = ggml_compiler::ops::reshape(ctx, t339, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t341 = ggml_permute(ctx, t340, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t342 = ggml_cont(ctx, t338); // cont net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t343 = ggml_rms_norm(ctx, t342, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t344 = ggml_mul(ctx, t343, net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t345 = ggml_mul(ctx, t344, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t346 = ggml_compiler::ops::slice(ctx, t344, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t347 = ggml_cont(ctx, t346); // cont torch_export.py:54 in forward - ggml_tensor * t348 = ggml_neg(ctx, t347); // neg torch_export.py:54 in forward - ggml_tensor * t349 = ggml_compiler::ops::slice(ctx, t344, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t350 = ggml_cont(ctx, t349); // cont torch_export.py:54 in forward - ggml_tensor * t351 = ggml_concat(ctx, t348, t350, 0); // concat torch_export.py:54 in forward - ggml_tensor * t352 = ggml_mul(ctx, t351, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t353 = ggml_add(ctx, t345, t352); // add torch_export.py:54 in forward - ggml_tensor * t354 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_weight, t335); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t355 = ggml_compiler::ops::reshape(ctx, t354, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t356 = ggml_permute(ctx, t355, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t357 = ggml_cont(ctx, t356); // cont torch_export.py:54 in forward - ggml_tensor * t358 = ggml_mul(ctx, t357, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t359 = ggml_compiler::ops::slice(ctx, t356, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t360 = ggml_cont(ctx, t359); // cont torch_export.py:54 in forward - ggml_tensor * t361 = ggml_neg(ctx, t360); // neg torch_export.py:54 in forward - ggml_tensor * t362 = ggml_compiler::ops::slice(ctx, t356, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t363 = ggml_cont(ctx, t362); // cont torch_export.py:54 in forward - ggml_tensor * t364 = ggml_concat(ctx, t361, t363, 0); // concat torch_export.py:54 in forward - ggml_tensor * t365 = ggml_mul(ctx, t364, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t366 = ggml_add(ctx, t358, t365); // add torch_export.py:54 in forward - ggml_tensor * t367 = ggml_mul(ctx, t342, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t368 = ggml_compiler::ops::slice(ctx, t338, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t369 = ggml_cont(ctx, t368); // cont torch_export.py:54 in forward - ggml_tensor * t370 = ggml_neg(ctx, t369); // neg torch_export.py:54 in forward - ggml_tensor * t371 = ggml_compiler::ops::slice(ctx, t338, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t372 = ggml_cont(ctx, t371); // cont torch_export.py:54 in forward - ggml_tensor * t373 = ggml_concat(ctx, t370, t372, 0); // concat torch_export.py:54 in forward - ggml_tensor * t374 = ggml_mul(ctx, t373, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t375 = ggml_add(ctx, t367, t374); // add torch_export.py:54 in forward - ggml_tensor * t376 = ggml_compiler::ops::mul_mat(ctx, t375, t366, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t377 = ggml_soft_max_ext(ctx, t376, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t378 = ggml_permute(ctx, t340, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t379 = ggml_cont(ctx, t378); // cont torch_export.py:54 in forward - ggml_tensor * t380 = ggml_compiler::ops::mul_mat(ctx, t379, t377, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t381 = ggml_permute(ctx, t380, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t382 = ggml_cont(ctx, t381); // cont torch_export.py:54 in forward - ggml_tensor * t383 = ggml_compiler::ops::reshape(ctx, t382, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t384 = ggml_compiler::ops::reshape(ctx, t383, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t385 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_weight, t384); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t386 = ggml_compiler::ops::reshape(ctx, t385, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t387 = ggml_add(ctx, t332, t386); // add torch_export.py:54 in forward - ggml_tensor * t388 = ggml_rms_norm(ctx, t387, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t389 = ggml_mul(ctx, t388, net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.5.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t390 = ggml_compiler::ops::reshape(ctx, t389, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.up_proj linear.py:134 in forward - ggml_tensor * t391 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_up_proj_weight, t390); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp.up_proj linear.py:134 in forward - ggml_tensor * t392 = ggml_compiler::ops::reshape(ctx, t391, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.up_proj linear.py:134 in forward - ggml_tensor * t393 = ggml_relu(ctx, t392); // relu net.mot_backbone.model.language_model.layers.5.mlp.act_fn activations.py:212 in forward - ggml_tensor * t394 = ggml_sqr(ctx, t393); // sqr net.mot_backbone.model.language_model.layers.5.mlp.act_fn activations.py:213 in forward - ggml_tensor * t395 = ggml_compiler::ops::reshape(ctx, t394, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.down_proj linear.py:134 in forward - ggml_tensor * t396 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_down_proj_weight, t395); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp.down_proj linear.py:134 in forward - ggml_tensor * t397 = ggml_compiler::ops::reshape(ctx, t396, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp.down_proj linear.py:134 in forward - ggml_tensor * t398 = ggml_add(ctx, t387, t397); // add torch_export.py:54 in forward - ggml_tensor * t399 = ggml_rms_norm(ctx, t398, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t400 = ggml_mul(ctx, t399, net_mot_backbone_model_language_model_layers_6_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.6.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t401 = ggml_compiler::ops::reshape(ctx, t400, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t402 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_weight, t401); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t403 = ggml_compiler::ops::reshape(ctx, t402, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t404 = ggml_permute(ctx, t403, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t405 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_weight, t401); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t406 = ggml_compiler::ops::reshape(ctx, t405, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t407 = ggml_permute(ctx, t406, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t408 = ggml_cont(ctx, t404); // cont net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t409 = ggml_rms_norm(ctx, t408, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t410 = ggml_mul(ctx, t409, net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t411 = ggml_mul(ctx, t410, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t412 = ggml_compiler::ops::slice(ctx, t410, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t413 = ggml_cont(ctx, t412); // cont torch_export.py:54 in forward - ggml_tensor * t414 = ggml_neg(ctx, t413); // neg torch_export.py:54 in forward - ggml_tensor * t415 = ggml_compiler::ops::slice(ctx, t410, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t416 = ggml_cont(ctx, t415); // cont torch_export.py:54 in forward - ggml_tensor * t417 = ggml_concat(ctx, t414, t416, 0); // concat torch_export.py:54 in forward - ggml_tensor * t418 = ggml_mul(ctx, t417, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t419 = ggml_add(ctx, t411, t418); // add torch_export.py:54 in forward - ggml_tensor * t420 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_weight, t401); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t421 = ggml_compiler::ops::reshape(ctx, t420, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t422 = ggml_permute(ctx, t421, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t423 = ggml_cont(ctx, t422); // cont torch_export.py:54 in forward - ggml_tensor * t424 = ggml_mul(ctx, t423, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t425 = ggml_compiler::ops::slice(ctx, t422, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t426 = ggml_cont(ctx, t425); // cont torch_export.py:54 in forward - ggml_tensor * t427 = ggml_neg(ctx, t426); // neg torch_export.py:54 in forward - ggml_tensor * t428 = ggml_compiler::ops::slice(ctx, t422, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t429 = ggml_cont(ctx, t428); // cont torch_export.py:54 in forward - ggml_tensor * t430 = ggml_concat(ctx, t427, t429, 0); // concat torch_export.py:54 in forward - ggml_tensor * t431 = ggml_mul(ctx, t430, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t432 = ggml_add(ctx, t424, t431); // add torch_export.py:54 in forward - ggml_tensor * t433 = ggml_mul(ctx, t408, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t434 = ggml_compiler::ops::slice(ctx, t404, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t435 = ggml_cont(ctx, t434); // cont torch_export.py:54 in forward - ggml_tensor * t436 = ggml_neg(ctx, t435); // neg torch_export.py:54 in forward - ggml_tensor * t437 = ggml_compiler::ops::slice(ctx, t404, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t438 = ggml_cont(ctx, t437); // cont torch_export.py:54 in forward - ggml_tensor * t439 = ggml_concat(ctx, t436, t438, 0); // concat torch_export.py:54 in forward - ggml_tensor * t440 = ggml_mul(ctx, t439, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t441 = ggml_add(ctx, t433, t440); // add torch_export.py:54 in forward - ggml_tensor * t442 = ggml_compiler::ops::mul_mat(ctx, t441, t432, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t443 = ggml_soft_max_ext(ctx, t442, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t444 = ggml_permute(ctx, t406, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t445 = ggml_cont(ctx, t444); // cont torch_export.py:54 in forward - ggml_tensor * t446 = ggml_compiler::ops::mul_mat(ctx, t445, t443, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t447 = ggml_permute(ctx, t446, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t448 = ggml_cont(ctx, t447); // cont torch_export.py:54 in forward - ggml_tensor * t449 = ggml_compiler::ops::reshape(ctx, t448, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t450 = ggml_compiler::ops::reshape(ctx, t449, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t451 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_weight, t450); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t452 = ggml_compiler::ops::reshape(ctx, t451, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t453 = ggml_add(ctx, t398, t452); // add torch_export.py:54 in forward - ggml_tensor * t454 = ggml_rms_norm(ctx, t453, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t455 = ggml_mul(ctx, t454, net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.6.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t456 = ggml_compiler::ops::reshape(ctx, t455, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.up_proj linear.py:134 in forward - ggml_tensor * t457 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_up_proj_weight, t456); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp.up_proj linear.py:134 in forward - ggml_tensor * t458 = ggml_compiler::ops::reshape(ctx, t457, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.up_proj linear.py:134 in forward - ggml_tensor * t459 = ggml_relu(ctx, t458); // relu net.mot_backbone.model.language_model.layers.6.mlp.act_fn activations.py:212 in forward - ggml_tensor * t460 = ggml_sqr(ctx, t459); // sqr net.mot_backbone.model.language_model.layers.6.mlp.act_fn activations.py:213 in forward - ggml_tensor * t461 = ggml_compiler::ops::reshape(ctx, t460, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.down_proj linear.py:134 in forward - ggml_tensor * t462 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_down_proj_weight, t461); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp.down_proj linear.py:134 in forward - ggml_tensor * t463 = ggml_compiler::ops::reshape(ctx, t462, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp.down_proj linear.py:134 in forward - ggml_tensor * t464 = ggml_add(ctx, t453, t463); // add torch_export.py:54 in forward - ggml_tensor * t465 = ggml_rms_norm(ctx, t464, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t466 = ggml_mul(ctx, t465, net_mot_backbone_model_language_model_layers_7_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.7.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t467 = ggml_compiler::ops::reshape(ctx, t466, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t468 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_weight, t467); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t469 = ggml_compiler::ops::reshape(ctx, t468, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t470 = ggml_permute(ctx, t469, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t471 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_weight, t467); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t472 = ggml_compiler::ops::reshape(ctx, t471, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t473 = ggml_permute(ctx, t472, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t474 = ggml_cont(ctx, t470); // cont net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t475 = ggml_rms_norm(ctx, t474, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t476 = ggml_mul(ctx, t475, net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t477 = ggml_mul(ctx, t476, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t478 = ggml_compiler::ops::slice(ctx, t476, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t479 = ggml_cont(ctx, t478); // cont torch_export.py:54 in forward - ggml_tensor * t480 = ggml_neg(ctx, t479); // neg torch_export.py:54 in forward - ggml_tensor * t481 = ggml_compiler::ops::slice(ctx, t476, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t482 = ggml_cont(ctx, t481); // cont torch_export.py:54 in forward - ggml_tensor * t483 = ggml_concat(ctx, t480, t482, 0); // concat torch_export.py:54 in forward - ggml_tensor * t484 = ggml_mul(ctx, t483, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t485 = ggml_add(ctx, t477, t484); // add torch_export.py:54 in forward - ggml_tensor * t486 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_weight, t467); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t487 = ggml_compiler::ops::reshape(ctx, t486, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t488 = ggml_permute(ctx, t487, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t489 = ggml_cont(ctx, t488); // cont torch_export.py:54 in forward - ggml_tensor * t490 = ggml_mul(ctx, t489, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t491 = ggml_compiler::ops::slice(ctx, t488, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t492 = ggml_cont(ctx, t491); // cont torch_export.py:54 in forward - ggml_tensor * t493 = ggml_neg(ctx, t492); // neg torch_export.py:54 in forward - ggml_tensor * t494 = ggml_compiler::ops::slice(ctx, t488, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t495 = ggml_cont(ctx, t494); // cont torch_export.py:54 in forward - ggml_tensor * t496 = ggml_concat(ctx, t493, t495, 0); // concat torch_export.py:54 in forward - ggml_tensor * t497 = ggml_mul(ctx, t496, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t498 = ggml_add(ctx, t490, t497); // add torch_export.py:54 in forward - ggml_tensor * t499 = ggml_mul(ctx, t474, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t500 = ggml_compiler::ops::slice(ctx, t470, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t501 = ggml_cont(ctx, t500); // cont torch_export.py:54 in forward - ggml_tensor * t502 = ggml_neg(ctx, t501); // neg torch_export.py:54 in forward - ggml_tensor * t503 = ggml_compiler::ops::slice(ctx, t470, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t504 = ggml_cont(ctx, t503); // cont torch_export.py:54 in forward - ggml_tensor * t505 = ggml_concat(ctx, t502, t504, 0); // concat torch_export.py:54 in forward - ggml_tensor * t506 = ggml_mul(ctx, t505, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t507 = ggml_add(ctx, t499, t506); // add torch_export.py:54 in forward - ggml_tensor * t508 = ggml_compiler::ops::mul_mat(ctx, t507, t498, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t509 = ggml_soft_max_ext(ctx, t508, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t510 = ggml_permute(ctx, t472, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t511 = ggml_cont(ctx, t510); // cont torch_export.py:54 in forward - ggml_tensor * t512 = ggml_compiler::ops::mul_mat(ctx, t511, t509, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t513 = ggml_permute(ctx, t512, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t514 = ggml_cont(ctx, t513); // cont torch_export.py:54 in forward - ggml_tensor * t515 = ggml_compiler::ops::reshape(ctx, t514, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t516 = ggml_compiler::ops::reshape(ctx, t515, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t517 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_weight, t516); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t518 = ggml_compiler::ops::reshape(ctx, t517, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t519 = ggml_add(ctx, t464, t518); // add torch_export.py:54 in forward - ggml_tensor * t520 = ggml_rms_norm(ctx, t519, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t521 = ggml_mul(ctx, t520, net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.7.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t522 = ggml_compiler::ops::reshape(ctx, t521, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.up_proj linear.py:134 in forward - ggml_tensor * t523 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_up_proj_weight, t522); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp.up_proj linear.py:134 in forward - ggml_tensor * t524 = ggml_compiler::ops::reshape(ctx, t523, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.up_proj linear.py:134 in forward - ggml_tensor * t525 = ggml_relu(ctx, t524); // relu net.mot_backbone.model.language_model.layers.7.mlp.act_fn activations.py:212 in forward - ggml_tensor * t526 = ggml_sqr(ctx, t525); // sqr net.mot_backbone.model.language_model.layers.7.mlp.act_fn activations.py:213 in forward - ggml_tensor * t527 = ggml_compiler::ops::reshape(ctx, t526, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.down_proj linear.py:134 in forward - ggml_tensor * t528 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_down_proj_weight, t527); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp.down_proj linear.py:134 in forward - ggml_tensor * t529 = ggml_compiler::ops::reshape(ctx, t528, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp.down_proj linear.py:134 in forward - ggml_tensor * t530 = ggml_add(ctx, t519, t529); // add torch_export.py:54 in forward - ggml_tensor * t531 = ggml_rms_norm(ctx, t530, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t532 = ggml_mul(ctx, t531, net_mot_backbone_model_language_model_layers_8_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.8.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t533 = ggml_compiler::ops::reshape(ctx, t532, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t534 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_weight, t533); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t535 = ggml_compiler::ops::reshape(ctx, t534, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t536 = ggml_permute(ctx, t535, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t537 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_weight, t533); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t538 = ggml_compiler::ops::reshape(ctx, t537, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t539 = ggml_permute(ctx, t538, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t540 = ggml_cont(ctx, t536); // cont net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t541 = ggml_rms_norm(ctx, t540, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t542 = ggml_mul(ctx, t541, net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t543 = ggml_mul(ctx, t542, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t544 = ggml_compiler::ops::slice(ctx, t542, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t545 = ggml_cont(ctx, t544); // cont torch_export.py:54 in forward - ggml_tensor * t546 = ggml_neg(ctx, t545); // neg torch_export.py:54 in forward - ggml_tensor * t547 = ggml_compiler::ops::slice(ctx, t542, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t548 = ggml_cont(ctx, t547); // cont torch_export.py:54 in forward - ggml_tensor * t549 = ggml_concat(ctx, t546, t548, 0); // concat torch_export.py:54 in forward - ggml_tensor * t550 = ggml_mul(ctx, t549, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t551 = ggml_add(ctx, t543, t550); // add torch_export.py:54 in forward - ggml_tensor * t552 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_weight, t533); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t553 = ggml_compiler::ops::reshape(ctx, t552, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t554 = ggml_permute(ctx, t553, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t555 = ggml_cont(ctx, t554); // cont torch_export.py:54 in forward - ggml_tensor * t556 = ggml_mul(ctx, t555, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t557 = ggml_compiler::ops::slice(ctx, t554, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t558 = ggml_cont(ctx, t557); // cont torch_export.py:54 in forward - ggml_tensor * t559 = ggml_neg(ctx, t558); // neg torch_export.py:54 in forward - ggml_tensor * t560 = ggml_compiler::ops::slice(ctx, t554, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t561 = ggml_cont(ctx, t560); // cont torch_export.py:54 in forward - ggml_tensor * t562 = ggml_concat(ctx, t559, t561, 0); // concat torch_export.py:54 in forward - ggml_tensor * t563 = ggml_mul(ctx, t562, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t564 = ggml_add(ctx, t556, t563); // add torch_export.py:54 in forward - ggml_tensor * t565 = ggml_mul(ctx, t540, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t566 = ggml_compiler::ops::slice(ctx, t536, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t567 = ggml_cont(ctx, t566); // cont torch_export.py:54 in forward - ggml_tensor * t568 = ggml_neg(ctx, t567); // neg torch_export.py:54 in forward - ggml_tensor * t569 = ggml_compiler::ops::slice(ctx, t536, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t570 = ggml_cont(ctx, t569); // cont torch_export.py:54 in forward - ggml_tensor * t571 = ggml_concat(ctx, t568, t570, 0); // concat torch_export.py:54 in forward - ggml_tensor * t572 = ggml_mul(ctx, t571, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t573 = ggml_add(ctx, t565, t572); // add torch_export.py:54 in forward - ggml_tensor * t574 = ggml_compiler::ops::mul_mat(ctx, t573, t564, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t575 = ggml_soft_max_ext(ctx, t574, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t576 = ggml_permute(ctx, t538, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t577 = ggml_cont(ctx, t576); // cont torch_export.py:54 in forward - ggml_tensor * t578 = ggml_compiler::ops::mul_mat(ctx, t577, t575, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t579 = ggml_permute(ctx, t578, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t580 = ggml_cont(ctx, t579); // cont torch_export.py:54 in forward - ggml_tensor * t581 = ggml_compiler::ops::reshape(ctx, t580, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t582 = ggml_compiler::ops::reshape(ctx, t581, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t583 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_weight, t582); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t584 = ggml_compiler::ops::reshape(ctx, t583, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t585 = ggml_add(ctx, t530, t584); // add torch_export.py:54 in forward - ggml_tensor * t586 = ggml_rms_norm(ctx, t585, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t587 = ggml_mul(ctx, t586, net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.8.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t588 = ggml_compiler::ops::reshape(ctx, t587, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.up_proj linear.py:134 in forward - ggml_tensor * t589 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_up_proj_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp.up_proj linear.py:134 in forward - ggml_tensor * t590 = ggml_compiler::ops::reshape(ctx, t589, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.up_proj linear.py:134 in forward - ggml_tensor * t591 = ggml_relu(ctx, t590); // relu net.mot_backbone.model.language_model.layers.8.mlp.act_fn activations.py:212 in forward - ggml_tensor * t592 = ggml_sqr(ctx, t591); // sqr net.mot_backbone.model.language_model.layers.8.mlp.act_fn activations.py:213 in forward - ggml_tensor * t593 = ggml_compiler::ops::reshape(ctx, t592, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.down_proj linear.py:134 in forward - ggml_tensor * t594 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_down_proj_weight, t593); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp.down_proj linear.py:134 in forward - ggml_tensor * t595 = ggml_compiler::ops::reshape(ctx, t594, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp.down_proj linear.py:134 in forward - ggml_tensor * t596 = ggml_add(ctx, t585, t595); // add torch_export.py:54 in forward - ggml_tensor * t597 = ggml_rms_norm(ctx, t596, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t598 = ggml_mul(ctx, t597, net_mot_backbone_model_language_model_layers_9_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.9.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t599 = ggml_compiler::ops::reshape(ctx, t598, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t600 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_weight, t599); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t601 = ggml_compiler::ops::reshape(ctx, t600, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t602 = ggml_permute(ctx, t601, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t603 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_weight, t599); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t604 = ggml_compiler::ops::reshape(ctx, t603, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t605 = ggml_permute(ctx, t604, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t606 = ggml_cont(ctx, t602); // cont net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t607 = ggml_rms_norm(ctx, t606, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t608 = ggml_mul(ctx, t607, net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t609 = ggml_mul(ctx, t608, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t610 = ggml_compiler::ops::slice(ctx, t608, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t611 = ggml_cont(ctx, t610); // cont torch_export.py:54 in forward - ggml_tensor * t612 = ggml_neg(ctx, t611); // neg torch_export.py:54 in forward - ggml_tensor * t613 = ggml_compiler::ops::slice(ctx, t608, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t614 = ggml_cont(ctx, t613); // cont torch_export.py:54 in forward - ggml_tensor * t615 = ggml_concat(ctx, t612, t614, 0); // concat torch_export.py:54 in forward - ggml_tensor * t616 = ggml_mul(ctx, t615, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t617 = ggml_add(ctx, t609, t616); // add torch_export.py:54 in forward - ggml_tensor * t618 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_weight, t599); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t619 = ggml_compiler::ops::reshape(ctx, t618, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t620 = ggml_permute(ctx, t619, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t621 = ggml_cont(ctx, t620); // cont torch_export.py:54 in forward - ggml_tensor * t622 = ggml_mul(ctx, t621, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t623 = ggml_compiler::ops::slice(ctx, t620, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t624 = ggml_cont(ctx, t623); // cont torch_export.py:54 in forward - ggml_tensor * t625 = ggml_neg(ctx, t624); // neg torch_export.py:54 in forward - ggml_tensor * t626 = ggml_compiler::ops::slice(ctx, t620, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t627 = ggml_cont(ctx, t626); // cont torch_export.py:54 in forward - ggml_tensor * t628 = ggml_concat(ctx, t625, t627, 0); // concat torch_export.py:54 in forward - ggml_tensor * t629 = ggml_mul(ctx, t628, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t630 = ggml_add(ctx, t622, t629); // add torch_export.py:54 in forward - ggml_tensor * t631 = ggml_mul(ctx, t606, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t632 = ggml_compiler::ops::slice(ctx, t602, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t633 = ggml_cont(ctx, t632); // cont torch_export.py:54 in forward - ggml_tensor * t634 = ggml_neg(ctx, t633); // neg torch_export.py:54 in forward - ggml_tensor * t635 = ggml_compiler::ops::slice(ctx, t602, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t636 = ggml_cont(ctx, t635); // cont torch_export.py:54 in forward - ggml_tensor * t637 = ggml_concat(ctx, t634, t636, 0); // concat torch_export.py:54 in forward - ggml_tensor * t638 = ggml_mul(ctx, t637, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t639 = ggml_add(ctx, t631, t638); // add torch_export.py:54 in forward - ggml_tensor * t640 = ggml_compiler::ops::mul_mat(ctx, t639, t630, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t641 = ggml_soft_max_ext(ctx, t640, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t642 = ggml_permute(ctx, t604, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t643 = ggml_cont(ctx, t642); // cont torch_export.py:54 in forward - ggml_tensor * t644 = ggml_compiler::ops::mul_mat(ctx, t643, t641, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t645 = ggml_permute(ctx, t644, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t646 = ggml_cont(ctx, t645); // cont torch_export.py:54 in forward - ggml_tensor * t647 = ggml_compiler::ops::reshape(ctx, t646, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t648 = ggml_compiler::ops::reshape(ctx, t647, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t649 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_weight, t648); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t650 = ggml_compiler::ops::reshape(ctx, t649, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t651 = ggml_add(ctx, t596, t650); // add torch_export.py:54 in forward - ggml_tensor * t652 = ggml_rms_norm(ctx, t651, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t653 = ggml_mul(ctx, t652, net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.9.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t654 = ggml_compiler::ops::reshape(ctx, t653, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.up_proj linear.py:134 in forward - ggml_tensor * t655 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_up_proj_weight, t654); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp.up_proj linear.py:134 in forward - ggml_tensor * t656 = ggml_compiler::ops::reshape(ctx, t655, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.up_proj linear.py:134 in forward - ggml_tensor * t657 = ggml_relu(ctx, t656); // relu net.mot_backbone.model.language_model.layers.9.mlp.act_fn activations.py:212 in forward - ggml_tensor * t658 = ggml_sqr(ctx, t657); // sqr net.mot_backbone.model.language_model.layers.9.mlp.act_fn activations.py:213 in forward - ggml_tensor * t659 = ggml_compiler::ops::reshape(ctx, t658, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.down_proj linear.py:134 in forward - ggml_tensor * t660 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_down_proj_weight, t659); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp.down_proj linear.py:134 in forward - ggml_tensor * t661 = ggml_compiler::ops::reshape(ctx, t660, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp.down_proj linear.py:134 in forward - ggml_tensor * t662 = ggml_add(ctx, t651, t661); // add torch_export.py:54 in forward - ggml_tensor * t663 = ggml_rms_norm(ctx, t662, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t664 = ggml_mul(ctx, t663, net_mot_backbone_model_language_model_layers_10_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.10.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t665 = ggml_compiler::ops::reshape(ctx, t664, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t666 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_weight, t665); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t667 = ggml_compiler::ops::reshape(ctx, t666, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t668 = ggml_permute(ctx, t667, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t669 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_weight, t665); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t670 = ggml_compiler::ops::reshape(ctx, t669, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t671 = ggml_permute(ctx, t670, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t672 = ggml_cont(ctx, t668); // cont net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t673 = ggml_rms_norm(ctx, t672, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t674 = ggml_mul(ctx, t673, net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t675 = ggml_mul(ctx, t674, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t676 = ggml_compiler::ops::slice(ctx, t674, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t677 = ggml_cont(ctx, t676); // cont torch_export.py:54 in forward - ggml_tensor * t678 = ggml_neg(ctx, t677); // neg torch_export.py:54 in forward - ggml_tensor * t679 = ggml_compiler::ops::slice(ctx, t674, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t680 = ggml_cont(ctx, t679); // cont torch_export.py:54 in forward - ggml_tensor * t681 = ggml_concat(ctx, t678, t680, 0); // concat torch_export.py:54 in forward - ggml_tensor * t682 = ggml_mul(ctx, t681, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t683 = ggml_add(ctx, t675, t682); // add torch_export.py:54 in forward - ggml_tensor * t684 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_weight, t665); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t685 = ggml_compiler::ops::reshape(ctx, t684, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t686 = ggml_permute(ctx, t685, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t687 = ggml_cont(ctx, t686); // cont torch_export.py:54 in forward - ggml_tensor * t688 = ggml_mul(ctx, t687, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t689 = ggml_compiler::ops::slice(ctx, t686, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t690 = ggml_cont(ctx, t689); // cont torch_export.py:54 in forward - ggml_tensor * t691 = ggml_neg(ctx, t690); // neg torch_export.py:54 in forward - ggml_tensor * t692 = ggml_compiler::ops::slice(ctx, t686, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t693 = ggml_cont(ctx, t692); // cont torch_export.py:54 in forward - ggml_tensor * t694 = ggml_concat(ctx, t691, t693, 0); // concat torch_export.py:54 in forward - ggml_tensor * t695 = ggml_mul(ctx, t694, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t696 = ggml_add(ctx, t688, t695); // add torch_export.py:54 in forward - ggml_tensor * t697 = ggml_mul(ctx, t672, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t698 = ggml_compiler::ops::slice(ctx, t668, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t699 = ggml_cont(ctx, t698); // cont torch_export.py:54 in forward - ggml_tensor * t700 = ggml_neg(ctx, t699); // neg torch_export.py:54 in forward - ggml_tensor * t701 = ggml_compiler::ops::slice(ctx, t668, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t702 = ggml_cont(ctx, t701); // cont torch_export.py:54 in forward - ggml_tensor * t703 = ggml_concat(ctx, t700, t702, 0); // concat torch_export.py:54 in forward - ggml_tensor * t704 = ggml_mul(ctx, t703, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t705 = ggml_add(ctx, t697, t704); // add torch_export.py:54 in forward - ggml_tensor * t706 = ggml_compiler::ops::mul_mat(ctx, t705, t696, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t707 = ggml_soft_max_ext(ctx, t706, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t708 = ggml_permute(ctx, t670, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t709 = ggml_cont(ctx, t708); // cont torch_export.py:54 in forward - ggml_tensor * t710 = ggml_compiler::ops::mul_mat(ctx, t709, t707, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t711 = ggml_permute(ctx, t710, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t712 = ggml_cont(ctx, t711); // cont torch_export.py:54 in forward - ggml_tensor * t713 = ggml_compiler::ops::reshape(ctx, t712, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t714 = ggml_compiler::ops::reshape(ctx, t713, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t715 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_weight, t714); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t716 = ggml_compiler::ops::reshape(ctx, t715, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t717 = ggml_add(ctx, t662, t716); // add torch_export.py:54 in forward - ggml_tensor * t718 = ggml_rms_norm(ctx, t717, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t719 = ggml_mul(ctx, t718, net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.10.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t720 = ggml_compiler::ops::reshape(ctx, t719, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.up_proj linear.py:134 in forward - ggml_tensor * t721 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_up_proj_weight, t720); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp.up_proj linear.py:134 in forward - ggml_tensor * t722 = ggml_compiler::ops::reshape(ctx, t721, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.up_proj linear.py:134 in forward - ggml_tensor * t723 = ggml_relu(ctx, t722); // relu net.mot_backbone.model.language_model.layers.10.mlp.act_fn activations.py:212 in forward - ggml_tensor * t724 = ggml_sqr(ctx, t723); // sqr net.mot_backbone.model.language_model.layers.10.mlp.act_fn activations.py:213 in forward - ggml_tensor * t725 = ggml_compiler::ops::reshape(ctx, t724, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.down_proj linear.py:134 in forward - ggml_tensor * t726 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_down_proj_weight, t725); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp.down_proj linear.py:134 in forward - ggml_tensor * t727 = ggml_compiler::ops::reshape(ctx, t726, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp.down_proj linear.py:134 in forward - ggml_tensor * t728 = ggml_add(ctx, t717, t727); // add torch_export.py:54 in forward - ggml_tensor * t729 = ggml_rms_norm(ctx, t728, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t730 = ggml_mul(ctx, t729, net_mot_backbone_model_language_model_layers_11_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.11.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t731 = ggml_compiler::ops::reshape(ctx, t730, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t732 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_weight, t731); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t733 = ggml_compiler::ops::reshape(ctx, t732, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t734 = ggml_permute(ctx, t733, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t735 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_weight, t731); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t736 = ggml_compiler::ops::reshape(ctx, t735, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t737 = ggml_permute(ctx, t736, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t738 = ggml_cont(ctx, t734); // cont net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t739 = ggml_rms_norm(ctx, t738, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t740 = ggml_mul(ctx, t739, net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t741 = ggml_mul(ctx, t740, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t742 = ggml_compiler::ops::slice(ctx, t740, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t743 = ggml_cont(ctx, t742); // cont torch_export.py:54 in forward - ggml_tensor * t744 = ggml_neg(ctx, t743); // neg torch_export.py:54 in forward - ggml_tensor * t745 = ggml_compiler::ops::slice(ctx, t740, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t746 = ggml_cont(ctx, t745); // cont torch_export.py:54 in forward - ggml_tensor * t747 = ggml_concat(ctx, t744, t746, 0); // concat torch_export.py:54 in forward - ggml_tensor * t748 = ggml_mul(ctx, t747, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t749 = ggml_add(ctx, t741, t748); // add torch_export.py:54 in forward - ggml_tensor * t750 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_weight, t731); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t751 = ggml_compiler::ops::reshape(ctx, t750, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t752 = ggml_permute(ctx, t751, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t753 = ggml_cont(ctx, t752); // cont torch_export.py:54 in forward - ggml_tensor * t754 = ggml_mul(ctx, t753, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t755 = ggml_compiler::ops::slice(ctx, t752, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t756 = ggml_cont(ctx, t755); // cont torch_export.py:54 in forward - ggml_tensor * t757 = ggml_neg(ctx, t756); // neg torch_export.py:54 in forward - ggml_tensor * t758 = ggml_compiler::ops::slice(ctx, t752, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t759 = ggml_cont(ctx, t758); // cont torch_export.py:54 in forward - ggml_tensor * t760 = ggml_concat(ctx, t757, t759, 0); // concat torch_export.py:54 in forward - ggml_tensor * t761 = ggml_mul(ctx, t760, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t762 = ggml_add(ctx, t754, t761); // add torch_export.py:54 in forward - ggml_tensor * t763 = ggml_mul(ctx, t738, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t764 = ggml_compiler::ops::slice(ctx, t734, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t765 = ggml_cont(ctx, t764); // cont torch_export.py:54 in forward - ggml_tensor * t766 = ggml_neg(ctx, t765); // neg torch_export.py:54 in forward - ggml_tensor * t767 = ggml_compiler::ops::slice(ctx, t734, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t768 = ggml_cont(ctx, t767); // cont torch_export.py:54 in forward - ggml_tensor * t769 = ggml_concat(ctx, t766, t768, 0); // concat torch_export.py:54 in forward - ggml_tensor * t770 = ggml_mul(ctx, t769, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t771 = ggml_add(ctx, t763, t770); // add torch_export.py:54 in forward - ggml_tensor * t772 = ggml_compiler::ops::mul_mat(ctx, t771, t762, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t773 = ggml_soft_max_ext(ctx, t772, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t774 = ggml_permute(ctx, t736, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t775 = ggml_cont(ctx, t774); // cont torch_export.py:54 in forward - ggml_tensor * t776 = ggml_compiler::ops::mul_mat(ctx, t775, t773, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t777 = ggml_permute(ctx, t776, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t778 = ggml_cont(ctx, t777); // cont torch_export.py:54 in forward - ggml_tensor * t779 = ggml_compiler::ops::reshape(ctx, t778, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t780 = ggml_compiler::ops::reshape(ctx, t779, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t781 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_weight, t780); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t782 = ggml_compiler::ops::reshape(ctx, t781, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t783 = ggml_add(ctx, t728, t782); // add torch_export.py:54 in forward - ggml_tensor * t784 = ggml_rms_norm(ctx, t783, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t785 = ggml_mul(ctx, t784, net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.11.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t786 = ggml_compiler::ops::reshape(ctx, t785, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.up_proj linear.py:134 in forward - ggml_tensor * t787 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_up_proj_weight, t786); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp.up_proj linear.py:134 in forward - ggml_tensor * t788 = ggml_compiler::ops::reshape(ctx, t787, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.up_proj linear.py:134 in forward - ggml_tensor * t789 = ggml_relu(ctx, t788); // relu net.mot_backbone.model.language_model.layers.11.mlp.act_fn activations.py:212 in forward - ggml_tensor * t790 = ggml_sqr(ctx, t789); // sqr net.mot_backbone.model.language_model.layers.11.mlp.act_fn activations.py:213 in forward - ggml_tensor * t791 = ggml_compiler::ops::reshape(ctx, t790, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.down_proj linear.py:134 in forward - ggml_tensor * t792 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_down_proj_weight, t791); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp.down_proj linear.py:134 in forward - ggml_tensor * t793 = ggml_compiler::ops::reshape(ctx, t792, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp.down_proj linear.py:134 in forward - ggml_tensor * t794 = ggml_add(ctx, t783, t793); // add torch_export.py:54 in forward - ggml_tensor * t795 = ggml_rms_norm(ctx, t794, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t796 = ggml_mul(ctx, t795, net_mot_backbone_model_language_model_layers_12_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.12.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t797 = ggml_compiler::ops::reshape(ctx, t796, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t798 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_weight, t797); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t799 = ggml_compiler::ops::reshape(ctx, t798, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t800 = ggml_permute(ctx, t799, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t801 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_weight, t797); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t802 = ggml_compiler::ops::reshape(ctx, t801, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t803 = ggml_permute(ctx, t802, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t804 = ggml_cont(ctx, t800); // cont net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t805 = ggml_rms_norm(ctx, t804, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t806 = ggml_mul(ctx, t805, net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t807 = ggml_mul(ctx, t806, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t808 = ggml_compiler::ops::slice(ctx, t806, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t809 = ggml_cont(ctx, t808); // cont torch_export.py:54 in forward - ggml_tensor * t810 = ggml_neg(ctx, t809); // neg torch_export.py:54 in forward - ggml_tensor * t811 = ggml_compiler::ops::slice(ctx, t806, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t812 = ggml_cont(ctx, t811); // cont torch_export.py:54 in forward - ggml_tensor * t813 = ggml_concat(ctx, t810, t812, 0); // concat torch_export.py:54 in forward - ggml_tensor * t814 = ggml_mul(ctx, t813, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t815 = ggml_add(ctx, t807, t814); // add torch_export.py:54 in forward - ggml_tensor * t816 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_weight, t797); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t817 = ggml_compiler::ops::reshape(ctx, t816, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t818 = ggml_permute(ctx, t817, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t819 = ggml_cont(ctx, t818); // cont torch_export.py:54 in forward - ggml_tensor * t820 = ggml_mul(ctx, t819, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t821 = ggml_compiler::ops::slice(ctx, t818, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t822 = ggml_cont(ctx, t821); // cont torch_export.py:54 in forward - ggml_tensor * t823 = ggml_neg(ctx, t822); // neg torch_export.py:54 in forward - ggml_tensor * t824 = ggml_compiler::ops::slice(ctx, t818, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t825 = ggml_cont(ctx, t824); // cont torch_export.py:54 in forward - ggml_tensor * t826 = ggml_concat(ctx, t823, t825, 0); // concat torch_export.py:54 in forward - ggml_tensor * t827 = ggml_mul(ctx, t826, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t828 = ggml_add(ctx, t820, t827); // add torch_export.py:54 in forward - ggml_tensor * t829 = ggml_mul(ctx, t804, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t830 = ggml_compiler::ops::slice(ctx, t800, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t831 = ggml_cont(ctx, t830); // cont torch_export.py:54 in forward - ggml_tensor * t832 = ggml_neg(ctx, t831); // neg torch_export.py:54 in forward - ggml_tensor * t833 = ggml_compiler::ops::slice(ctx, t800, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t834 = ggml_cont(ctx, t833); // cont torch_export.py:54 in forward - ggml_tensor * t835 = ggml_concat(ctx, t832, t834, 0); // concat torch_export.py:54 in forward - ggml_tensor * t836 = ggml_mul(ctx, t835, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t837 = ggml_add(ctx, t829, t836); // add torch_export.py:54 in forward - ggml_tensor * t838 = ggml_compiler::ops::mul_mat(ctx, t837, t828, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t839 = ggml_soft_max_ext(ctx, t838, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t840 = ggml_permute(ctx, t802, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t841 = ggml_cont(ctx, t840); // cont torch_export.py:54 in forward - ggml_tensor * t842 = ggml_compiler::ops::mul_mat(ctx, t841, t839, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t843 = ggml_permute(ctx, t842, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t844 = ggml_cont(ctx, t843); // cont torch_export.py:54 in forward - ggml_tensor * t845 = ggml_compiler::ops::reshape(ctx, t844, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t846 = ggml_compiler::ops::reshape(ctx, t845, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t847 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_weight, t846); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t848 = ggml_compiler::ops::reshape(ctx, t847, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t849 = ggml_add(ctx, t794, t848); // add torch_export.py:54 in forward - ggml_tensor * t850 = ggml_rms_norm(ctx, t849, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t851 = ggml_mul(ctx, t850, net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.12.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t852 = ggml_compiler::ops::reshape(ctx, t851, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.up_proj linear.py:134 in forward - ggml_tensor * t853 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_up_proj_weight, t852); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp.up_proj linear.py:134 in forward - ggml_tensor * t854 = ggml_compiler::ops::reshape(ctx, t853, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.up_proj linear.py:134 in forward - ggml_tensor * t855 = ggml_relu(ctx, t854); // relu net.mot_backbone.model.language_model.layers.12.mlp.act_fn activations.py:212 in forward - ggml_tensor * t856 = ggml_sqr(ctx, t855); // sqr net.mot_backbone.model.language_model.layers.12.mlp.act_fn activations.py:213 in forward - ggml_tensor * t857 = ggml_compiler::ops::reshape(ctx, t856, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.down_proj linear.py:134 in forward - ggml_tensor * t858 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_down_proj_weight, t857); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp.down_proj linear.py:134 in forward - ggml_tensor * t859 = ggml_compiler::ops::reshape(ctx, t858, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp.down_proj linear.py:134 in forward - ggml_tensor * t860 = ggml_add(ctx, t849, t859); // add torch_export.py:54 in forward - ggml_tensor * t861 = ggml_rms_norm(ctx, t860, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t862 = ggml_mul(ctx, t861, net_mot_backbone_model_language_model_layers_13_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.13.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t863 = ggml_compiler::ops::reshape(ctx, t862, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t864 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_weight, t863); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t865 = ggml_compiler::ops::reshape(ctx, t864, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t866 = ggml_permute(ctx, t865, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t867 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_weight, t863); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t868 = ggml_compiler::ops::reshape(ctx, t867, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t869 = ggml_permute(ctx, t868, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t870 = ggml_cont(ctx, t866); // cont net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t871 = ggml_rms_norm(ctx, t870, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t872 = ggml_mul(ctx, t871, net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t873 = ggml_mul(ctx, t872, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t874 = ggml_compiler::ops::slice(ctx, t872, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t875 = ggml_cont(ctx, t874); // cont torch_export.py:54 in forward - ggml_tensor * t876 = ggml_neg(ctx, t875); // neg torch_export.py:54 in forward - ggml_tensor * t877 = ggml_compiler::ops::slice(ctx, t872, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t878 = ggml_cont(ctx, t877); // cont torch_export.py:54 in forward - ggml_tensor * t879 = ggml_concat(ctx, t876, t878, 0); // concat torch_export.py:54 in forward - ggml_tensor * t880 = ggml_mul(ctx, t879, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t881 = ggml_add(ctx, t873, t880); // add torch_export.py:54 in forward - ggml_tensor * t882 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_weight, t863); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t883 = ggml_compiler::ops::reshape(ctx, t882, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t884 = ggml_permute(ctx, t883, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t885 = ggml_cont(ctx, t884); // cont torch_export.py:54 in forward - ggml_tensor * t886 = ggml_mul(ctx, t885, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t887 = ggml_compiler::ops::slice(ctx, t884, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t888 = ggml_cont(ctx, t887); // cont torch_export.py:54 in forward - ggml_tensor * t889 = ggml_neg(ctx, t888); // neg torch_export.py:54 in forward - ggml_tensor * t890 = ggml_compiler::ops::slice(ctx, t884, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t891 = ggml_cont(ctx, t890); // cont torch_export.py:54 in forward - ggml_tensor * t892 = ggml_concat(ctx, t889, t891, 0); // concat torch_export.py:54 in forward - ggml_tensor * t893 = ggml_mul(ctx, t892, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t894 = ggml_add(ctx, t886, t893); // add torch_export.py:54 in forward - ggml_tensor * t895 = ggml_mul(ctx, t870, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t896 = ggml_compiler::ops::slice(ctx, t866, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t897 = ggml_cont(ctx, t896); // cont torch_export.py:54 in forward - ggml_tensor * t898 = ggml_neg(ctx, t897); // neg torch_export.py:54 in forward - ggml_tensor * t899 = ggml_compiler::ops::slice(ctx, t866, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t900 = ggml_cont(ctx, t899); // cont torch_export.py:54 in forward - ggml_tensor * t901 = ggml_concat(ctx, t898, t900, 0); // concat torch_export.py:54 in forward - ggml_tensor * t902 = ggml_mul(ctx, t901, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t903 = ggml_add(ctx, t895, t902); // add torch_export.py:54 in forward - ggml_tensor * t904 = ggml_compiler::ops::mul_mat(ctx, t903, t894, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t905 = ggml_soft_max_ext(ctx, t904, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t906 = ggml_permute(ctx, t868, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t907 = ggml_cont(ctx, t906); // cont torch_export.py:54 in forward - ggml_tensor * t908 = ggml_compiler::ops::mul_mat(ctx, t907, t905, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t909 = ggml_permute(ctx, t908, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t910 = ggml_cont(ctx, t909); // cont torch_export.py:54 in forward - ggml_tensor * t911 = ggml_compiler::ops::reshape(ctx, t910, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t912 = ggml_compiler::ops::reshape(ctx, t911, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t913 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_weight, t912); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t914 = ggml_compiler::ops::reshape(ctx, t913, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t915 = ggml_add(ctx, t860, t914); // add torch_export.py:54 in forward - ggml_tensor * t916 = ggml_rms_norm(ctx, t915, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t917 = ggml_mul(ctx, t916, net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.13.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t918 = ggml_compiler::ops::reshape(ctx, t917, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.up_proj linear.py:134 in forward - ggml_tensor * t919 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_up_proj_weight, t918); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp.up_proj linear.py:134 in forward - ggml_tensor * t920 = ggml_compiler::ops::reshape(ctx, t919, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.up_proj linear.py:134 in forward - ggml_tensor * t921 = ggml_relu(ctx, t920); // relu net.mot_backbone.model.language_model.layers.13.mlp.act_fn activations.py:212 in forward - ggml_tensor * t922 = ggml_sqr(ctx, t921); // sqr net.mot_backbone.model.language_model.layers.13.mlp.act_fn activations.py:213 in forward - ggml_tensor * t923 = ggml_compiler::ops::reshape(ctx, t922, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.down_proj linear.py:134 in forward - ggml_tensor * t924 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_down_proj_weight, t923); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp.down_proj linear.py:134 in forward - ggml_tensor * t925 = ggml_compiler::ops::reshape(ctx, t924, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp.down_proj linear.py:134 in forward - ggml_tensor * t926 = ggml_add(ctx, t915, t925); // add torch_export.py:54 in forward - ggml_tensor * t927 = ggml_rms_norm(ctx, t926, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t928 = ggml_mul(ctx, t927, net_mot_backbone_model_language_model_layers_14_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.14.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t929 = ggml_compiler::ops::reshape(ctx, t928, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t930 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_weight, t929); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t931 = ggml_compiler::ops::reshape(ctx, t930, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t932 = ggml_permute(ctx, t931, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t933 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_weight, t929); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t934 = ggml_compiler::ops::reshape(ctx, t933, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t935 = ggml_permute(ctx, t934, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t936 = ggml_cont(ctx, t932); // cont net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t937 = ggml_rms_norm(ctx, t936, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t938 = ggml_mul(ctx, t937, net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t939 = ggml_mul(ctx, t938, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t940 = ggml_compiler::ops::slice(ctx, t938, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t941 = ggml_cont(ctx, t940); // cont torch_export.py:54 in forward - ggml_tensor * t942 = ggml_neg(ctx, t941); // neg torch_export.py:54 in forward - ggml_tensor * t943 = ggml_compiler::ops::slice(ctx, t938, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t944 = ggml_cont(ctx, t943); // cont torch_export.py:54 in forward - ggml_tensor * t945 = ggml_concat(ctx, t942, t944, 0); // concat torch_export.py:54 in forward - ggml_tensor * t946 = ggml_mul(ctx, t945, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t947 = ggml_add(ctx, t939, t946); // add torch_export.py:54 in forward - ggml_tensor * t948 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_weight, t929); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t949 = ggml_compiler::ops::reshape(ctx, t948, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t950 = ggml_permute(ctx, t949, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t951 = ggml_cont(ctx, t950); // cont torch_export.py:54 in forward - ggml_tensor * t952 = ggml_mul(ctx, t951, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t953 = ggml_compiler::ops::slice(ctx, t950, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t954 = ggml_cont(ctx, t953); // cont torch_export.py:54 in forward - ggml_tensor * t955 = ggml_neg(ctx, t954); // neg torch_export.py:54 in forward - ggml_tensor * t956 = ggml_compiler::ops::slice(ctx, t950, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t957 = ggml_cont(ctx, t956); // cont torch_export.py:54 in forward - ggml_tensor * t958 = ggml_concat(ctx, t955, t957, 0); // concat torch_export.py:54 in forward - ggml_tensor * t959 = ggml_mul(ctx, t958, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t960 = ggml_add(ctx, t952, t959); // add torch_export.py:54 in forward - ggml_tensor * t961 = ggml_mul(ctx, t936, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t962 = ggml_compiler::ops::slice(ctx, t932, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t963 = ggml_cont(ctx, t962); // cont torch_export.py:54 in forward - ggml_tensor * t964 = ggml_neg(ctx, t963); // neg torch_export.py:54 in forward - ggml_tensor * t965 = ggml_compiler::ops::slice(ctx, t932, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t966 = ggml_cont(ctx, t965); // cont torch_export.py:54 in forward - ggml_tensor * t967 = ggml_concat(ctx, t964, t966, 0); // concat torch_export.py:54 in forward - ggml_tensor * t968 = ggml_mul(ctx, t967, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t969 = ggml_add(ctx, t961, t968); // add torch_export.py:54 in forward - ggml_tensor * t970 = ggml_compiler::ops::mul_mat(ctx, t969, t960, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t971 = ggml_soft_max_ext(ctx, t970, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t972 = ggml_permute(ctx, t934, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t973 = ggml_cont(ctx, t972); // cont torch_export.py:54 in forward - ggml_tensor * t974 = ggml_compiler::ops::mul_mat(ctx, t973, t971, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t975 = ggml_permute(ctx, t974, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t976 = ggml_cont(ctx, t975); // cont torch_export.py:54 in forward - ggml_tensor * t977 = ggml_compiler::ops::reshape(ctx, t976, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t978 = ggml_compiler::ops::reshape(ctx, t977, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t979 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_weight, t978); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t980 = ggml_compiler::ops::reshape(ctx, t979, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t981 = ggml_add(ctx, t926, t980); // add torch_export.py:54 in forward - ggml_tensor * t982 = ggml_rms_norm(ctx, t981, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t983 = ggml_mul(ctx, t982, net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.14.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t984 = ggml_compiler::ops::reshape(ctx, t983, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.up_proj linear.py:134 in forward - ggml_tensor * t985 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_up_proj_weight, t984); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp.up_proj linear.py:134 in forward - ggml_tensor * t986 = ggml_compiler::ops::reshape(ctx, t985, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.up_proj linear.py:134 in forward - ggml_tensor * t987 = ggml_relu(ctx, t986); // relu net.mot_backbone.model.language_model.layers.14.mlp.act_fn activations.py:212 in forward - ggml_tensor * t988 = ggml_sqr(ctx, t987); // sqr net.mot_backbone.model.language_model.layers.14.mlp.act_fn activations.py:213 in forward - ggml_tensor * t989 = ggml_compiler::ops::reshape(ctx, t988, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.down_proj linear.py:134 in forward - ggml_tensor * t990 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_down_proj_weight, t989); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp.down_proj linear.py:134 in forward - ggml_tensor * t991 = ggml_compiler::ops::reshape(ctx, t990, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp.down_proj linear.py:134 in forward - ggml_tensor * t992 = ggml_add(ctx, t981, t991); // add torch_export.py:54 in forward - ggml_tensor * t993 = ggml_rms_norm(ctx, t992, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t994 = ggml_mul(ctx, t993, net_mot_backbone_model_language_model_layers_15_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.15.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t995 = ggml_compiler::ops::reshape(ctx, t994, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t996 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_weight, t995); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t997 = ggml_compiler::ops::reshape(ctx, t996, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t998 = ggml_permute(ctx, t997, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t999 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_weight, t995); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1000 = ggml_compiler::ops::reshape(ctx, t999, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1001 = ggml_permute(ctx, t1000, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1002 = ggml_cont(ctx, t998); // cont net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1003 = ggml_rms_norm(ctx, t1002, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1004 = ggml_mul(ctx, t1003, net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1005 = ggml_mul(ctx, t1004, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1006 = ggml_compiler::ops::slice(ctx, t1004, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1007 = ggml_cont(ctx, t1006); // cont torch_export.py:54 in forward - ggml_tensor * t1008 = ggml_neg(ctx, t1007); // neg torch_export.py:54 in forward - ggml_tensor * t1009 = ggml_compiler::ops::slice(ctx, t1004, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1010 = ggml_cont(ctx, t1009); // cont torch_export.py:54 in forward - ggml_tensor * t1011 = ggml_concat(ctx, t1008, t1010, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1012 = ggml_mul(ctx, t1011, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1013 = ggml_add(ctx, t1005, t1012); // add torch_export.py:54 in forward - ggml_tensor * t1014 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_weight, t995); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1015 = ggml_compiler::ops::reshape(ctx, t1014, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1016 = ggml_permute(ctx, t1015, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1017 = ggml_cont(ctx, t1016); // cont torch_export.py:54 in forward - ggml_tensor * t1018 = ggml_mul(ctx, t1017, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1019 = ggml_compiler::ops::slice(ctx, t1016, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1020 = ggml_cont(ctx, t1019); // cont torch_export.py:54 in forward - ggml_tensor * t1021 = ggml_neg(ctx, t1020); // neg torch_export.py:54 in forward - ggml_tensor * t1022 = ggml_compiler::ops::slice(ctx, t1016, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1023 = ggml_cont(ctx, t1022); // cont torch_export.py:54 in forward - ggml_tensor * t1024 = ggml_concat(ctx, t1021, t1023, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1025 = ggml_mul(ctx, t1024, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1026 = ggml_add(ctx, t1018, t1025); // add torch_export.py:54 in forward - ggml_tensor * t1027 = ggml_mul(ctx, t1002, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1028 = ggml_compiler::ops::slice(ctx, t998, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1029 = ggml_cont(ctx, t1028); // cont torch_export.py:54 in forward - ggml_tensor * t1030 = ggml_neg(ctx, t1029); // neg torch_export.py:54 in forward - ggml_tensor * t1031 = ggml_compiler::ops::slice(ctx, t998, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1032 = ggml_cont(ctx, t1031); // cont torch_export.py:54 in forward - ggml_tensor * t1033 = ggml_concat(ctx, t1030, t1032, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1034 = ggml_mul(ctx, t1033, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1035 = ggml_add(ctx, t1027, t1034); // add torch_export.py:54 in forward - ggml_tensor * t1036 = ggml_compiler::ops::mul_mat(ctx, t1035, t1026, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1037 = ggml_soft_max_ext(ctx, t1036, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1038 = ggml_permute(ctx, t1000, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1039 = ggml_cont(ctx, t1038); // cont torch_export.py:54 in forward - ggml_tensor * t1040 = ggml_compiler::ops::mul_mat(ctx, t1039, t1037, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1041 = ggml_permute(ctx, t1040, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1042 = ggml_cont(ctx, t1041); // cont torch_export.py:54 in forward - ggml_tensor * t1043 = ggml_compiler::ops::reshape(ctx, t1042, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1044 = ggml_compiler::ops::reshape(ctx, t1043, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1045 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_weight, t1044); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1046 = ggml_compiler::ops::reshape(ctx, t1045, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1047 = ggml_add(ctx, t992, t1046); // add torch_export.py:54 in forward - ggml_tensor * t1048 = ggml_rms_norm(ctx, t1047, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1049 = ggml_mul(ctx, t1048, net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.15.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1050 = ggml_compiler::ops::reshape(ctx, t1049, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1051 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_up_proj_weight, t1050); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1052 = ggml_compiler::ops::reshape(ctx, t1051, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1053 = ggml_relu(ctx, t1052); // relu net.mot_backbone.model.language_model.layers.15.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1054 = ggml_sqr(ctx, t1053); // sqr net.mot_backbone.model.language_model.layers.15.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1055 = ggml_compiler::ops::reshape(ctx, t1054, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1056 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_down_proj_weight, t1055); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1057 = ggml_compiler::ops::reshape(ctx, t1056, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1058 = ggml_add(ctx, t1047, t1057); // add torch_export.py:54 in forward - ggml_tensor * t1059 = ggml_rms_norm(ctx, t1058, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1060 = ggml_mul(ctx, t1059, net_mot_backbone_model_language_model_layers_16_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.16.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1061 = ggml_compiler::ops::reshape(ctx, t1060, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1062 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_weight, t1061); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1063 = ggml_compiler::ops::reshape(ctx, t1062, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1064 = ggml_permute(ctx, t1063, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1065 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_weight, t1061); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1066 = ggml_compiler::ops::reshape(ctx, t1065, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1067 = ggml_permute(ctx, t1066, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1068 = ggml_cont(ctx, t1064); // cont net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1069 = ggml_rms_norm(ctx, t1068, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1070 = ggml_mul(ctx, t1069, net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1071 = ggml_mul(ctx, t1070, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1072 = ggml_compiler::ops::slice(ctx, t1070, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1073 = ggml_cont(ctx, t1072); // cont torch_export.py:54 in forward - ggml_tensor * t1074 = ggml_neg(ctx, t1073); // neg torch_export.py:54 in forward - ggml_tensor * t1075 = ggml_compiler::ops::slice(ctx, t1070, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1076 = ggml_cont(ctx, t1075); // cont torch_export.py:54 in forward - ggml_tensor * t1077 = ggml_concat(ctx, t1074, t1076, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1078 = ggml_mul(ctx, t1077, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1079 = ggml_add(ctx, t1071, t1078); // add torch_export.py:54 in forward - ggml_tensor * t1080 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_weight, t1061); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1081 = ggml_compiler::ops::reshape(ctx, t1080, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1082 = ggml_permute(ctx, t1081, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1083 = ggml_cont(ctx, t1082); // cont torch_export.py:54 in forward - ggml_tensor * t1084 = ggml_mul(ctx, t1083, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1085 = ggml_compiler::ops::slice(ctx, t1082, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1086 = ggml_cont(ctx, t1085); // cont torch_export.py:54 in forward - ggml_tensor * t1087 = ggml_neg(ctx, t1086); // neg torch_export.py:54 in forward - ggml_tensor * t1088 = ggml_compiler::ops::slice(ctx, t1082, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1089 = ggml_cont(ctx, t1088); // cont torch_export.py:54 in forward - ggml_tensor * t1090 = ggml_concat(ctx, t1087, t1089, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1091 = ggml_mul(ctx, t1090, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1092 = ggml_add(ctx, t1084, t1091); // add torch_export.py:54 in forward - ggml_tensor * t1093 = ggml_mul(ctx, t1068, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1094 = ggml_compiler::ops::slice(ctx, t1064, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1095 = ggml_cont(ctx, t1094); // cont torch_export.py:54 in forward - ggml_tensor * t1096 = ggml_neg(ctx, t1095); // neg torch_export.py:54 in forward - ggml_tensor * t1097 = ggml_compiler::ops::slice(ctx, t1064, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1098 = ggml_cont(ctx, t1097); // cont torch_export.py:54 in forward - ggml_tensor * t1099 = ggml_concat(ctx, t1096, t1098, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1100 = ggml_mul(ctx, t1099, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1101 = ggml_add(ctx, t1093, t1100); // add torch_export.py:54 in forward - ggml_tensor * t1102 = ggml_compiler::ops::mul_mat(ctx, t1101, t1092, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1103 = ggml_soft_max_ext(ctx, t1102, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1104 = ggml_permute(ctx, t1066, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1105 = ggml_cont(ctx, t1104); // cont torch_export.py:54 in forward - ggml_tensor * t1106 = ggml_compiler::ops::mul_mat(ctx, t1105, t1103, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1107 = ggml_permute(ctx, t1106, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1108 = ggml_cont(ctx, t1107); // cont torch_export.py:54 in forward - ggml_tensor * t1109 = ggml_compiler::ops::reshape(ctx, t1108, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1110 = ggml_compiler::ops::reshape(ctx, t1109, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1111 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_weight, t1110); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1112 = ggml_compiler::ops::reshape(ctx, t1111, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1113 = ggml_add(ctx, t1058, t1112); // add torch_export.py:54 in forward - ggml_tensor * t1114 = ggml_rms_norm(ctx, t1113, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1115 = ggml_mul(ctx, t1114, net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.16.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1116 = ggml_compiler::ops::reshape(ctx, t1115, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1117 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_up_proj_weight, t1116); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1118 = ggml_compiler::ops::reshape(ctx, t1117, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1119 = ggml_relu(ctx, t1118); // relu net.mot_backbone.model.language_model.layers.16.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1120 = ggml_sqr(ctx, t1119); // sqr net.mot_backbone.model.language_model.layers.16.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1121 = ggml_compiler::ops::reshape(ctx, t1120, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1122 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_down_proj_weight, t1121); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1123 = ggml_compiler::ops::reshape(ctx, t1122, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1124 = ggml_add(ctx, t1113, t1123); // add torch_export.py:54 in forward - ggml_tensor * t1125 = ggml_rms_norm(ctx, t1124, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1126 = ggml_mul(ctx, t1125, net_mot_backbone_model_language_model_layers_17_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.17.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1127 = ggml_compiler::ops::reshape(ctx, t1126, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1128 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_weight, t1127); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1129 = ggml_compiler::ops::reshape(ctx, t1128, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1130 = ggml_permute(ctx, t1129, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1131 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_weight, t1127); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1132 = ggml_compiler::ops::reshape(ctx, t1131, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1133 = ggml_permute(ctx, t1132, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1134 = ggml_cont(ctx, t1130); // cont net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1135 = ggml_rms_norm(ctx, t1134, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1136 = ggml_mul(ctx, t1135, net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1137 = ggml_mul(ctx, t1136, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1138 = ggml_compiler::ops::slice(ctx, t1136, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1139 = ggml_cont(ctx, t1138); // cont torch_export.py:54 in forward - ggml_tensor * t1140 = ggml_neg(ctx, t1139); // neg torch_export.py:54 in forward - ggml_tensor * t1141 = ggml_compiler::ops::slice(ctx, t1136, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1142 = ggml_cont(ctx, t1141); // cont torch_export.py:54 in forward - ggml_tensor * t1143 = ggml_concat(ctx, t1140, t1142, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1144 = ggml_mul(ctx, t1143, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1145 = ggml_add(ctx, t1137, t1144); // add torch_export.py:54 in forward - ggml_tensor * t1146 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_weight, t1127); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1147 = ggml_compiler::ops::reshape(ctx, t1146, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1148 = ggml_permute(ctx, t1147, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1149 = ggml_cont(ctx, t1148); // cont torch_export.py:54 in forward - ggml_tensor * t1150 = ggml_mul(ctx, t1149, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1151 = ggml_compiler::ops::slice(ctx, t1148, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1152 = ggml_cont(ctx, t1151); // cont torch_export.py:54 in forward - ggml_tensor * t1153 = ggml_neg(ctx, t1152); // neg torch_export.py:54 in forward - ggml_tensor * t1154 = ggml_compiler::ops::slice(ctx, t1148, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1155 = ggml_cont(ctx, t1154); // cont torch_export.py:54 in forward - ggml_tensor * t1156 = ggml_concat(ctx, t1153, t1155, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1157 = ggml_mul(ctx, t1156, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1158 = ggml_add(ctx, t1150, t1157); // add torch_export.py:54 in forward - ggml_tensor * t1159 = ggml_mul(ctx, t1134, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1160 = ggml_compiler::ops::slice(ctx, t1130, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1161 = ggml_cont(ctx, t1160); // cont torch_export.py:54 in forward - ggml_tensor * t1162 = ggml_neg(ctx, t1161); // neg torch_export.py:54 in forward - ggml_tensor * t1163 = ggml_compiler::ops::slice(ctx, t1130, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1164 = ggml_cont(ctx, t1163); // cont torch_export.py:54 in forward - ggml_tensor * t1165 = ggml_concat(ctx, t1162, t1164, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1166 = ggml_mul(ctx, t1165, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1167 = ggml_add(ctx, t1159, t1166); // add torch_export.py:54 in forward - ggml_tensor * t1168 = ggml_compiler::ops::mul_mat(ctx, t1167, t1158, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1169 = ggml_soft_max_ext(ctx, t1168, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1170 = ggml_permute(ctx, t1132, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1171 = ggml_cont(ctx, t1170); // cont torch_export.py:54 in forward - ggml_tensor * t1172 = ggml_compiler::ops::mul_mat(ctx, t1171, t1169, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1173 = ggml_permute(ctx, t1172, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1174 = ggml_cont(ctx, t1173); // cont torch_export.py:54 in forward - ggml_tensor * t1175 = ggml_compiler::ops::reshape(ctx, t1174, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1176 = ggml_compiler::ops::reshape(ctx, t1175, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1177 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_weight, t1176); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1178 = ggml_compiler::ops::reshape(ctx, t1177, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1179 = ggml_add(ctx, t1124, t1178); // add torch_export.py:54 in forward - ggml_tensor * t1180 = ggml_rms_norm(ctx, t1179, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1181 = ggml_mul(ctx, t1180, net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.17.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1182 = ggml_compiler::ops::reshape(ctx, t1181, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1183 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_up_proj_weight, t1182); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1184 = ggml_compiler::ops::reshape(ctx, t1183, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1185 = ggml_relu(ctx, t1184); // relu net.mot_backbone.model.language_model.layers.17.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1186 = ggml_sqr(ctx, t1185); // sqr net.mot_backbone.model.language_model.layers.17.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1187 = ggml_compiler::ops::reshape(ctx, t1186, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1188 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_down_proj_weight, t1187); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1189 = ggml_compiler::ops::reshape(ctx, t1188, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1190 = ggml_add(ctx, t1179, t1189); // add torch_export.py:54 in forward - ggml_tensor * t1191 = ggml_rms_norm(ctx, t1190, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1192 = ggml_mul(ctx, t1191, net_mot_backbone_model_language_model_layers_18_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.18.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1193 = ggml_compiler::ops::reshape(ctx, t1192, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1194 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_weight, t1193); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1195 = ggml_compiler::ops::reshape(ctx, t1194, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1196 = ggml_permute(ctx, t1195, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1197 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_weight, t1193); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1198 = ggml_compiler::ops::reshape(ctx, t1197, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1199 = ggml_permute(ctx, t1198, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1200 = ggml_cont(ctx, t1196); // cont net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1201 = ggml_rms_norm(ctx, t1200, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1202 = ggml_mul(ctx, t1201, net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1203 = ggml_mul(ctx, t1202, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1204 = ggml_compiler::ops::slice(ctx, t1202, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1205 = ggml_cont(ctx, t1204); // cont torch_export.py:54 in forward - ggml_tensor * t1206 = ggml_neg(ctx, t1205); // neg torch_export.py:54 in forward - ggml_tensor * t1207 = ggml_compiler::ops::slice(ctx, t1202, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1208 = ggml_cont(ctx, t1207); // cont torch_export.py:54 in forward - ggml_tensor * t1209 = ggml_concat(ctx, t1206, t1208, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1210 = ggml_mul(ctx, t1209, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1211 = ggml_add(ctx, t1203, t1210); // add torch_export.py:54 in forward - ggml_tensor * t1212 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_weight, t1193); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1213 = ggml_compiler::ops::reshape(ctx, t1212, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1214 = ggml_permute(ctx, t1213, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1215 = ggml_cont(ctx, t1214); // cont torch_export.py:54 in forward - ggml_tensor * t1216 = ggml_mul(ctx, t1215, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1217 = ggml_compiler::ops::slice(ctx, t1214, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1218 = ggml_cont(ctx, t1217); // cont torch_export.py:54 in forward - ggml_tensor * t1219 = ggml_neg(ctx, t1218); // neg torch_export.py:54 in forward - ggml_tensor * t1220 = ggml_compiler::ops::slice(ctx, t1214, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1221 = ggml_cont(ctx, t1220); // cont torch_export.py:54 in forward - ggml_tensor * t1222 = ggml_concat(ctx, t1219, t1221, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1223 = ggml_mul(ctx, t1222, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1224 = ggml_add(ctx, t1216, t1223); // add torch_export.py:54 in forward - ggml_tensor * t1225 = ggml_mul(ctx, t1200, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1226 = ggml_compiler::ops::slice(ctx, t1196, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1227 = ggml_cont(ctx, t1226); // cont torch_export.py:54 in forward - ggml_tensor * t1228 = ggml_neg(ctx, t1227); // neg torch_export.py:54 in forward - ggml_tensor * t1229 = ggml_compiler::ops::slice(ctx, t1196, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1230 = ggml_cont(ctx, t1229); // cont torch_export.py:54 in forward - ggml_tensor * t1231 = ggml_concat(ctx, t1228, t1230, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1232 = ggml_mul(ctx, t1231, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1233 = ggml_add(ctx, t1225, t1232); // add torch_export.py:54 in forward - ggml_tensor * t1234 = ggml_compiler::ops::mul_mat(ctx, t1233, t1224, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1235 = ggml_soft_max_ext(ctx, t1234, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1236 = ggml_permute(ctx, t1198, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1237 = ggml_cont(ctx, t1236); // cont torch_export.py:54 in forward - ggml_tensor * t1238 = ggml_compiler::ops::mul_mat(ctx, t1237, t1235, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1239 = ggml_permute(ctx, t1238, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1240 = ggml_cont(ctx, t1239); // cont torch_export.py:54 in forward - ggml_tensor * t1241 = ggml_compiler::ops::reshape(ctx, t1240, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1242 = ggml_compiler::ops::reshape(ctx, t1241, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1243 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_weight, t1242); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1244 = ggml_compiler::ops::reshape(ctx, t1243, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1245 = ggml_add(ctx, t1190, t1244); // add torch_export.py:54 in forward - ggml_tensor * t1246 = ggml_rms_norm(ctx, t1245, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1247 = ggml_mul(ctx, t1246, net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.18.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1248 = ggml_compiler::ops::reshape(ctx, t1247, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1249 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_up_proj_weight, t1248); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1250 = ggml_compiler::ops::reshape(ctx, t1249, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1251 = ggml_relu(ctx, t1250); // relu net.mot_backbone.model.language_model.layers.18.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1252 = ggml_sqr(ctx, t1251); // sqr net.mot_backbone.model.language_model.layers.18.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1253 = ggml_compiler::ops::reshape(ctx, t1252, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1254 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_down_proj_weight, t1253); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1255 = ggml_compiler::ops::reshape(ctx, t1254, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1256 = ggml_add(ctx, t1245, t1255); // add torch_export.py:54 in forward - ggml_tensor * t1257 = ggml_rms_norm(ctx, t1256, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1258 = ggml_mul(ctx, t1257, net_mot_backbone_model_language_model_layers_19_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.19.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1259 = ggml_compiler::ops::reshape(ctx, t1258, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1260 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1261 = ggml_compiler::ops::reshape(ctx, t1260, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1262 = ggml_permute(ctx, t1261, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1263 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1264 = ggml_compiler::ops::reshape(ctx, t1263, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1265 = ggml_permute(ctx, t1264, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1266 = ggml_cont(ctx, t1262); // cont net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1267 = ggml_rms_norm(ctx, t1266, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1268 = ggml_mul(ctx, t1267, net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1269 = ggml_mul(ctx, t1268, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1270 = ggml_compiler::ops::slice(ctx, t1268, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1271 = ggml_cont(ctx, t1270); // cont torch_export.py:54 in forward - ggml_tensor * t1272 = ggml_neg(ctx, t1271); // neg torch_export.py:54 in forward - ggml_tensor * t1273 = ggml_compiler::ops::slice(ctx, t1268, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1274 = ggml_cont(ctx, t1273); // cont torch_export.py:54 in forward - ggml_tensor * t1275 = ggml_concat(ctx, t1272, t1274, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1276 = ggml_mul(ctx, t1275, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1277 = ggml_add(ctx, t1269, t1276); // add torch_export.py:54 in forward - ggml_tensor * t1278 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1279 = ggml_compiler::ops::reshape(ctx, t1278, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1280 = ggml_permute(ctx, t1279, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1281 = ggml_cont(ctx, t1280); // cont torch_export.py:54 in forward - ggml_tensor * t1282 = ggml_mul(ctx, t1281, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1283 = ggml_compiler::ops::slice(ctx, t1280, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1284 = ggml_cont(ctx, t1283); // cont torch_export.py:54 in forward - ggml_tensor * t1285 = ggml_neg(ctx, t1284); // neg torch_export.py:54 in forward - ggml_tensor * t1286 = ggml_compiler::ops::slice(ctx, t1280, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1287 = ggml_cont(ctx, t1286); // cont torch_export.py:54 in forward - ggml_tensor * t1288 = ggml_concat(ctx, t1285, t1287, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1289 = ggml_mul(ctx, t1288, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1290 = ggml_add(ctx, t1282, t1289); // add torch_export.py:54 in forward - ggml_tensor * t1291 = ggml_mul(ctx, t1266, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1292 = ggml_compiler::ops::slice(ctx, t1262, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1293 = ggml_cont(ctx, t1292); // cont torch_export.py:54 in forward - ggml_tensor * t1294 = ggml_neg(ctx, t1293); // neg torch_export.py:54 in forward - ggml_tensor * t1295 = ggml_compiler::ops::slice(ctx, t1262, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1296 = ggml_cont(ctx, t1295); // cont torch_export.py:54 in forward - ggml_tensor * t1297 = ggml_concat(ctx, t1294, t1296, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1298 = ggml_mul(ctx, t1297, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1299 = ggml_add(ctx, t1291, t1298); // add torch_export.py:54 in forward - ggml_tensor * t1300 = ggml_compiler::ops::mul_mat(ctx, t1299, t1290, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1301 = ggml_soft_max_ext(ctx, t1300, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1302 = ggml_permute(ctx, t1264, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1303 = ggml_cont(ctx, t1302); // cont torch_export.py:54 in forward - ggml_tensor * t1304 = ggml_compiler::ops::mul_mat(ctx, t1303, t1301, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1305 = ggml_permute(ctx, t1304, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1306 = ggml_cont(ctx, t1305); // cont torch_export.py:54 in forward - ggml_tensor * t1307 = ggml_compiler::ops::reshape(ctx, t1306, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1308 = ggml_compiler::ops::reshape(ctx, t1307, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1309 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_weight, t1308); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1310 = ggml_compiler::ops::reshape(ctx, t1309, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1311 = ggml_add(ctx, t1256, t1310); // add torch_export.py:54 in forward - ggml_tensor * t1312 = ggml_rms_norm(ctx, t1311, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1313 = ggml_mul(ctx, t1312, net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.19.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1314 = ggml_compiler::ops::reshape(ctx, t1313, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1315 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_up_proj_weight, t1314); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1316 = ggml_compiler::ops::reshape(ctx, t1315, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1317 = ggml_relu(ctx, t1316); // relu net.mot_backbone.model.language_model.layers.19.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1318 = ggml_sqr(ctx, t1317); // sqr net.mot_backbone.model.language_model.layers.19.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1319 = ggml_compiler::ops::reshape(ctx, t1318, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1320 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_down_proj_weight, t1319); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1321 = ggml_compiler::ops::reshape(ctx, t1320, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1322 = ggml_add(ctx, t1311, t1321); // add torch_export.py:54 in forward - ggml_tensor * t1323 = ggml_rms_norm(ctx, t1322, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1324 = ggml_mul(ctx, t1323, net_mot_backbone_model_language_model_layers_20_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.20.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1325 = ggml_compiler::ops::reshape(ctx, t1324, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1326 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_weight, t1325); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1327 = ggml_compiler::ops::reshape(ctx, t1326, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1328 = ggml_permute(ctx, t1327, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1329 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_weight, t1325); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1330 = ggml_compiler::ops::reshape(ctx, t1329, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1331 = ggml_permute(ctx, t1330, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1332 = ggml_cont(ctx, t1328); // cont net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1333 = ggml_rms_norm(ctx, t1332, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1334 = ggml_mul(ctx, t1333, net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1335 = ggml_mul(ctx, t1334, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1336 = ggml_compiler::ops::slice(ctx, t1334, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1337 = ggml_cont(ctx, t1336); // cont torch_export.py:54 in forward - ggml_tensor * t1338 = ggml_neg(ctx, t1337); // neg torch_export.py:54 in forward - ggml_tensor * t1339 = ggml_compiler::ops::slice(ctx, t1334, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1340 = ggml_cont(ctx, t1339); // cont torch_export.py:54 in forward - ggml_tensor * t1341 = ggml_concat(ctx, t1338, t1340, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1342 = ggml_mul(ctx, t1341, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1343 = ggml_add(ctx, t1335, t1342); // add torch_export.py:54 in forward - ggml_tensor * t1344 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_weight, t1325); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1345 = ggml_compiler::ops::reshape(ctx, t1344, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1346 = ggml_permute(ctx, t1345, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1347 = ggml_cont(ctx, t1346); // cont torch_export.py:54 in forward - ggml_tensor * t1348 = ggml_mul(ctx, t1347, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1349 = ggml_compiler::ops::slice(ctx, t1346, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1350 = ggml_cont(ctx, t1349); // cont torch_export.py:54 in forward - ggml_tensor * t1351 = ggml_neg(ctx, t1350); // neg torch_export.py:54 in forward - ggml_tensor * t1352 = ggml_compiler::ops::slice(ctx, t1346, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1353 = ggml_cont(ctx, t1352); // cont torch_export.py:54 in forward - ggml_tensor * t1354 = ggml_concat(ctx, t1351, t1353, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1355 = ggml_mul(ctx, t1354, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1356 = ggml_add(ctx, t1348, t1355); // add torch_export.py:54 in forward - ggml_tensor * t1357 = ggml_mul(ctx, t1332, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1358 = ggml_compiler::ops::slice(ctx, t1328, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1359 = ggml_cont(ctx, t1358); // cont torch_export.py:54 in forward - ggml_tensor * t1360 = ggml_neg(ctx, t1359); // neg torch_export.py:54 in forward - ggml_tensor * t1361 = ggml_compiler::ops::slice(ctx, t1328, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1362 = ggml_cont(ctx, t1361); // cont torch_export.py:54 in forward - ggml_tensor * t1363 = ggml_concat(ctx, t1360, t1362, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1364 = ggml_mul(ctx, t1363, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1365 = ggml_add(ctx, t1357, t1364); // add torch_export.py:54 in forward - ggml_tensor * t1366 = ggml_compiler::ops::mul_mat(ctx, t1365, t1356, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1367 = ggml_soft_max_ext(ctx, t1366, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1368 = ggml_permute(ctx, t1330, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1369 = ggml_cont(ctx, t1368); // cont torch_export.py:54 in forward - ggml_tensor * t1370 = ggml_compiler::ops::mul_mat(ctx, t1369, t1367, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1371 = ggml_permute(ctx, t1370, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1372 = ggml_cont(ctx, t1371); // cont torch_export.py:54 in forward - ggml_tensor * t1373 = ggml_compiler::ops::reshape(ctx, t1372, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1374 = ggml_compiler::ops::reshape(ctx, t1373, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1375 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_weight, t1374); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1376 = ggml_compiler::ops::reshape(ctx, t1375, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1377 = ggml_add(ctx, t1322, t1376); // add torch_export.py:54 in forward - ggml_tensor * t1378 = ggml_rms_norm(ctx, t1377, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1379 = ggml_mul(ctx, t1378, net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.20.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1380 = ggml_compiler::ops::reshape(ctx, t1379, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1381 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_up_proj_weight, t1380); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1382 = ggml_compiler::ops::reshape(ctx, t1381, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1383 = ggml_relu(ctx, t1382); // relu net.mot_backbone.model.language_model.layers.20.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1384 = ggml_sqr(ctx, t1383); // sqr net.mot_backbone.model.language_model.layers.20.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1385 = ggml_compiler::ops::reshape(ctx, t1384, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1386 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_down_proj_weight, t1385); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1387 = ggml_compiler::ops::reshape(ctx, t1386, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1388 = ggml_add(ctx, t1377, t1387); // add torch_export.py:54 in forward - ggml_tensor * t1389 = ggml_rms_norm(ctx, t1388, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1390 = ggml_mul(ctx, t1389, net_mot_backbone_model_language_model_layers_21_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.21.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1391 = ggml_compiler::ops::reshape(ctx, t1390, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1392 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_weight, t1391); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1393 = ggml_compiler::ops::reshape(ctx, t1392, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1394 = ggml_permute(ctx, t1393, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1395 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_weight, t1391); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1396 = ggml_compiler::ops::reshape(ctx, t1395, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1397 = ggml_permute(ctx, t1396, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1398 = ggml_cont(ctx, t1394); // cont net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1399 = ggml_rms_norm(ctx, t1398, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1400 = ggml_mul(ctx, t1399, net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1401 = ggml_mul(ctx, t1400, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1402 = ggml_compiler::ops::slice(ctx, t1400, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1403 = ggml_cont(ctx, t1402); // cont torch_export.py:54 in forward - ggml_tensor * t1404 = ggml_neg(ctx, t1403); // neg torch_export.py:54 in forward - ggml_tensor * t1405 = ggml_compiler::ops::slice(ctx, t1400, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1406 = ggml_cont(ctx, t1405); // cont torch_export.py:54 in forward - ggml_tensor * t1407 = ggml_concat(ctx, t1404, t1406, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1408 = ggml_mul(ctx, t1407, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1409 = ggml_add(ctx, t1401, t1408); // add torch_export.py:54 in forward - ggml_tensor * t1410 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_weight, t1391); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1411 = ggml_compiler::ops::reshape(ctx, t1410, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1412 = ggml_permute(ctx, t1411, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1413 = ggml_cont(ctx, t1412); // cont torch_export.py:54 in forward - ggml_tensor * t1414 = ggml_mul(ctx, t1413, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1415 = ggml_compiler::ops::slice(ctx, t1412, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1416 = ggml_cont(ctx, t1415); // cont torch_export.py:54 in forward - ggml_tensor * t1417 = ggml_neg(ctx, t1416); // neg torch_export.py:54 in forward - ggml_tensor * t1418 = ggml_compiler::ops::slice(ctx, t1412, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1419 = ggml_cont(ctx, t1418); // cont torch_export.py:54 in forward - ggml_tensor * t1420 = ggml_concat(ctx, t1417, t1419, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1421 = ggml_mul(ctx, t1420, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1422 = ggml_add(ctx, t1414, t1421); // add torch_export.py:54 in forward - ggml_tensor * t1423 = ggml_mul(ctx, t1398, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1424 = ggml_compiler::ops::slice(ctx, t1394, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1425 = ggml_cont(ctx, t1424); // cont torch_export.py:54 in forward - ggml_tensor * t1426 = ggml_neg(ctx, t1425); // neg torch_export.py:54 in forward - ggml_tensor * t1427 = ggml_compiler::ops::slice(ctx, t1394, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1428 = ggml_cont(ctx, t1427); // cont torch_export.py:54 in forward - ggml_tensor * t1429 = ggml_concat(ctx, t1426, t1428, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1430 = ggml_mul(ctx, t1429, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1431 = ggml_add(ctx, t1423, t1430); // add torch_export.py:54 in forward - ggml_tensor * t1432 = ggml_compiler::ops::mul_mat(ctx, t1431, t1422, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1433 = ggml_soft_max_ext(ctx, t1432, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1434 = ggml_permute(ctx, t1396, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1435 = ggml_cont(ctx, t1434); // cont torch_export.py:54 in forward - ggml_tensor * t1436 = ggml_compiler::ops::mul_mat(ctx, t1435, t1433, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1437 = ggml_permute(ctx, t1436, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1438 = ggml_cont(ctx, t1437); // cont torch_export.py:54 in forward - ggml_tensor * t1439 = ggml_compiler::ops::reshape(ctx, t1438, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1440 = ggml_compiler::ops::reshape(ctx, t1439, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1441 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_weight, t1440); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1442 = ggml_compiler::ops::reshape(ctx, t1441, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1443 = ggml_add(ctx, t1388, t1442); // add torch_export.py:54 in forward - ggml_tensor * t1444 = ggml_rms_norm(ctx, t1443, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1445 = ggml_mul(ctx, t1444, net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.21.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1446 = ggml_compiler::ops::reshape(ctx, t1445, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1447 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_up_proj_weight, t1446); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1448 = ggml_compiler::ops::reshape(ctx, t1447, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1449 = ggml_relu(ctx, t1448); // relu net.mot_backbone.model.language_model.layers.21.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1450 = ggml_sqr(ctx, t1449); // sqr net.mot_backbone.model.language_model.layers.21.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1451 = ggml_compiler::ops::reshape(ctx, t1450, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1452 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_down_proj_weight, t1451); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1453 = ggml_compiler::ops::reshape(ctx, t1452, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1454 = ggml_add(ctx, t1443, t1453); // add torch_export.py:54 in forward - ggml_tensor * t1455 = ggml_rms_norm(ctx, t1454, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1456 = ggml_mul(ctx, t1455, net_mot_backbone_model_language_model_layers_22_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.22.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1457 = ggml_compiler::ops::reshape(ctx, t1456, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1458 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_weight, t1457); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1459 = ggml_compiler::ops::reshape(ctx, t1458, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1460 = ggml_permute(ctx, t1459, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1461 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_weight, t1457); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1462 = ggml_compiler::ops::reshape(ctx, t1461, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1463 = ggml_permute(ctx, t1462, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1464 = ggml_cont(ctx, t1460); // cont net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1465 = ggml_rms_norm(ctx, t1464, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1466 = ggml_mul(ctx, t1465, net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1467 = ggml_mul(ctx, t1466, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1468 = ggml_compiler::ops::slice(ctx, t1466, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1469 = ggml_cont(ctx, t1468); // cont torch_export.py:54 in forward - ggml_tensor * t1470 = ggml_neg(ctx, t1469); // neg torch_export.py:54 in forward - ggml_tensor * t1471 = ggml_compiler::ops::slice(ctx, t1466, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1472 = ggml_cont(ctx, t1471); // cont torch_export.py:54 in forward - ggml_tensor * t1473 = ggml_concat(ctx, t1470, t1472, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1474 = ggml_mul(ctx, t1473, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1475 = ggml_add(ctx, t1467, t1474); // add torch_export.py:54 in forward - ggml_tensor * t1476 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_weight, t1457); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1477 = ggml_compiler::ops::reshape(ctx, t1476, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1478 = ggml_permute(ctx, t1477, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1479 = ggml_cont(ctx, t1478); // cont torch_export.py:54 in forward - ggml_tensor * t1480 = ggml_mul(ctx, t1479, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1481 = ggml_compiler::ops::slice(ctx, t1478, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1482 = ggml_cont(ctx, t1481); // cont torch_export.py:54 in forward - ggml_tensor * t1483 = ggml_neg(ctx, t1482); // neg torch_export.py:54 in forward - ggml_tensor * t1484 = ggml_compiler::ops::slice(ctx, t1478, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1485 = ggml_cont(ctx, t1484); // cont torch_export.py:54 in forward - ggml_tensor * t1486 = ggml_concat(ctx, t1483, t1485, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1487 = ggml_mul(ctx, t1486, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1488 = ggml_add(ctx, t1480, t1487); // add torch_export.py:54 in forward - ggml_tensor * t1489 = ggml_mul(ctx, t1464, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1490 = ggml_compiler::ops::slice(ctx, t1460, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1491 = ggml_cont(ctx, t1490); // cont torch_export.py:54 in forward - ggml_tensor * t1492 = ggml_neg(ctx, t1491); // neg torch_export.py:54 in forward - ggml_tensor * t1493 = ggml_compiler::ops::slice(ctx, t1460, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1494 = ggml_cont(ctx, t1493); // cont torch_export.py:54 in forward - ggml_tensor * t1495 = ggml_concat(ctx, t1492, t1494, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1496 = ggml_mul(ctx, t1495, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1497 = ggml_add(ctx, t1489, t1496); // add torch_export.py:54 in forward - ggml_tensor * t1498 = ggml_compiler::ops::mul_mat(ctx, t1497, t1488, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1499 = ggml_soft_max_ext(ctx, t1498, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1500 = ggml_permute(ctx, t1462, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1501 = ggml_cont(ctx, t1500); // cont torch_export.py:54 in forward - ggml_tensor * t1502 = ggml_compiler::ops::mul_mat(ctx, t1501, t1499, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1503 = ggml_permute(ctx, t1502, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1504 = ggml_cont(ctx, t1503); // cont torch_export.py:54 in forward - ggml_tensor * t1505 = ggml_compiler::ops::reshape(ctx, t1504, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1506 = ggml_compiler::ops::reshape(ctx, t1505, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1507 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_weight, t1506); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1508 = ggml_compiler::ops::reshape(ctx, t1507, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1509 = ggml_add(ctx, t1454, t1508); // add torch_export.py:54 in forward - ggml_tensor * t1510 = ggml_rms_norm(ctx, t1509, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1511 = ggml_mul(ctx, t1510, net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.22.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1512 = ggml_compiler::ops::reshape(ctx, t1511, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1513 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_up_proj_weight, t1512); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1514 = ggml_compiler::ops::reshape(ctx, t1513, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1515 = ggml_relu(ctx, t1514); // relu net.mot_backbone.model.language_model.layers.22.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1516 = ggml_sqr(ctx, t1515); // sqr net.mot_backbone.model.language_model.layers.22.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1517 = ggml_compiler::ops::reshape(ctx, t1516, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1518 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_down_proj_weight, t1517); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1519 = ggml_compiler::ops::reshape(ctx, t1518, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1520 = ggml_add(ctx, t1509, t1519); // add torch_export.py:54 in forward - ggml_tensor * t1521 = ggml_rms_norm(ctx, t1520, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1522 = ggml_mul(ctx, t1521, net_mot_backbone_model_language_model_layers_23_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.23.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1523 = ggml_compiler::ops::reshape(ctx, t1522, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1524 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_weight, t1523); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1525 = ggml_compiler::ops::reshape(ctx, t1524, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1526 = ggml_permute(ctx, t1525, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1527 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_weight, t1523); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1528 = ggml_compiler::ops::reshape(ctx, t1527, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1529 = ggml_permute(ctx, t1528, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1530 = ggml_cont(ctx, t1526); // cont net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1531 = ggml_rms_norm(ctx, t1530, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1532 = ggml_mul(ctx, t1531, net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1533 = ggml_mul(ctx, t1532, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1534 = ggml_compiler::ops::slice(ctx, t1532, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1535 = ggml_cont(ctx, t1534); // cont torch_export.py:54 in forward - ggml_tensor * t1536 = ggml_neg(ctx, t1535); // neg torch_export.py:54 in forward - ggml_tensor * t1537 = ggml_compiler::ops::slice(ctx, t1532, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1538 = ggml_cont(ctx, t1537); // cont torch_export.py:54 in forward - ggml_tensor * t1539 = ggml_concat(ctx, t1536, t1538, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1540 = ggml_mul(ctx, t1539, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1541 = ggml_add(ctx, t1533, t1540); // add torch_export.py:54 in forward - ggml_tensor * t1542 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_weight, t1523); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1543 = ggml_compiler::ops::reshape(ctx, t1542, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1544 = ggml_permute(ctx, t1543, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1545 = ggml_cont(ctx, t1544); // cont torch_export.py:54 in forward - ggml_tensor * t1546 = ggml_mul(ctx, t1545, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1547 = ggml_compiler::ops::slice(ctx, t1544, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1548 = ggml_cont(ctx, t1547); // cont torch_export.py:54 in forward - ggml_tensor * t1549 = ggml_neg(ctx, t1548); // neg torch_export.py:54 in forward - ggml_tensor * t1550 = ggml_compiler::ops::slice(ctx, t1544, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1551 = ggml_cont(ctx, t1550); // cont torch_export.py:54 in forward - ggml_tensor * t1552 = ggml_concat(ctx, t1549, t1551, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1553 = ggml_mul(ctx, t1552, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1554 = ggml_add(ctx, t1546, t1553); // add torch_export.py:54 in forward - ggml_tensor * t1555 = ggml_mul(ctx, t1530, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1556 = ggml_compiler::ops::slice(ctx, t1526, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1557 = ggml_cont(ctx, t1556); // cont torch_export.py:54 in forward - ggml_tensor * t1558 = ggml_neg(ctx, t1557); // neg torch_export.py:54 in forward - ggml_tensor * t1559 = ggml_compiler::ops::slice(ctx, t1526, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1560 = ggml_cont(ctx, t1559); // cont torch_export.py:54 in forward - ggml_tensor * t1561 = ggml_concat(ctx, t1558, t1560, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1562 = ggml_mul(ctx, t1561, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1563 = ggml_add(ctx, t1555, t1562); // add torch_export.py:54 in forward - ggml_tensor * t1564 = ggml_compiler::ops::mul_mat(ctx, t1563, t1554, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1565 = ggml_soft_max_ext(ctx, t1564, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1566 = ggml_permute(ctx, t1528, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1567 = ggml_cont(ctx, t1566); // cont torch_export.py:54 in forward - ggml_tensor * t1568 = ggml_compiler::ops::mul_mat(ctx, t1567, t1565, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1569 = ggml_permute(ctx, t1568, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1570 = ggml_cont(ctx, t1569); // cont torch_export.py:54 in forward - ggml_tensor * t1571 = ggml_compiler::ops::reshape(ctx, t1570, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1572 = ggml_compiler::ops::reshape(ctx, t1571, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1573 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_weight, t1572); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1574 = ggml_compiler::ops::reshape(ctx, t1573, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1575 = ggml_add(ctx, t1520, t1574); // add torch_export.py:54 in forward - ggml_tensor * t1576 = ggml_rms_norm(ctx, t1575, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1577 = ggml_mul(ctx, t1576, net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.23.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1578 = ggml_compiler::ops::reshape(ctx, t1577, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1579 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_up_proj_weight, t1578); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1580 = ggml_compiler::ops::reshape(ctx, t1579, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1581 = ggml_relu(ctx, t1580); // relu net.mot_backbone.model.language_model.layers.23.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1582 = ggml_sqr(ctx, t1581); // sqr net.mot_backbone.model.language_model.layers.23.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1583 = ggml_compiler::ops::reshape(ctx, t1582, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1584 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_down_proj_weight, t1583); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1585 = ggml_compiler::ops::reshape(ctx, t1584, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1586 = ggml_add(ctx, t1575, t1585); // add torch_export.py:54 in forward - ggml_tensor * t1587 = ggml_rms_norm(ctx, t1586, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1588 = ggml_mul(ctx, t1587, net_mot_backbone_model_language_model_layers_24_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.24.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1589 = ggml_compiler::ops::reshape(ctx, t1588, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1590 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_weight, t1589); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1591 = ggml_compiler::ops::reshape(ctx, t1590, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1592 = ggml_permute(ctx, t1591, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1593 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_weight, t1589); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1594 = ggml_compiler::ops::reshape(ctx, t1593, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1595 = ggml_permute(ctx, t1594, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1596 = ggml_cont(ctx, t1592); // cont net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1597 = ggml_rms_norm(ctx, t1596, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1598 = ggml_mul(ctx, t1597, net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1599 = ggml_mul(ctx, t1598, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1600 = ggml_compiler::ops::slice(ctx, t1598, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1601 = ggml_cont(ctx, t1600); // cont torch_export.py:54 in forward - ggml_tensor * t1602 = ggml_neg(ctx, t1601); // neg torch_export.py:54 in forward - ggml_tensor * t1603 = ggml_compiler::ops::slice(ctx, t1598, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1604 = ggml_cont(ctx, t1603); // cont torch_export.py:54 in forward - ggml_tensor * t1605 = ggml_concat(ctx, t1602, t1604, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1606 = ggml_mul(ctx, t1605, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1607 = ggml_add(ctx, t1599, t1606); // add torch_export.py:54 in forward - ggml_tensor * t1608 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_weight, t1589); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1609 = ggml_compiler::ops::reshape(ctx, t1608, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1610 = ggml_permute(ctx, t1609, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1611 = ggml_cont(ctx, t1610); // cont torch_export.py:54 in forward - ggml_tensor * t1612 = ggml_mul(ctx, t1611, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1613 = ggml_compiler::ops::slice(ctx, t1610, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1614 = ggml_cont(ctx, t1613); // cont torch_export.py:54 in forward - ggml_tensor * t1615 = ggml_neg(ctx, t1614); // neg torch_export.py:54 in forward - ggml_tensor * t1616 = ggml_compiler::ops::slice(ctx, t1610, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1617 = ggml_cont(ctx, t1616); // cont torch_export.py:54 in forward - ggml_tensor * t1618 = ggml_concat(ctx, t1615, t1617, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1619 = ggml_mul(ctx, t1618, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1620 = ggml_add(ctx, t1612, t1619); // add torch_export.py:54 in forward - ggml_tensor * t1621 = ggml_mul(ctx, t1596, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1622 = ggml_compiler::ops::slice(ctx, t1592, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1623 = ggml_cont(ctx, t1622); // cont torch_export.py:54 in forward - ggml_tensor * t1624 = ggml_neg(ctx, t1623); // neg torch_export.py:54 in forward - ggml_tensor * t1625 = ggml_compiler::ops::slice(ctx, t1592, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1626 = ggml_cont(ctx, t1625); // cont torch_export.py:54 in forward - ggml_tensor * t1627 = ggml_concat(ctx, t1624, t1626, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1628 = ggml_mul(ctx, t1627, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1629 = ggml_add(ctx, t1621, t1628); // add torch_export.py:54 in forward - ggml_tensor * t1630 = ggml_compiler::ops::mul_mat(ctx, t1629, t1620, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1631 = ggml_soft_max_ext(ctx, t1630, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1632 = ggml_permute(ctx, t1594, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1633 = ggml_cont(ctx, t1632); // cont torch_export.py:54 in forward - ggml_tensor * t1634 = ggml_compiler::ops::mul_mat(ctx, t1633, t1631, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1635 = ggml_permute(ctx, t1634, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1636 = ggml_cont(ctx, t1635); // cont torch_export.py:54 in forward - ggml_tensor * t1637 = ggml_compiler::ops::reshape(ctx, t1636, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1638 = ggml_compiler::ops::reshape(ctx, t1637, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1639 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_weight, t1638); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1640 = ggml_compiler::ops::reshape(ctx, t1639, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1641 = ggml_add(ctx, t1586, t1640); // add torch_export.py:54 in forward - ggml_tensor * t1642 = ggml_rms_norm(ctx, t1641, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1643 = ggml_mul(ctx, t1642, net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.24.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1644 = ggml_compiler::ops::reshape(ctx, t1643, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1645 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_up_proj_weight, t1644); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1646 = ggml_compiler::ops::reshape(ctx, t1645, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1647 = ggml_relu(ctx, t1646); // relu net.mot_backbone.model.language_model.layers.24.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1648 = ggml_sqr(ctx, t1647); // sqr net.mot_backbone.model.language_model.layers.24.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1649 = ggml_compiler::ops::reshape(ctx, t1648, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1650 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_down_proj_weight, t1649); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1651 = ggml_compiler::ops::reshape(ctx, t1650, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1652 = ggml_add(ctx, t1641, t1651); // add torch_export.py:54 in forward - ggml_tensor * t1653 = ggml_rms_norm(ctx, t1652, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1654 = ggml_mul(ctx, t1653, net_mot_backbone_model_language_model_layers_25_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.25.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1655 = ggml_compiler::ops::reshape(ctx, t1654, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1656 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_weight, t1655); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1657 = ggml_compiler::ops::reshape(ctx, t1656, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1658 = ggml_permute(ctx, t1657, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1659 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_weight, t1655); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1660 = ggml_compiler::ops::reshape(ctx, t1659, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1661 = ggml_permute(ctx, t1660, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1662 = ggml_cont(ctx, t1658); // cont net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1663 = ggml_rms_norm(ctx, t1662, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1664 = ggml_mul(ctx, t1663, net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1665 = ggml_mul(ctx, t1664, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1666 = ggml_compiler::ops::slice(ctx, t1664, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1667 = ggml_cont(ctx, t1666); // cont torch_export.py:54 in forward - ggml_tensor * t1668 = ggml_neg(ctx, t1667); // neg torch_export.py:54 in forward - ggml_tensor * t1669 = ggml_compiler::ops::slice(ctx, t1664, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1670 = ggml_cont(ctx, t1669); // cont torch_export.py:54 in forward - ggml_tensor * t1671 = ggml_concat(ctx, t1668, t1670, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1672 = ggml_mul(ctx, t1671, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1673 = ggml_add(ctx, t1665, t1672); // add torch_export.py:54 in forward - ggml_tensor * t1674 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_weight, t1655); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1675 = ggml_compiler::ops::reshape(ctx, t1674, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1676 = ggml_permute(ctx, t1675, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1677 = ggml_cont(ctx, t1676); // cont torch_export.py:54 in forward - ggml_tensor * t1678 = ggml_mul(ctx, t1677, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1679 = ggml_compiler::ops::slice(ctx, t1676, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1680 = ggml_cont(ctx, t1679); // cont torch_export.py:54 in forward - ggml_tensor * t1681 = ggml_neg(ctx, t1680); // neg torch_export.py:54 in forward - ggml_tensor * t1682 = ggml_compiler::ops::slice(ctx, t1676, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1683 = ggml_cont(ctx, t1682); // cont torch_export.py:54 in forward - ggml_tensor * t1684 = ggml_concat(ctx, t1681, t1683, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1685 = ggml_mul(ctx, t1684, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1686 = ggml_add(ctx, t1678, t1685); // add torch_export.py:54 in forward - ggml_tensor * t1687 = ggml_mul(ctx, t1662, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1688 = ggml_compiler::ops::slice(ctx, t1658, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1689 = ggml_cont(ctx, t1688); // cont torch_export.py:54 in forward - ggml_tensor * t1690 = ggml_neg(ctx, t1689); // neg torch_export.py:54 in forward - ggml_tensor * t1691 = ggml_compiler::ops::slice(ctx, t1658, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1692 = ggml_cont(ctx, t1691); // cont torch_export.py:54 in forward - ggml_tensor * t1693 = ggml_concat(ctx, t1690, t1692, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1694 = ggml_mul(ctx, t1693, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1695 = ggml_add(ctx, t1687, t1694); // add torch_export.py:54 in forward - ggml_tensor * t1696 = ggml_compiler::ops::mul_mat(ctx, t1695, t1686, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1697 = ggml_soft_max_ext(ctx, t1696, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1698 = ggml_permute(ctx, t1660, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1699 = ggml_cont(ctx, t1698); // cont torch_export.py:54 in forward - ggml_tensor * t1700 = ggml_compiler::ops::mul_mat(ctx, t1699, t1697, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1701 = ggml_permute(ctx, t1700, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1702 = ggml_cont(ctx, t1701); // cont torch_export.py:54 in forward - ggml_tensor * t1703 = ggml_compiler::ops::reshape(ctx, t1702, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1704 = ggml_compiler::ops::reshape(ctx, t1703, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1705 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1706 = ggml_compiler::ops::reshape(ctx, t1705, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1707 = ggml_add(ctx, t1652, t1706); // add torch_export.py:54 in forward - ggml_tensor * t1708 = ggml_rms_norm(ctx, t1707, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1709 = ggml_mul(ctx, t1708, net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.25.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1710 = ggml_compiler::ops::reshape(ctx, t1709, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1711 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_up_proj_weight, t1710); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1712 = ggml_compiler::ops::reshape(ctx, t1711, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1713 = ggml_relu(ctx, t1712); // relu net.mot_backbone.model.language_model.layers.25.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1714 = ggml_sqr(ctx, t1713); // sqr net.mot_backbone.model.language_model.layers.25.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1715 = ggml_compiler::ops::reshape(ctx, t1714, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1716 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_down_proj_weight, t1715); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1717 = ggml_compiler::ops::reshape(ctx, t1716, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1718 = ggml_add(ctx, t1707, t1717); // add torch_export.py:54 in forward - ggml_tensor * t1719 = ggml_rms_norm(ctx, t1718, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1720 = ggml_mul(ctx, t1719, net_mot_backbone_model_language_model_layers_26_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.26.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1721 = ggml_compiler::ops::reshape(ctx, t1720, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1722 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_weight, t1721); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1723 = ggml_compiler::ops::reshape(ctx, t1722, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1724 = ggml_permute(ctx, t1723, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1725 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_weight, t1721); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1726 = ggml_compiler::ops::reshape(ctx, t1725, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1727 = ggml_permute(ctx, t1726, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1728 = ggml_cont(ctx, t1724); // cont net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1729 = ggml_rms_norm(ctx, t1728, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1730 = ggml_mul(ctx, t1729, net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1731 = ggml_mul(ctx, t1730, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1732 = ggml_compiler::ops::slice(ctx, t1730, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1733 = ggml_cont(ctx, t1732); // cont torch_export.py:54 in forward - ggml_tensor * t1734 = ggml_neg(ctx, t1733); // neg torch_export.py:54 in forward - ggml_tensor * t1735 = ggml_compiler::ops::slice(ctx, t1730, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1736 = ggml_cont(ctx, t1735); // cont torch_export.py:54 in forward - ggml_tensor * t1737 = ggml_concat(ctx, t1734, t1736, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1738 = ggml_mul(ctx, t1737, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1739 = ggml_add(ctx, t1731, t1738); // add torch_export.py:54 in forward - ggml_tensor * t1740 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_weight, t1721); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.q_proj linear.py:134 in forward - ggml_tensor * t1741 = ggml_compiler::ops::reshape(ctx, t1740, 128, 16, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1742 = ggml_permute(ctx, t1741, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1743 = ggml_cont(ctx, t1742); // cont torch_export.py:54 in forward - ggml_tensor * t1744 = ggml_mul(ctx, t1743, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1745 = ggml_compiler::ops::slice(ctx, t1742, 0, 64, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1746 = ggml_cont(ctx, t1745); // cont torch_export.py:54 in forward - ggml_tensor * t1747 = ggml_neg(ctx, t1746); // neg torch_export.py:54 in forward - ggml_tensor * t1748 = ggml_compiler::ops::slice(ctx, t1742, 0, 0, 64, 192, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1749 = ggml_cont(ctx, t1748); // cont torch_export.py:54 in forward - ggml_tensor * t1750 = ggml_concat(ctx, t1747, t1749, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1751 = ggml_mul(ctx, t1750, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1752 = ggml_add(ctx, t1744, t1751); // add torch_export.py:54 in forward - ggml_tensor * t1753 = ggml_mul(ctx, t1728, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1754 = ggml_compiler::ops::slice(ctx, t1724, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1755 = ggml_cont(ctx, t1754); // cont torch_export.py:54 in forward - ggml_tensor * t1756 = ggml_neg(ctx, t1755); // neg torch_export.py:54 in forward - ggml_tensor * t1757 = ggml_compiler::ops::slice(ctx, t1724, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1758 = ggml_cont(ctx, t1757); // cont torch_export.py:54 in forward - ggml_tensor * t1759 = ggml_concat(ctx, t1756, t1758, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1760 = ggml_mul(ctx, t1759, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1761 = ggml_add(ctx, t1753, t1760); // add torch_export.py:54 in forward - ggml_tensor * t1762 = ggml_compiler::ops::mul_mat(ctx, t1761, t1752, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1763 = ggml_soft_max_ext(ctx, t1762, const_16, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1764 = ggml_permute(ctx, t1726, 1, 2, 0, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1765 = ggml_cont(ctx, t1764); // cont torch_export.py:54 in forward - ggml_tensor * t1766 = ggml_compiler::ops::mul_mat(ctx, t1765, t1763, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1767 = ggml_permute(ctx, t1766, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1768 = ggml_cont(ctx, t1767); // cont torch_export.py:54 in forward - ggml_tensor * t1769 = ggml_compiler::ops::reshape(ctx, t1768, 2048, 192, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1770 = ggml_compiler::ops::reshape(ctx, t1769, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1771 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_weight, t1770); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1772 = ggml_compiler::ops::reshape(ctx, t1771, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj linear.py:134 in forward - ggml_tensor * t1773 = ggml_add(ctx, t1718, t1772); // add torch_export.py:54 in forward - ggml_tensor * t1774 = ggml_rms_norm(ctx, t1773, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.post_attention_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1775 = ggml_mul(ctx, t1774, net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.26.post_attention_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1776 = ggml_compiler::ops::reshape(ctx, t1775, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1777 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_up_proj_weight, t1776); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1778 = ggml_compiler::ops::reshape(ctx, t1777, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.up_proj linear.py:134 in forward - ggml_tensor * t1779 = ggml_relu(ctx, t1778); // relu net.mot_backbone.model.language_model.layers.26.mlp.act_fn activations.py:212 in forward - ggml_tensor * t1780 = ggml_sqr(ctx, t1779); // sqr net.mot_backbone.model.language_model.layers.26.mlp.act_fn activations.py:213 in forward - ggml_tensor * t1781 = ggml_compiler::ops::reshape(ctx, t1780, 9216, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1782 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_down_proj_weight, t1781); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1783 = ggml_compiler::ops::reshape(ctx, t1782, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp.down_proj linear.py:134 in forward - ggml_tensor * t1784 = ggml_add(ctx, t1773, t1783); // add torch_export.py:54 in forward - ggml_tensor * t1785 = ggml_rms_norm(ctx, t1784, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.input_layernorm modeling_cosmos3.py:2436 in forward - ggml_tensor * t1786 = ggml_mul(ctx, t1785, net_mot_backbone_model_language_model_layers_27_input_layernorm_weight); // mul net.mot_backbone.model.language_model.layers.27.input_layernorm modeling_cosmos3.py:2437 in forward - ggml_tensor * t1787 = ggml_compiler::ops::reshape(ctx, t1786, 2048, 192, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1788 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_weight, t1787); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.k_proj linear.py:134 in forward - ggml_tensor * t1789 = ggml_compiler::ops::reshape(ctx, t1788, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1790 = ggml_permute(ctx, t1789, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1791 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_weight, t1787); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.v_proj linear.py:134 in forward - ggml_tensor * t1792 = ggml_compiler::ops::reshape(ctx, t1791, 128, 8, 192, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1793 = ggml_permute(ctx, t1792, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1794 = ggml_cont(ctx, t1790); // cont net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1795 = ggml_rms_norm(ctx, t1794, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1796 = ggml_mul(ctx, t1795, net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_und_for_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_und_for_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1797 = ggml_mul(ctx, t1796, const_14); // mul torch_export.py:54 in forward - ggml_tensor * t1798 = ggml_compiler::ops::slice(ctx, t1796, 0, 64, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1799 = ggml_cont(ctx, t1798); // cont torch_export.py:54 in forward - ggml_tensor * t1800 = ggml_neg(ctx, t1799); // neg torch_export.py:54 in forward - ggml_tensor * t1801 = ggml_compiler::ops::slice(ctx, t1796, 0, 0, 64, 192, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1802 = ggml_cont(ctx, t1801); // cont torch_export.py:54 in forward - ggml_tensor * t1803 = ggml_concat(ctx, t1800, t1802, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1804 = ggml_mul(ctx, t1803, const_15); // mul torch_export.py:54 in forward - ggml_tensor * t1805 = ggml_add(ctx, t1797, t1804); // add torch_export.py:54 in forward - ggml_tensor * t1806 = ggml_compiler::ops::scale(ctx, in1, -1.0f, 1.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1807 = ggml_compiler::ops::scale(ctx, t1806, -1e+09f, 0.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1808 = ggml_concat(ctx, t1807, const_17, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1809 = ggml_compiler::ops::reshape(ctx, t1808, 458, 1, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1810 = ggml_repeat_4d(ctx, t1809, 458, 266, 1, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t1811 = ggml_sum_rows(ctx, in1); // sum_rows torch_export.py:54 in forward - ggml_tensor * t1812 = ggml_compiler::ops::scale(ctx, t1811, 1.0f, 15000.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1813 = ggml_add(ctx, const_18, t1812); // add torch_export.py:54 in forward - ggml_tensor * t1814 = ggml_compiler::ops::reshape(ctx, t1813, 1, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1815 = ggml_repeat_4d(ctx, t1814, 64, 266, 1, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t1816 = ggml_mul(ctx, t1815, const_19); // mul torch_export.py:54 in forward - ggml_tensor * t1817 = ggml_add(ctx, t1816, const_20); // add torch_export.py:54 in forward - ggml_tensor * t1818 = ggml_cos(ctx, t1817); // cos torch_export.py:54 in forward - ggml_tensor * t1819 = ggml_sin(ctx, t1817); // sin torch_export.py:54 in forward - ggml_tensor * t1820 = ggml_concat(ctx, t1818, t1818, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1821 = ggml_compiler::ops::reshape(ctx, t1820, 128, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1822 = ggml_concat(ctx, t1819, t1819, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1823 = ggml_compiler::ops::reshape(ctx, t1822, 128, 266, 1, 1); // reshape torch_export.py:54 in forward - - ggml_compiler_build_output(B, 0, t23); - ggml_compiler_build_output(B, 1, t11); - ggml_compiler_build_output(B, 2, t89); - ggml_compiler_build_output(B, 3, t77); - ggml_compiler_build_output(B, 4, t155); - ggml_compiler_build_output(B, 5, t143); - ggml_compiler_build_output(B, 6, t221); - ggml_compiler_build_output(B, 7, t209); - ggml_compiler_build_output(B, 8, t287); - ggml_compiler_build_output(B, 9, t275); - ggml_compiler_build_output(B, 10, t353); - ggml_compiler_build_output(B, 11, t341); - ggml_compiler_build_output(B, 12, t419); - ggml_compiler_build_output(B, 13, t407); - ggml_compiler_build_output(B, 14, t485); - ggml_compiler_build_output(B, 15, t473); - ggml_compiler_build_output(B, 16, t551); - ggml_compiler_build_output(B, 17, t539); - ggml_compiler_build_output(B, 18, t617); - ggml_compiler_build_output(B, 19, t605); - ggml_compiler_build_output(B, 20, t683); - ggml_compiler_build_output(B, 21, t671); - ggml_compiler_build_output(B, 22, t749); - ggml_compiler_build_output(B, 23, t737); - ggml_compiler_build_output(B, 24, t815); - ggml_compiler_build_output(B, 25, t803); - ggml_compiler_build_output(B, 26, t881); - ggml_compiler_build_output(B, 27, t869); - ggml_compiler_build_output(B, 28, t947); - ggml_compiler_build_output(B, 29, t935); - ggml_compiler_build_output(B, 30, t1013); - ggml_compiler_build_output(B, 31, t1001); - ggml_compiler_build_output(B, 32, t1079); - ggml_compiler_build_output(B, 33, t1067); - ggml_compiler_build_output(B, 34, t1145); - ggml_compiler_build_output(B, 35, t1133); - ggml_compiler_build_output(B, 36, t1211); - ggml_compiler_build_output(B, 37, t1199); - ggml_compiler_build_output(B, 38, t1277); - ggml_compiler_build_output(B, 39, t1265); - ggml_compiler_build_output(B, 40, t1343); - ggml_compiler_build_output(B, 41, t1331); - ggml_compiler_build_output(B, 42, t1409); - ggml_compiler_build_output(B, 43, t1397); - ggml_compiler_build_output(B, 44, t1475); - ggml_compiler_build_output(B, 45, t1463); - ggml_compiler_build_output(B, 46, t1541); - ggml_compiler_build_output(B, 47, t1529); - ggml_compiler_build_output(B, 48, t1607); - ggml_compiler_build_output(B, 49, t1595); - ggml_compiler_build_output(B, 50, t1673); - ggml_compiler_build_output(B, 51, t1661); - ggml_compiler_build_output(B, 52, t1739); - ggml_compiler_build_output(B, 53, t1727); - ggml_compiler_build_output(B, 54, t1805); - ggml_compiler_build_output(B, 55, t1793); - ggml_compiler_build_output(B, 56, t1810); - ggml_compiler_build_output(B, 57, t1821); - ggml_compiler_build_output(B, 58, t1823); - return 0; -} - -// Stage 'init': 3 nodes. -int build_init(ggml_compiler_stage_build * B) { - ggml_context * ctx = ggml_compiler_build_ctx(B); - const bool gpu = ggml_compiler_build_gpu(B); - (void) gpu; - - // Parameters - ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 50, 192] - ggml_tensor * in1 = ggml_compiler_build_param(B, 1); // f32 [1, 200, 192] - ggml_tensor * in2 = ggml_compiler_build_param(B, 2); // f32 [1, 16, 10] - - // Graph - ggml_tensor * t0 = ggml_concat(ctx, in0, in1, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1 = ggml_compiler::ops::scale(ctx, t0, 0.0f, 0.0f); // scale torch_export.py:54 in forward - ggml_tensor * t2 = ggml_compiler::ops::scale(ctx, in2, 0.0f, 0.0f); // scale torch_export.py:54 in forward - - ggml_compiler_build_output(B, 0, t0); - ggml_compiler_build_output(B, 1, in2); - ggml_compiler_build_output(B, 2, t1); - ggml_compiler_build_output(B, 3, t2); - ggml_compiler_build_output(B, 4, t1); - ggml_compiler_build_output(B, 5, t2); - ggml_compiler_build_output(B, 6, t1); - ggml_compiler_build_output(B, 7, t2); - return 0; -} - -// Stage 'step': 1813 nodes. -int build_step(ggml_compiler_stage_build * B) { - ggml_context * ctx = ggml_compiler_build_ctx(B); - const bool gpu = ggml_compiler_build_gpu(B); - (void) gpu; - - // Parameters - ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 250, 192] - ggml_tensor * in1 = ggml_compiler_build_param(B, 1); // f32 [1, 16, 10] - ggml_tensor * in2 = ggml_compiler_build_param(B, 2); // f32 [1, 250, 192] - ggml_tensor * in3 = ggml_compiler_build_param(B, 3); // f32 [1, 16, 10] - ggml_tensor * in4 = ggml_compiler_build_param(B, 4); // f32 [1, 250, 192] - ggml_tensor * in5 = ggml_compiler_build_param(B, 5); // f32 [1, 16, 10] - ggml_tensor * in6 = ggml_compiler_build_param(B, 6); // f32 [1, 250, 192] - ggml_tensor * in7 = ggml_compiler_build_param(B, 7); // f32 [1, 16, 10] - ggml_tensor * in8 = ggml_compiler_build_param(B, 8); // f32 [1, 8, 192, 128] - ggml_tensor * in9 = ggml_compiler_build_param(B, 9); // f32 [1, 8, 192, 128] - ggml_tensor * in10 = ggml_compiler_build_param(B, 10); // f32 [1, 8, 192, 128] - ggml_tensor * in11 = ggml_compiler_build_param(B, 11); // f32 [1, 8, 192, 128] - ggml_tensor * in12 = ggml_compiler_build_param(B, 12); // f32 [1, 8, 192, 128] - ggml_tensor * in13 = ggml_compiler_build_param(B, 13); // f32 [1, 8, 192, 128] - ggml_tensor * in14 = ggml_compiler_build_param(B, 14); // f32 [1, 8, 192, 128] - ggml_tensor * in15 = ggml_compiler_build_param(B, 15); // f32 [1, 8, 192, 128] - ggml_tensor * in16 = ggml_compiler_build_param(B, 16); // f32 [1, 8, 192, 128] - ggml_tensor * in17 = ggml_compiler_build_param(B, 17); // f32 [1, 8, 192, 128] - ggml_tensor * in18 = ggml_compiler_build_param(B, 18); // f32 [1, 8, 192, 128] - ggml_tensor * in19 = ggml_compiler_build_param(B, 19); // f32 [1, 8, 192, 128] - ggml_tensor * in20 = ggml_compiler_build_param(B, 20); // f32 [1, 8, 192, 128] - ggml_tensor * in21 = ggml_compiler_build_param(B, 21); // f32 [1, 8, 192, 128] - ggml_tensor * in22 = ggml_compiler_build_param(B, 22); // f32 [1, 8, 192, 128] - ggml_tensor * in23 = ggml_compiler_build_param(B, 23); // f32 [1, 8, 192, 128] - ggml_tensor * in24 = ggml_compiler_build_param(B, 24); // f32 [1, 8, 192, 128] - ggml_tensor * in25 = ggml_compiler_build_param(B, 25); // f32 [1, 8, 192, 128] - ggml_tensor * in26 = ggml_compiler_build_param(B, 26); // f32 [1, 8, 192, 128] - ggml_tensor * in27 = ggml_compiler_build_param(B, 27); // f32 [1, 8, 192, 128] - ggml_tensor * in28 = ggml_compiler_build_param(B, 28); // f32 [1, 8, 192, 128] - ggml_tensor * in29 = ggml_compiler_build_param(B, 29); // f32 [1, 8, 192, 128] - ggml_tensor * in30 = ggml_compiler_build_param(B, 30); // f32 [1, 8, 192, 128] - ggml_tensor * in31 = ggml_compiler_build_param(B, 31); // f32 [1, 8, 192, 128] - ggml_tensor * in32 = ggml_compiler_build_param(B, 32); // f32 [1, 8, 192, 128] - ggml_tensor * in33 = ggml_compiler_build_param(B, 33); // f32 [1, 8, 192, 128] - ggml_tensor * in34 = ggml_compiler_build_param(B, 34); // f32 [1, 8, 192, 128] - ggml_tensor * in35 = ggml_compiler_build_param(B, 35); // f32 [1, 8, 192, 128] - ggml_tensor * in36 = ggml_compiler_build_param(B, 36); // f32 [1, 8, 192, 128] - ggml_tensor * in37 = ggml_compiler_build_param(B, 37); // f32 [1, 8, 192, 128] - ggml_tensor * in38 = ggml_compiler_build_param(B, 38); // f32 [1, 8, 192, 128] - ggml_tensor * in39 = ggml_compiler_build_param(B, 39); // f32 [1, 8, 192, 128] - ggml_tensor * in40 = ggml_compiler_build_param(B, 40); // f32 [1, 8, 192, 128] - ggml_tensor * in41 = ggml_compiler_build_param(B, 41); // f32 [1, 8, 192, 128] - ggml_tensor * in42 = ggml_compiler_build_param(B, 42); // f32 [1, 8, 192, 128] - ggml_tensor * in43 = ggml_compiler_build_param(B, 43); // f32 [1, 8, 192, 128] - ggml_tensor * in44 = ggml_compiler_build_param(B, 44); // f32 [1, 8, 192, 128] - ggml_tensor * in45 = ggml_compiler_build_param(B, 45); // f32 [1, 8, 192, 128] - ggml_tensor * in46 = ggml_compiler_build_param(B, 46); // f32 [1, 8, 192, 128] - ggml_tensor * in47 = ggml_compiler_build_param(B, 47); // f32 [1, 8, 192, 128] - ggml_tensor * in48 = ggml_compiler_build_param(B, 48); // f32 [1, 8, 192, 128] - ggml_tensor * in49 = ggml_compiler_build_param(B, 49); // f32 [1, 8, 192, 128] - ggml_tensor * in50 = ggml_compiler_build_param(B, 50); // f32 [1, 8, 192, 128] - ggml_tensor * in51 = ggml_compiler_build_param(B, 51); // f32 [1, 8, 192, 128] - ggml_tensor * in52 = ggml_compiler_build_param(B, 52); // f32 [1, 8, 192, 128] - ggml_tensor * in53 = ggml_compiler_build_param(B, 53); // f32 [1, 8, 192, 128] - ggml_tensor * in54 = ggml_compiler_build_param(B, 54); // f32 [1, 8, 192, 128] - ggml_tensor * in55 = ggml_compiler_build_param(B, 55); // f32 [1, 8, 192, 128] - ggml_tensor * in56 = ggml_compiler_build_param(B, 56); // f32 [1, 8, 192, 128] - ggml_tensor * in57 = ggml_compiler_build_param(B, 57); // f32 [1, 8, 192, 128] - ggml_tensor * in58 = ggml_compiler_build_param(B, 58); // f32 [1, 8, 192, 128] - ggml_tensor * in59 = ggml_compiler_build_param(B, 59); // f32 [1, 8, 192, 128] - ggml_tensor * in60 = ggml_compiler_build_param(B, 60); // f32 [1, 8, 192, 128] - ggml_tensor * in61 = ggml_compiler_build_param(B, 61); // f32 [1, 8, 192, 128] - ggml_tensor * in62 = ggml_compiler_build_param(B, 62); // f32 [1, 8, 192, 128] - ggml_tensor * in63 = ggml_compiler_build_param(B, 63); // f32 [1, 8, 192, 128] - ggml_tensor * in64 = ggml_compiler_build_param(B, 64); // f32 [1, 1, 266, 458] - ggml_tensor * in65 = ggml_compiler_build_param(B, 65); // f32 [1, 266, 128] - ggml_tensor * in66 = ggml_compiler_build_param(B, 66); // f32 [1, 266, 128] - ggml_tensor * in67 = ggml_compiler_build_param(B, 67); // f32 [1] - ggml_tensor * in68 = ggml_compiler_build_param(B, 68); // f32 [1] - ggml_tensor * in69 = ggml_compiler_build_param(B, 69); // f32 [1] - ggml_tensor * in70 = ggml_compiler_build_param(B, 70); // f32 [1] - ggml_tensor * in71 = ggml_compiler_build_param(B, 71); // f32 [1] - ggml_tensor * in72 = ggml_compiler_build_param(B, 72); // f32 [1] - ggml_tensor * in73 = ggml_compiler_build_param(B, 73); // f32 [1] - ggml_tensor * in74 = ggml_compiler_build_param(B, 74); // f32 [1] - ggml_tensor * in75 = ggml_compiler_build_param(B, 75); // f32 [1] - ggml_tensor * in76 = ggml_compiler_build_param(B, 76); // f32 [1] - - // Weights and constants, by GGUF name - ggml_tensor * const_21 = ggml_compiler_build_weight(B, "c.21"); - ggml_tensor * net_time_embedder_linear_1_weight = ggml_compiler_build_weight(B, "w.330"); - ggml_tensor * net_time_embedder_linear_1_bias = ggml_compiler_build_weight(B, "w.331"); - ggml_tensor * net_time_embedder_linear_2_weight = ggml_compiler_build_weight(B, "w.332"); - ggml_tensor * net_time_embedder_linear_2_bias = ggml_compiler_build_weight(B, "w.333"); - ggml_tensor * net_vae2llm_weight = ggml_compiler_build_weight(B, "w.334"); - ggml_tensor * net_vae2llm_bias = ggml_compiler_build_weight(B, "w.335"); - ggml_tensor * const_22 = ggml_compiler_build_weight(B, "c.22"); - ggml_tensor * a2l_weight = ggml_compiler_build_weight(B, "w.336"); - ggml_tensor * a2l_bias = ggml_compiler_build_weight(B, "w.337"); - ggml_tensor * net_action_modality_embed_weight = ggml_compiler_build_weight(B, "w.338"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.339"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.340"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.341"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.342"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.343"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.344"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.345"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.346"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.347"); - ggml_tensor * net_mot_backbone_model_language_model_layers_0_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.348"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.349"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.350"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.351"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.352"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.353"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.354"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.355"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.356"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.357"); - ggml_tensor * net_mot_backbone_model_language_model_layers_1_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.358"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.359"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.360"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.361"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.362"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.363"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.364"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.365"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.366"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.367"); - ggml_tensor * net_mot_backbone_model_language_model_layers_2_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.368"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.369"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.370"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.371"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.372"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.373"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.374"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.375"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.376"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.377"); - ggml_tensor * net_mot_backbone_model_language_model_layers_3_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.378"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.379"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.380"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.381"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.382"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.383"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.384"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.385"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.386"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.387"); - ggml_tensor * net_mot_backbone_model_language_model_layers_4_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.388"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.389"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.390"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.391"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.392"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.393"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.394"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.395"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.396"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.397"); - ggml_tensor * net_mot_backbone_model_language_model_layers_5_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.398"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.399"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.400"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.401"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.402"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.403"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.404"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.405"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.406"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.407"); - ggml_tensor * net_mot_backbone_model_language_model_layers_6_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.408"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.409"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.410"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.411"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.412"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.413"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.414"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.415"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.416"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.417"); - ggml_tensor * net_mot_backbone_model_language_model_layers_7_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.418"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.419"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.420"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.421"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.422"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.423"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.424"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.425"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.426"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.427"); - ggml_tensor * net_mot_backbone_model_language_model_layers_8_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.428"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.429"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.430"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.431"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.432"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.433"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.434"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.435"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.436"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.437"); - ggml_tensor * net_mot_backbone_model_language_model_layers_9_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.438"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.439"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.440"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.441"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.442"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.443"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.444"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.445"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.446"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.447"); - ggml_tensor * net_mot_backbone_model_language_model_layers_10_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.448"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.449"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.450"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.451"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.452"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.453"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.454"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.455"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.456"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.457"); - ggml_tensor * net_mot_backbone_model_language_model_layers_11_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.458"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.459"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.460"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.461"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.462"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.463"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.464"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.465"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.466"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.467"); - ggml_tensor * net_mot_backbone_model_language_model_layers_12_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.468"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.469"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.470"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.471"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.472"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.473"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.474"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.475"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.476"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.477"); - ggml_tensor * net_mot_backbone_model_language_model_layers_13_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.478"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.479"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.480"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.481"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.482"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.483"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.484"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.485"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.486"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.487"); - ggml_tensor * net_mot_backbone_model_language_model_layers_14_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.488"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.489"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.490"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.491"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.492"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.493"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.494"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.495"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.496"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.497"); - ggml_tensor * net_mot_backbone_model_language_model_layers_15_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.498"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.499"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.500"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.501"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.502"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.503"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.504"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.505"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.506"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.507"); - ggml_tensor * net_mot_backbone_model_language_model_layers_16_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.508"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.509"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.510"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.511"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.512"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.513"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.514"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.515"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.516"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.517"); - ggml_tensor * net_mot_backbone_model_language_model_layers_17_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.518"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.519"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.520"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.521"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.522"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.523"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.524"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.525"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.526"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.527"); - ggml_tensor * net_mot_backbone_model_language_model_layers_18_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.528"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.529"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.530"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.531"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.532"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.533"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.534"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.535"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.536"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.537"); - ggml_tensor * net_mot_backbone_model_language_model_layers_19_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.538"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.539"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.540"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.541"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.542"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.543"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.544"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.545"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.546"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.547"); - ggml_tensor * net_mot_backbone_model_language_model_layers_20_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.548"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.549"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.550"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.551"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.552"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.553"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.554"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.555"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.556"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.557"); - ggml_tensor * net_mot_backbone_model_language_model_layers_21_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.558"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.559"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.560"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.561"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.562"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.563"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.564"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.565"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.566"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.567"); - ggml_tensor * net_mot_backbone_model_language_model_layers_22_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.568"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.569"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.570"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.571"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.572"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.573"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.574"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.575"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.576"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.577"); - ggml_tensor * net_mot_backbone_model_language_model_layers_23_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.578"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.579"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.580"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.581"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.582"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.583"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.584"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.585"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.586"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.587"); - ggml_tensor * net_mot_backbone_model_language_model_layers_24_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.588"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.589"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.590"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.591"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.592"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.593"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.594"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.595"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.596"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.597"); - ggml_tensor * net_mot_backbone_model_language_model_layers_25_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.598"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.599"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.600"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.601"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.602"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.603"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.604"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.605"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.606"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.607"); - ggml_tensor * net_mot_backbone_model_language_model_layers_26_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.608"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_input_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.609"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_q_proj_gen_weight = ggml_compiler_build_weight(B, "w.610"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_q_norm_gen_weight = ggml_compiler_build_weight(B, "w.611"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_gen_weight = ggml_compiler_build_weight(B, "w.612"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_gen_weight = ggml_compiler_build_weight(B, "w.613"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_gen_weight = ggml_compiler_build_weight(B, "w.614"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_self_attn_o_proj_gen_weight = ggml_compiler_build_weight(B, "w.615"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_post_attention_layernorm_gen_weight = ggml_compiler_build_weight(B, "w.616"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_mlp_gen_up_proj_weight = ggml_compiler_build_weight(B, "w.617"); - ggml_tensor * net_mot_backbone_model_language_model_layers_27_mlp_gen_down_proj_weight = ggml_compiler_build_weight(B, "w.618"); - ggml_tensor * net_mot_backbone_model_language_model_norm_gen_weight = ggml_compiler_build_weight(B, "w.619"); - ggml_tensor * net_llm2vae_weight = ggml_compiler_build_weight(B, "w.620"); - ggml_tensor * net_llm2vae_bias = ggml_compiler_build_weight(B, "w.621"); - ggml_tensor * l2a_weight = ggml_compiler_build_weight(B, "w.622"); - ggml_tensor * l2a_bias = ggml_compiler_build_weight(B, "w.623"); - - // Graph - ggml_tensor * t0 = ggml_compiler::ops::scale(ctx, in67, 0.00100000005f, 0.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1 = ggml_compiler::ops::reshape(ctx, t0, 1, 1, 1, 1); // reshape net.time_proj modeling_cosmos3.py:1334 in forward - ggml_tensor * t2 = ggml_mul(ctx, const_21, t1); // mul net.time_proj modeling_cosmos3.py:1334 in forward - ggml_tensor * t3 = ggml_cos(ctx, t2); // cos net.time_proj modeling_cosmos3.py:1335 in forward - ggml_tensor * t4 = ggml_sin(ctx, t2); // sin net.time_proj modeling_cosmos3.py:1335 in forward - ggml_tensor * t5 = ggml_concat(ctx, t3, t4, 0); // concat net.time_proj modeling_cosmos3.py:1335 in forward - ggml_tensor * t6 = ggml_mul_mat(ctx, net_time_embedder_linear_1_weight, t5); // mul_mat net.time_embedder.linear_1 linear.py:134 in forward - ggml_tensor * t7 = ggml_add(ctx, t6, net_time_embedder_linear_1_bias); // add net.time_embedder.linear_1 linear.py:134 in forward - ggml_tensor * t8 = ggml_silu(ctx, t7); // silu net.time_embedder.act activation.py:475 in forward - ggml_tensor * t9 = ggml_mul_mat(ctx, net_time_embedder_linear_2_weight, t8); // mul_mat net.time_embedder.linear_2 linear.py:134 in forward - ggml_tensor * t10 = ggml_add(ctx, t9, net_time_embedder_linear_2_bias); // add net.time_embedder.linear_2 linear.py:134 in forward - ggml_tensor * t11 = ggml_compiler::ops::reshape(ctx, in0, 192, 250, 1, 1); // reshape net.vae2llm linear.py:134 in forward - ggml_tensor * t12 = ggml_mul_mat(ctx, net_vae2llm_weight, t11); // mul_mat net.vae2llm linear.py:134 in forward - ggml_tensor * t13 = ggml_compiler::ops::reshape(ctx, t12, 2048, 250, 1, 1); // reshape net.vae2llm linear.py:134 in forward - ggml_tensor * t14 = ggml_add(ctx, t13, net_vae2llm_bias); // add net.vae2llm linear.py:134 in forward - ggml_tensor * t15 = ggml_compiler::ops::reshape(ctx, t10, 2048, 1, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t16 = ggml_repeat_4d(ctx, t15, 2048, 250, 1, 1); // repeat torch_export.py:54 in forward - ggml_tensor * t17 = ggml_mul(ctx, t16, const_22); // mul torch_export.py:54 in forward - ggml_tensor * t18 = ggml_add(ctx, t14, t17); // add torch_export.py:54 in forward - ggml_tensor * t19 = ggml_compiler::ops::reshape(ctx, in1, 10, 16, 1, 1); // reshape a2l linear.py:134 in forward - ggml_tensor * t20 = ggml_mul_mat(ctx, a2l_weight, t19); // mul_mat a2l linear.py:134 in forward - ggml_tensor * t21 = ggml_compiler::ops::reshape(ctx, t20, 2048, 16, 1, 1); // reshape a2l linear.py:134 in forward - ggml_tensor * t22 = ggml_add(ctx, t21, a2l_bias); // add a2l linear.py:134 in forward - ggml_tensor * t23 = ggml_add(ctx, t22, net_action_modality_embed_weight); // add torch_export.py:54 in forward - ggml_tensor * t24 = ggml_add(ctx, t23, t15); // add torch_export.py:54 in forward - ggml_tensor * t25 = ggml_concat(ctx, t18, t24, 1); // concat torch_export.py:54 in forward - ggml_tensor * t26 = ggml_rms_norm(ctx, t25, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t27 = ggml_mul(ctx, t26, net_mot_backbone_model_language_model_layers_0_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t28 = ggml_compiler::ops::reshape(ctx, t27, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t29 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_q_proj_gen_weight, t28); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t30 = ggml_compiler::ops::reshape(ctx, t29, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t31 = ggml_rms_norm(ctx, t30, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t32 = ggml_mul(ctx, t31, net_mot_backbone_model_language_model_layers_0_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t33 = ggml_permute(ctx, t32, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t34 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_k_proj_gen_weight, t28); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t35 = ggml_compiler::ops::reshape(ctx, t34, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t36 = ggml_rms_norm(ctx, t35, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t37 = ggml_mul(ctx, t36, net_mot_backbone_model_language_model_layers_0_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t38 = ggml_permute(ctx, t37, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t39 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_v_proj_gen_weight, t28); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t40 = ggml_compiler::ops::reshape(ctx, t39, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t41 = ggml_permute(ctx, t40, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t42 = ggml_compiler::ops::reshape(ctx, in65, 128, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t43 = ggml_cont(ctx, t33); // cont torch_export.py:54 in forward - ggml_tensor * t44 = ggml_mul(ctx, t43, t42); // mul torch_export.py:54 in forward - ggml_tensor * t45 = ggml_compiler::ops::slice(ctx, t33, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t46 = ggml_cont(ctx, t45); // cont torch_export.py:54 in forward - ggml_tensor * t47 = ggml_neg(ctx, t46); // neg torch_export.py:54 in forward - ggml_tensor * t48 = ggml_compiler::ops::slice(ctx, t33, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t49 = ggml_cont(ctx, t48); // cont torch_export.py:54 in forward - ggml_tensor * t50 = ggml_concat(ctx, t47, t49, 0); // concat torch_export.py:54 in forward - ggml_tensor * t51 = ggml_compiler::ops::reshape(ctx, in66, 128, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t52 = ggml_mul(ctx, t50, t51); // mul torch_export.py:54 in forward - ggml_tensor * t53 = ggml_add(ctx, t44, t52); // add torch_export.py:54 in forward - ggml_tensor * t54 = ggml_cont(ctx, t38); // cont torch_export.py:54 in forward - ggml_tensor * t55 = ggml_mul(ctx, t54, t42); // mul torch_export.py:54 in forward - ggml_tensor * t56 = ggml_compiler::ops::slice(ctx, t38, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t57 = ggml_cont(ctx, t56); // cont torch_export.py:54 in forward - ggml_tensor * t58 = ggml_neg(ctx, t57); // neg torch_export.py:54 in forward - ggml_tensor * t59 = ggml_compiler::ops::slice(ctx, t38, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t60 = ggml_cont(ctx, t59); // cont torch_export.py:54 in forward - ggml_tensor * t61 = ggml_concat(ctx, t58, t60, 0); // concat torch_export.py:54 in forward - ggml_tensor * t62 = ggml_mul(ctx, t61, t51); // mul torch_export.py:54 in forward - ggml_tensor * t63 = ggml_add(ctx, t55, t62); // add torch_export.py:54 in forward - ggml_tensor * t64 = ggml_concat(ctx, in8, t63, 1); // concat torch_export.py:54 in forward - ggml_tensor * t65 = ggml_cont(ctx, t41); // cont torch_export.py:54 in forward - ggml_tensor * t66 = ggml_concat(ctx, in9, t65, 1); // concat torch_export.py:54 in forward - ggml_tensor * t67 = ggml_compiler::ops::mul_mat(ctx, t64, t53, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t68 = ggml_soft_max_ext(ctx, t67, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t69 = ggml_permute(ctx, t66, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t70 = ggml_cont(ctx, t69); // cont torch_export.py:54 in forward - ggml_tensor * t71 = ggml_compiler::ops::mul_mat(ctx, t70, t68, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t72 = ggml_permute(ctx, t71, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t73 = ggml_cont(ctx, t72); // cont torch_export.py:54 in forward - ggml_tensor * t74 = ggml_compiler::ops::reshape(ctx, t73, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t75 = ggml_compiler::ops::reshape(ctx, t74, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t76 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_self_attn_o_proj_gen_weight, t75); // mul_mat net.mot_backbone.model.language_model.layers.0.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t77 = ggml_compiler::ops::reshape(ctx, t76, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t78 = ggml_add(ctx, t25, t77); // add torch_export.py:54 in forward - ggml_tensor * t79 = ggml_rms_norm(ctx, t78, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.0.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t80 = ggml_mul(ctx, t79, net_mot_backbone_model_language_model_layers_0_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.0.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t81 = ggml_compiler::ops::reshape(ctx, t80, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t82 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_gen_up_proj_weight, t81); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t83 = ggml_compiler::ops::reshape(ctx, t82, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t84 = ggml_relu(ctx, t83); // relu net.mot_backbone.model.language_model.layers.0.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t85 = ggml_sqr(ctx, t84); // sqr net.mot_backbone.model.language_model.layers.0.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t86 = ggml_compiler::ops::reshape(ctx, t85, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t87 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_0_mlp_gen_down_proj_weight, t86); // mul_mat net.mot_backbone.model.language_model.layers.0.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t88 = ggml_compiler::ops::reshape(ctx, t87, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.0.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t89 = ggml_add(ctx, t78, t88); // add torch_export.py:54 in forward - ggml_tensor * t90 = ggml_rms_norm(ctx, t89, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t91 = ggml_mul(ctx, t90, net_mot_backbone_model_language_model_layers_1_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t92 = ggml_compiler::ops::reshape(ctx, t91, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t93 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_q_proj_gen_weight, t92); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t94 = ggml_compiler::ops::reshape(ctx, t93, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t95 = ggml_rms_norm(ctx, t94, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t96 = ggml_mul(ctx, t95, net_mot_backbone_model_language_model_layers_1_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t97 = ggml_permute(ctx, t96, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t98 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_k_proj_gen_weight, t92); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t99 = ggml_compiler::ops::reshape(ctx, t98, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t100 = ggml_rms_norm(ctx, t99, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t101 = ggml_mul(ctx, t100, net_mot_backbone_model_language_model_layers_1_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t102 = ggml_permute(ctx, t101, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t103 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_v_proj_gen_weight, t92); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t104 = ggml_compiler::ops::reshape(ctx, t103, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t105 = ggml_permute(ctx, t104, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t106 = ggml_cont(ctx, t97); // cont torch_export.py:54 in forward - ggml_tensor * t107 = ggml_mul(ctx, t106, t42); // mul torch_export.py:54 in forward - ggml_tensor * t108 = ggml_compiler::ops::slice(ctx, t97, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t109 = ggml_cont(ctx, t108); // cont torch_export.py:54 in forward - ggml_tensor * t110 = ggml_neg(ctx, t109); // neg torch_export.py:54 in forward - ggml_tensor * t111 = ggml_compiler::ops::slice(ctx, t97, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t112 = ggml_cont(ctx, t111); // cont torch_export.py:54 in forward - ggml_tensor * t113 = ggml_concat(ctx, t110, t112, 0); // concat torch_export.py:54 in forward - ggml_tensor * t114 = ggml_mul(ctx, t113, t51); // mul torch_export.py:54 in forward - ggml_tensor * t115 = ggml_add(ctx, t107, t114); // add torch_export.py:54 in forward - ggml_tensor * t116 = ggml_cont(ctx, t102); // cont torch_export.py:54 in forward - ggml_tensor * t117 = ggml_mul(ctx, t116, t42); // mul torch_export.py:54 in forward - ggml_tensor * t118 = ggml_compiler::ops::slice(ctx, t102, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t119 = ggml_cont(ctx, t118); // cont torch_export.py:54 in forward - ggml_tensor * t120 = ggml_neg(ctx, t119); // neg torch_export.py:54 in forward - ggml_tensor * t121 = ggml_compiler::ops::slice(ctx, t102, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t122 = ggml_cont(ctx, t121); // cont torch_export.py:54 in forward - ggml_tensor * t123 = ggml_concat(ctx, t120, t122, 0); // concat torch_export.py:54 in forward - ggml_tensor * t124 = ggml_mul(ctx, t123, t51); // mul torch_export.py:54 in forward - ggml_tensor * t125 = ggml_add(ctx, t117, t124); // add torch_export.py:54 in forward - ggml_tensor * t126 = ggml_concat(ctx, in10, t125, 1); // concat torch_export.py:54 in forward - ggml_tensor * t127 = ggml_cont(ctx, t105); // cont torch_export.py:54 in forward - ggml_tensor * t128 = ggml_concat(ctx, in11, t127, 1); // concat torch_export.py:54 in forward - ggml_tensor * t129 = ggml_compiler::ops::mul_mat(ctx, t126, t115, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t130 = ggml_soft_max_ext(ctx, t129, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t131 = ggml_permute(ctx, t128, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t132 = ggml_cont(ctx, t131); // cont torch_export.py:54 in forward - ggml_tensor * t133 = ggml_compiler::ops::mul_mat(ctx, t132, t130, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t134 = ggml_permute(ctx, t133, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t135 = ggml_cont(ctx, t134); // cont torch_export.py:54 in forward - ggml_tensor * t136 = ggml_compiler::ops::reshape(ctx, t135, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t137 = ggml_compiler::ops::reshape(ctx, t136, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t138 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_self_attn_o_proj_gen_weight, t137); // mul_mat net.mot_backbone.model.language_model.layers.1.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t139 = ggml_compiler::ops::reshape(ctx, t138, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t140 = ggml_add(ctx, t89, t139); // add torch_export.py:54 in forward - ggml_tensor * t141 = ggml_rms_norm(ctx, t140, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.1.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t142 = ggml_mul(ctx, t141, net_mot_backbone_model_language_model_layers_1_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.1.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t143 = ggml_compiler::ops::reshape(ctx, t142, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t144 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_gen_up_proj_weight, t143); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t145 = ggml_compiler::ops::reshape(ctx, t144, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t146 = ggml_relu(ctx, t145); // relu net.mot_backbone.model.language_model.layers.1.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t147 = ggml_sqr(ctx, t146); // sqr net.mot_backbone.model.language_model.layers.1.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t148 = ggml_compiler::ops::reshape(ctx, t147, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t149 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_1_mlp_gen_down_proj_weight, t148); // mul_mat net.mot_backbone.model.language_model.layers.1.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t150 = ggml_compiler::ops::reshape(ctx, t149, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.1.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t151 = ggml_add(ctx, t140, t150); // add torch_export.py:54 in forward - ggml_tensor * t152 = ggml_rms_norm(ctx, t151, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t153 = ggml_mul(ctx, t152, net_mot_backbone_model_language_model_layers_2_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t154 = ggml_compiler::ops::reshape(ctx, t153, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t155 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_q_proj_gen_weight, t154); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t156 = ggml_compiler::ops::reshape(ctx, t155, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t157 = ggml_rms_norm(ctx, t156, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t158 = ggml_mul(ctx, t157, net_mot_backbone_model_language_model_layers_2_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t159 = ggml_permute(ctx, t158, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t160 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_k_proj_gen_weight, t154); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t161 = ggml_compiler::ops::reshape(ctx, t160, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t162 = ggml_rms_norm(ctx, t161, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t163 = ggml_mul(ctx, t162, net_mot_backbone_model_language_model_layers_2_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t164 = ggml_permute(ctx, t163, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t165 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_v_proj_gen_weight, t154); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t166 = ggml_compiler::ops::reshape(ctx, t165, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t167 = ggml_permute(ctx, t166, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t168 = ggml_cont(ctx, t159); // cont torch_export.py:54 in forward - ggml_tensor * t169 = ggml_mul(ctx, t168, t42); // mul torch_export.py:54 in forward - ggml_tensor * t170 = ggml_compiler::ops::slice(ctx, t159, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t171 = ggml_cont(ctx, t170); // cont torch_export.py:54 in forward - ggml_tensor * t172 = ggml_neg(ctx, t171); // neg torch_export.py:54 in forward - ggml_tensor * t173 = ggml_compiler::ops::slice(ctx, t159, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t174 = ggml_cont(ctx, t173); // cont torch_export.py:54 in forward - ggml_tensor * t175 = ggml_concat(ctx, t172, t174, 0); // concat torch_export.py:54 in forward - ggml_tensor * t176 = ggml_mul(ctx, t175, t51); // mul torch_export.py:54 in forward - ggml_tensor * t177 = ggml_add(ctx, t169, t176); // add torch_export.py:54 in forward - ggml_tensor * t178 = ggml_cont(ctx, t164); // cont torch_export.py:54 in forward - ggml_tensor * t179 = ggml_mul(ctx, t178, t42); // mul torch_export.py:54 in forward - ggml_tensor * t180 = ggml_compiler::ops::slice(ctx, t164, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t181 = ggml_cont(ctx, t180); // cont torch_export.py:54 in forward - ggml_tensor * t182 = ggml_neg(ctx, t181); // neg torch_export.py:54 in forward - ggml_tensor * t183 = ggml_compiler::ops::slice(ctx, t164, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t184 = ggml_cont(ctx, t183); // cont torch_export.py:54 in forward - ggml_tensor * t185 = ggml_concat(ctx, t182, t184, 0); // concat torch_export.py:54 in forward - ggml_tensor * t186 = ggml_mul(ctx, t185, t51); // mul torch_export.py:54 in forward - ggml_tensor * t187 = ggml_add(ctx, t179, t186); // add torch_export.py:54 in forward - ggml_tensor * t188 = ggml_concat(ctx, in12, t187, 1); // concat torch_export.py:54 in forward - ggml_tensor * t189 = ggml_cont(ctx, t167); // cont torch_export.py:54 in forward - ggml_tensor * t190 = ggml_concat(ctx, in13, t189, 1); // concat torch_export.py:54 in forward - ggml_tensor * t191 = ggml_compiler::ops::mul_mat(ctx, t188, t177, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t192 = ggml_soft_max_ext(ctx, t191, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t193 = ggml_permute(ctx, t190, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t194 = ggml_cont(ctx, t193); // cont torch_export.py:54 in forward - ggml_tensor * t195 = ggml_compiler::ops::mul_mat(ctx, t194, t192, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t196 = ggml_permute(ctx, t195, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t197 = ggml_cont(ctx, t196); // cont torch_export.py:54 in forward - ggml_tensor * t198 = ggml_compiler::ops::reshape(ctx, t197, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t199 = ggml_compiler::ops::reshape(ctx, t198, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t200 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_self_attn_o_proj_gen_weight, t199); // mul_mat net.mot_backbone.model.language_model.layers.2.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t201 = ggml_compiler::ops::reshape(ctx, t200, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t202 = ggml_add(ctx, t151, t201); // add torch_export.py:54 in forward - ggml_tensor * t203 = ggml_rms_norm(ctx, t202, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.2.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t204 = ggml_mul(ctx, t203, net_mot_backbone_model_language_model_layers_2_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.2.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t205 = ggml_compiler::ops::reshape(ctx, t204, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t206 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_gen_up_proj_weight, t205); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t207 = ggml_compiler::ops::reshape(ctx, t206, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t208 = ggml_relu(ctx, t207); // relu net.mot_backbone.model.language_model.layers.2.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t209 = ggml_sqr(ctx, t208); // sqr net.mot_backbone.model.language_model.layers.2.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t210 = ggml_compiler::ops::reshape(ctx, t209, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t211 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_2_mlp_gen_down_proj_weight, t210); // mul_mat net.mot_backbone.model.language_model.layers.2.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t212 = ggml_compiler::ops::reshape(ctx, t211, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.2.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t213 = ggml_add(ctx, t202, t212); // add torch_export.py:54 in forward - ggml_tensor * t214 = ggml_rms_norm(ctx, t213, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t215 = ggml_mul(ctx, t214, net_mot_backbone_model_language_model_layers_3_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t216 = ggml_compiler::ops::reshape(ctx, t215, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t217 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_q_proj_gen_weight, t216); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t218 = ggml_compiler::ops::reshape(ctx, t217, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t219 = ggml_rms_norm(ctx, t218, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t220 = ggml_mul(ctx, t219, net_mot_backbone_model_language_model_layers_3_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t221 = ggml_permute(ctx, t220, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t222 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_k_proj_gen_weight, t216); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t223 = ggml_compiler::ops::reshape(ctx, t222, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t224 = ggml_rms_norm(ctx, t223, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t225 = ggml_mul(ctx, t224, net_mot_backbone_model_language_model_layers_3_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t226 = ggml_permute(ctx, t225, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t227 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_v_proj_gen_weight, t216); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t228 = ggml_compiler::ops::reshape(ctx, t227, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t229 = ggml_permute(ctx, t228, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t230 = ggml_cont(ctx, t221); // cont torch_export.py:54 in forward - ggml_tensor * t231 = ggml_mul(ctx, t230, t42); // mul torch_export.py:54 in forward - ggml_tensor * t232 = ggml_compiler::ops::slice(ctx, t221, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t233 = ggml_cont(ctx, t232); // cont torch_export.py:54 in forward - ggml_tensor * t234 = ggml_neg(ctx, t233); // neg torch_export.py:54 in forward - ggml_tensor * t235 = ggml_compiler::ops::slice(ctx, t221, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t236 = ggml_cont(ctx, t235); // cont torch_export.py:54 in forward - ggml_tensor * t237 = ggml_concat(ctx, t234, t236, 0); // concat torch_export.py:54 in forward - ggml_tensor * t238 = ggml_mul(ctx, t237, t51); // mul torch_export.py:54 in forward - ggml_tensor * t239 = ggml_add(ctx, t231, t238); // add torch_export.py:54 in forward - ggml_tensor * t240 = ggml_cont(ctx, t226); // cont torch_export.py:54 in forward - ggml_tensor * t241 = ggml_mul(ctx, t240, t42); // mul torch_export.py:54 in forward - ggml_tensor * t242 = ggml_compiler::ops::slice(ctx, t226, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t243 = ggml_cont(ctx, t242); // cont torch_export.py:54 in forward - ggml_tensor * t244 = ggml_neg(ctx, t243); // neg torch_export.py:54 in forward - ggml_tensor * t245 = ggml_compiler::ops::slice(ctx, t226, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t246 = ggml_cont(ctx, t245); // cont torch_export.py:54 in forward - ggml_tensor * t247 = ggml_concat(ctx, t244, t246, 0); // concat torch_export.py:54 in forward - ggml_tensor * t248 = ggml_mul(ctx, t247, t51); // mul torch_export.py:54 in forward - ggml_tensor * t249 = ggml_add(ctx, t241, t248); // add torch_export.py:54 in forward - ggml_tensor * t250 = ggml_concat(ctx, in14, t249, 1); // concat torch_export.py:54 in forward - ggml_tensor * t251 = ggml_cont(ctx, t229); // cont torch_export.py:54 in forward - ggml_tensor * t252 = ggml_concat(ctx, in15, t251, 1); // concat torch_export.py:54 in forward - ggml_tensor * t253 = ggml_compiler::ops::mul_mat(ctx, t250, t239, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t254 = ggml_soft_max_ext(ctx, t253, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t255 = ggml_permute(ctx, t252, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t256 = ggml_cont(ctx, t255); // cont torch_export.py:54 in forward - ggml_tensor * t257 = ggml_compiler::ops::mul_mat(ctx, t256, t254, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t258 = ggml_permute(ctx, t257, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t259 = ggml_cont(ctx, t258); // cont torch_export.py:54 in forward - ggml_tensor * t260 = ggml_compiler::ops::reshape(ctx, t259, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t261 = ggml_compiler::ops::reshape(ctx, t260, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t262 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_self_attn_o_proj_gen_weight, t261); // mul_mat net.mot_backbone.model.language_model.layers.3.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t263 = ggml_compiler::ops::reshape(ctx, t262, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t264 = ggml_add(ctx, t213, t263); // add torch_export.py:54 in forward - ggml_tensor * t265 = ggml_rms_norm(ctx, t264, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.3.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t266 = ggml_mul(ctx, t265, net_mot_backbone_model_language_model_layers_3_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.3.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t267 = ggml_compiler::ops::reshape(ctx, t266, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t268 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_gen_up_proj_weight, t267); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t269 = ggml_compiler::ops::reshape(ctx, t268, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t270 = ggml_relu(ctx, t269); // relu net.mot_backbone.model.language_model.layers.3.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t271 = ggml_sqr(ctx, t270); // sqr net.mot_backbone.model.language_model.layers.3.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t272 = ggml_compiler::ops::reshape(ctx, t271, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t273 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_3_mlp_gen_down_proj_weight, t272); // mul_mat net.mot_backbone.model.language_model.layers.3.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t274 = ggml_compiler::ops::reshape(ctx, t273, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.3.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t275 = ggml_add(ctx, t264, t274); // add torch_export.py:54 in forward - ggml_tensor * t276 = ggml_rms_norm(ctx, t275, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t277 = ggml_mul(ctx, t276, net_mot_backbone_model_language_model_layers_4_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t278 = ggml_compiler::ops::reshape(ctx, t277, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t279 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_q_proj_gen_weight, t278); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t280 = ggml_compiler::ops::reshape(ctx, t279, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t281 = ggml_rms_norm(ctx, t280, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t282 = ggml_mul(ctx, t281, net_mot_backbone_model_language_model_layers_4_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t283 = ggml_permute(ctx, t282, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t284 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_k_proj_gen_weight, t278); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t285 = ggml_compiler::ops::reshape(ctx, t284, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t286 = ggml_rms_norm(ctx, t285, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t287 = ggml_mul(ctx, t286, net_mot_backbone_model_language_model_layers_4_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t288 = ggml_permute(ctx, t287, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t289 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_v_proj_gen_weight, t278); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t290 = ggml_compiler::ops::reshape(ctx, t289, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t291 = ggml_permute(ctx, t290, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t292 = ggml_cont(ctx, t283); // cont torch_export.py:54 in forward - ggml_tensor * t293 = ggml_mul(ctx, t292, t42); // mul torch_export.py:54 in forward - ggml_tensor * t294 = ggml_compiler::ops::slice(ctx, t283, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t295 = ggml_cont(ctx, t294); // cont torch_export.py:54 in forward - ggml_tensor * t296 = ggml_neg(ctx, t295); // neg torch_export.py:54 in forward - ggml_tensor * t297 = ggml_compiler::ops::slice(ctx, t283, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t298 = ggml_cont(ctx, t297); // cont torch_export.py:54 in forward - ggml_tensor * t299 = ggml_concat(ctx, t296, t298, 0); // concat torch_export.py:54 in forward - ggml_tensor * t300 = ggml_mul(ctx, t299, t51); // mul torch_export.py:54 in forward - ggml_tensor * t301 = ggml_add(ctx, t293, t300); // add torch_export.py:54 in forward - ggml_tensor * t302 = ggml_cont(ctx, t288); // cont torch_export.py:54 in forward - ggml_tensor * t303 = ggml_mul(ctx, t302, t42); // mul torch_export.py:54 in forward - ggml_tensor * t304 = ggml_compiler::ops::slice(ctx, t288, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t305 = ggml_cont(ctx, t304); // cont torch_export.py:54 in forward - ggml_tensor * t306 = ggml_neg(ctx, t305); // neg torch_export.py:54 in forward - ggml_tensor * t307 = ggml_compiler::ops::slice(ctx, t288, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t308 = ggml_cont(ctx, t307); // cont torch_export.py:54 in forward - ggml_tensor * t309 = ggml_concat(ctx, t306, t308, 0); // concat torch_export.py:54 in forward - ggml_tensor * t310 = ggml_mul(ctx, t309, t51); // mul torch_export.py:54 in forward - ggml_tensor * t311 = ggml_add(ctx, t303, t310); // add torch_export.py:54 in forward - ggml_tensor * t312 = ggml_concat(ctx, in16, t311, 1); // concat torch_export.py:54 in forward - ggml_tensor * t313 = ggml_cont(ctx, t291); // cont torch_export.py:54 in forward - ggml_tensor * t314 = ggml_concat(ctx, in17, t313, 1); // concat torch_export.py:54 in forward - ggml_tensor * t315 = ggml_compiler::ops::mul_mat(ctx, t312, t301, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t316 = ggml_soft_max_ext(ctx, t315, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t317 = ggml_permute(ctx, t314, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t318 = ggml_cont(ctx, t317); // cont torch_export.py:54 in forward - ggml_tensor * t319 = ggml_compiler::ops::mul_mat(ctx, t318, t316, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t320 = ggml_permute(ctx, t319, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t321 = ggml_cont(ctx, t320); // cont torch_export.py:54 in forward - ggml_tensor * t322 = ggml_compiler::ops::reshape(ctx, t321, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t323 = ggml_compiler::ops::reshape(ctx, t322, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t324 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_self_attn_o_proj_gen_weight, t323); // mul_mat net.mot_backbone.model.language_model.layers.4.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t325 = ggml_compiler::ops::reshape(ctx, t324, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t326 = ggml_add(ctx, t275, t325); // add torch_export.py:54 in forward - ggml_tensor * t327 = ggml_rms_norm(ctx, t326, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.4.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t328 = ggml_mul(ctx, t327, net_mot_backbone_model_language_model_layers_4_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.4.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t329 = ggml_compiler::ops::reshape(ctx, t328, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t330 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_gen_up_proj_weight, t329); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t331 = ggml_compiler::ops::reshape(ctx, t330, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t332 = ggml_relu(ctx, t331); // relu net.mot_backbone.model.language_model.layers.4.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t333 = ggml_sqr(ctx, t332); // sqr net.mot_backbone.model.language_model.layers.4.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t334 = ggml_compiler::ops::reshape(ctx, t333, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t335 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_4_mlp_gen_down_proj_weight, t334); // mul_mat net.mot_backbone.model.language_model.layers.4.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t336 = ggml_compiler::ops::reshape(ctx, t335, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.4.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t337 = ggml_add(ctx, t326, t336); // add torch_export.py:54 in forward - ggml_tensor * t338 = ggml_rms_norm(ctx, t337, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t339 = ggml_mul(ctx, t338, net_mot_backbone_model_language_model_layers_5_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t340 = ggml_compiler::ops::reshape(ctx, t339, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t341 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_q_proj_gen_weight, t340); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t342 = ggml_compiler::ops::reshape(ctx, t341, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t343 = ggml_rms_norm(ctx, t342, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t344 = ggml_mul(ctx, t343, net_mot_backbone_model_language_model_layers_5_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t345 = ggml_permute(ctx, t344, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t346 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_k_proj_gen_weight, t340); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t347 = ggml_compiler::ops::reshape(ctx, t346, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t348 = ggml_rms_norm(ctx, t347, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t349 = ggml_mul(ctx, t348, net_mot_backbone_model_language_model_layers_5_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t350 = ggml_permute(ctx, t349, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t351 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_v_proj_gen_weight, t340); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t352 = ggml_compiler::ops::reshape(ctx, t351, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t353 = ggml_permute(ctx, t352, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t354 = ggml_cont(ctx, t345); // cont torch_export.py:54 in forward - ggml_tensor * t355 = ggml_mul(ctx, t354, t42); // mul torch_export.py:54 in forward - ggml_tensor * t356 = ggml_compiler::ops::slice(ctx, t345, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t357 = ggml_cont(ctx, t356); // cont torch_export.py:54 in forward - ggml_tensor * t358 = ggml_neg(ctx, t357); // neg torch_export.py:54 in forward - ggml_tensor * t359 = ggml_compiler::ops::slice(ctx, t345, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t360 = ggml_cont(ctx, t359); // cont torch_export.py:54 in forward - ggml_tensor * t361 = ggml_concat(ctx, t358, t360, 0); // concat torch_export.py:54 in forward - ggml_tensor * t362 = ggml_mul(ctx, t361, t51); // mul torch_export.py:54 in forward - ggml_tensor * t363 = ggml_add(ctx, t355, t362); // add torch_export.py:54 in forward - ggml_tensor * t364 = ggml_cont(ctx, t350); // cont torch_export.py:54 in forward - ggml_tensor * t365 = ggml_mul(ctx, t364, t42); // mul torch_export.py:54 in forward - ggml_tensor * t366 = ggml_compiler::ops::slice(ctx, t350, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t367 = ggml_cont(ctx, t366); // cont torch_export.py:54 in forward - ggml_tensor * t368 = ggml_neg(ctx, t367); // neg torch_export.py:54 in forward - ggml_tensor * t369 = ggml_compiler::ops::slice(ctx, t350, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t370 = ggml_cont(ctx, t369); // cont torch_export.py:54 in forward - ggml_tensor * t371 = ggml_concat(ctx, t368, t370, 0); // concat torch_export.py:54 in forward - ggml_tensor * t372 = ggml_mul(ctx, t371, t51); // mul torch_export.py:54 in forward - ggml_tensor * t373 = ggml_add(ctx, t365, t372); // add torch_export.py:54 in forward - ggml_tensor * t374 = ggml_concat(ctx, in18, t373, 1); // concat torch_export.py:54 in forward - ggml_tensor * t375 = ggml_cont(ctx, t353); // cont torch_export.py:54 in forward - ggml_tensor * t376 = ggml_concat(ctx, in19, t375, 1); // concat torch_export.py:54 in forward - ggml_tensor * t377 = ggml_compiler::ops::mul_mat(ctx, t374, t363, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t378 = ggml_soft_max_ext(ctx, t377, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t379 = ggml_permute(ctx, t376, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t380 = ggml_cont(ctx, t379); // cont torch_export.py:54 in forward - ggml_tensor * t381 = ggml_compiler::ops::mul_mat(ctx, t380, t378, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t382 = ggml_permute(ctx, t381, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t383 = ggml_cont(ctx, t382); // cont torch_export.py:54 in forward - ggml_tensor * t384 = ggml_compiler::ops::reshape(ctx, t383, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t385 = ggml_compiler::ops::reshape(ctx, t384, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t386 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_self_attn_o_proj_gen_weight, t385); // mul_mat net.mot_backbone.model.language_model.layers.5.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t387 = ggml_compiler::ops::reshape(ctx, t386, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t388 = ggml_add(ctx, t337, t387); // add torch_export.py:54 in forward - ggml_tensor * t389 = ggml_rms_norm(ctx, t388, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.5.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t390 = ggml_mul(ctx, t389, net_mot_backbone_model_language_model_layers_5_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.5.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t391 = ggml_compiler::ops::reshape(ctx, t390, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t392 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_gen_up_proj_weight, t391); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t393 = ggml_compiler::ops::reshape(ctx, t392, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t394 = ggml_relu(ctx, t393); // relu net.mot_backbone.model.language_model.layers.5.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t395 = ggml_sqr(ctx, t394); // sqr net.mot_backbone.model.language_model.layers.5.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t396 = ggml_compiler::ops::reshape(ctx, t395, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t397 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_5_mlp_gen_down_proj_weight, t396); // mul_mat net.mot_backbone.model.language_model.layers.5.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t398 = ggml_compiler::ops::reshape(ctx, t397, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.5.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t399 = ggml_add(ctx, t388, t398); // add torch_export.py:54 in forward - ggml_tensor * t400 = ggml_rms_norm(ctx, t399, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t401 = ggml_mul(ctx, t400, net_mot_backbone_model_language_model_layers_6_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t402 = ggml_compiler::ops::reshape(ctx, t401, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t403 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_q_proj_gen_weight, t402); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t404 = ggml_compiler::ops::reshape(ctx, t403, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t405 = ggml_rms_norm(ctx, t404, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t406 = ggml_mul(ctx, t405, net_mot_backbone_model_language_model_layers_6_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t407 = ggml_permute(ctx, t406, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t408 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_k_proj_gen_weight, t402); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t409 = ggml_compiler::ops::reshape(ctx, t408, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t410 = ggml_rms_norm(ctx, t409, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t411 = ggml_mul(ctx, t410, net_mot_backbone_model_language_model_layers_6_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t412 = ggml_permute(ctx, t411, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t413 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_v_proj_gen_weight, t402); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t414 = ggml_compiler::ops::reshape(ctx, t413, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t415 = ggml_permute(ctx, t414, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t416 = ggml_cont(ctx, t407); // cont torch_export.py:54 in forward - ggml_tensor * t417 = ggml_mul(ctx, t416, t42); // mul torch_export.py:54 in forward - ggml_tensor * t418 = ggml_compiler::ops::slice(ctx, t407, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t419 = ggml_cont(ctx, t418); // cont torch_export.py:54 in forward - ggml_tensor * t420 = ggml_neg(ctx, t419); // neg torch_export.py:54 in forward - ggml_tensor * t421 = ggml_compiler::ops::slice(ctx, t407, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t422 = ggml_cont(ctx, t421); // cont torch_export.py:54 in forward - ggml_tensor * t423 = ggml_concat(ctx, t420, t422, 0); // concat torch_export.py:54 in forward - ggml_tensor * t424 = ggml_mul(ctx, t423, t51); // mul torch_export.py:54 in forward - ggml_tensor * t425 = ggml_add(ctx, t417, t424); // add torch_export.py:54 in forward - ggml_tensor * t426 = ggml_cont(ctx, t412); // cont torch_export.py:54 in forward - ggml_tensor * t427 = ggml_mul(ctx, t426, t42); // mul torch_export.py:54 in forward - ggml_tensor * t428 = ggml_compiler::ops::slice(ctx, t412, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t429 = ggml_cont(ctx, t428); // cont torch_export.py:54 in forward - ggml_tensor * t430 = ggml_neg(ctx, t429); // neg torch_export.py:54 in forward - ggml_tensor * t431 = ggml_compiler::ops::slice(ctx, t412, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t432 = ggml_cont(ctx, t431); // cont torch_export.py:54 in forward - ggml_tensor * t433 = ggml_concat(ctx, t430, t432, 0); // concat torch_export.py:54 in forward - ggml_tensor * t434 = ggml_mul(ctx, t433, t51); // mul torch_export.py:54 in forward - ggml_tensor * t435 = ggml_add(ctx, t427, t434); // add torch_export.py:54 in forward - ggml_tensor * t436 = ggml_concat(ctx, in20, t435, 1); // concat torch_export.py:54 in forward - ggml_tensor * t437 = ggml_cont(ctx, t415); // cont torch_export.py:54 in forward - ggml_tensor * t438 = ggml_concat(ctx, in21, t437, 1); // concat torch_export.py:54 in forward - ggml_tensor * t439 = ggml_compiler::ops::mul_mat(ctx, t436, t425, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t440 = ggml_soft_max_ext(ctx, t439, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t441 = ggml_permute(ctx, t438, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t442 = ggml_cont(ctx, t441); // cont torch_export.py:54 in forward - ggml_tensor * t443 = ggml_compiler::ops::mul_mat(ctx, t442, t440, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t444 = ggml_permute(ctx, t443, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t445 = ggml_cont(ctx, t444); // cont torch_export.py:54 in forward - ggml_tensor * t446 = ggml_compiler::ops::reshape(ctx, t445, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t447 = ggml_compiler::ops::reshape(ctx, t446, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t448 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_self_attn_o_proj_gen_weight, t447); // mul_mat net.mot_backbone.model.language_model.layers.6.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t449 = ggml_compiler::ops::reshape(ctx, t448, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t450 = ggml_add(ctx, t399, t449); // add torch_export.py:54 in forward - ggml_tensor * t451 = ggml_rms_norm(ctx, t450, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.6.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t452 = ggml_mul(ctx, t451, net_mot_backbone_model_language_model_layers_6_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.6.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t453 = ggml_compiler::ops::reshape(ctx, t452, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t454 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_gen_up_proj_weight, t453); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t455 = ggml_compiler::ops::reshape(ctx, t454, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t456 = ggml_relu(ctx, t455); // relu net.mot_backbone.model.language_model.layers.6.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t457 = ggml_sqr(ctx, t456); // sqr net.mot_backbone.model.language_model.layers.6.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t458 = ggml_compiler::ops::reshape(ctx, t457, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t459 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_6_mlp_gen_down_proj_weight, t458); // mul_mat net.mot_backbone.model.language_model.layers.6.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t460 = ggml_compiler::ops::reshape(ctx, t459, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.6.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t461 = ggml_add(ctx, t450, t460); // add torch_export.py:54 in forward - ggml_tensor * t462 = ggml_rms_norm(ctx, t461, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t463 = ggml_mul(ctx, t462, net_mot_backbone_model_language_model_layers_7_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t464 = ggml_compiler::ops::reshape(ctx, t463, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t465 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_q_proj_gen_weight, t464); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t466 = ggml_compiler::ops::reshape(ctx, t465, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t467 = ggml_rms_norm(ctx, t466, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t468 = ggml_mul(ctx, t467, net_mot_backbone_model_language_model_layers_7_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t469 = ggml_permute(ctx, t468, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t470 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_k_proj_gen_weight, t464); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t471 = ggml_compiler::ops::reshape(ctx, t470, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t472 = ggml_rms_norm(ctx, t471, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t473 = ggml_mul(ctx, t472, net_mot_backbone_model_language_model_layers_7_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t474 = ggml_permute(ctx, t473, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t475 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_v_proj_gen_weight, t464); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t476 = ggml_compiler::ops::reshape(ctx, t475, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t477 = ggml_permute(ctx, t476, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t478 = ggml_cont(ctx, t469); // cont torch_export.py:54 in forward - ggml_tensor * t479 = ggml_mul(ctx, t478, t42); // mul torch_export.py:54 in forward - ggml_tensor * t480 = ggml_compiler::ops::slice(ctx, t469, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t481 = ggml_cont(ctx, t480); // cont torch_export.py:54 in forward - ggml_tensor * t482 = ggml_neg(ctx, t481); // neg torch_export.py:54 in forward - ggml_tensor * t483 = ggml_compiler::ops::slice(ctx, t469, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t484 = ggml_cont(ctx, t483); // cont torch_export.py:54 in forward - ggml_tensor * t485 = ggml_concat(ctx, t482, t484, 0); // concat torch_export.py:54 in forward - ggml_tensor * t486 = ggml_mul(ctx, t485, t51); // mul torch_export.py:54 in forward - ggml_tensor * t487 = ggml_add(ctx, t479, t486); // add torch_export.py:54 in forward - ggml_tensor * t488 = ggml_cont(ctx, t474); // cont torch_export.py:54 in forward - ggml_tensor * t489 = ggml_mul(ctx, t488, t42); // mul torch_export.py:54 in forward - ggml_tensor * t490 = ggml_compiler::ops::slice(ctx, t474, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t491 = ggml_cont(ctx, t490); // cont torch_export.py:54 in forward - ggml_tensor * t492 = ggml_neg(ctx, t491); // neg torch_export.py:54 in forward - ggml_tensor * t493 = ggml_compiler::ops::slice(ctx, t474, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t494 = ggml_cont(ctx, t493); // cont torch_export.py:54 in forward - ggml_tensor * t495 = ggml_concat(ctx, t492, t494, 0); // concat torch_export.py:54 in forward - ggml_tensor * t496 = ggml_mul(ctx, t495, t51); // mul torch_export.py:54 in forward - ggml_tensor * t497 = ggml_add(ctx, t489, t496); // add torch_export.py:54 in forward - ggml_tensor * t498 = ggml_concat(ctx, in22, t497, 1); // concat torch_export.py:54 in forward - ggml_tensor * t499 = ggml_cont(ctx, t477); // cont torch_export.py:54 in forward - ggml_tensor * t500 = ggml_concat(ctx, in23, t499, 1); // concat torch_export.py:54 in forward - ggml_tensor * t501 = ggml_compiler::ops::mul_mat(ctx, t498, t487, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t502 = ggml_soft_max_ext(ctx, t501, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t503 = ggml_permute(ctx, t500, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t504 = ggml_cont(ctx, t503); // cont torch_export.py:54 in forward - ggml_tensor * t505 = ggml_compiler::ops::mul_mat(ctx, t504, t502, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t506 = ggml_permute(ctx, t505, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t507 = ggml_cont(ctx, t506); // cont torch_export.py:54 in forward - ggml_tensor * t508 = ggml_compiler::ops::reshape(ctx, t507, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t509 = ggml_compiler::ops::reshape(ctx, t508, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t510 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_self_attn_o_proj_gen_weight, t509); // mul_mat net.mot_backbone.model.language_model.layers.7.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t511 = ggml_compiler::ops::reshape(ctx, t510, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t512 = ggml_add(ctx, t461, t511); // add torch_export.py:54 in forward - ggml_tensor * t513 = ggml_rms_norm(ctx, t512, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.7.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t514 = ggml_mul(ctx, t513, net_mot_backbone_model_language_model_layers_7_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.7.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t515 = ggml_compiler::ops::reshape(ctx, t514, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t516 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_gen_up_proj_weight, t515); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t517 = ggml_compiler::ops::reshape(ctx, t516, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t518 = ggml_relu(ctx, t517); // relu net.mot_backbone.model.language_model.layers.7.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t519 = ggml_sqr(ctx, t518); // sqr net.mot_backbone.model.language_model.layers.7.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t520 = ggml_compiler::ops::reshape(ctx, t519, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t521 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_7_mlp_gen_down_proj_weight, t520); // mul_mat net.mot_backbone.model.language_model.layers.7.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t522 = ggml_compiler::ops::reshape(ctx, t521, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.7.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t523 = ggml_add(ctx, t512, t522); // add torch_export.py:54 in forward - ggml_tensor * t524 = ggml_rms_norm(ctx, t523, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t525 = ggml_mul(ctx, t524, net_mot_backbone_model_language_model_layers_8_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t526 = ggml_compiler::ops::reshape(ctx, t525, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t527 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_q_proj_gen_weight, t526); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t528 = ggml_compiler::ops::reshape(ctx, t527, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t529 = ggml_rms_norm(ctx, t528, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t530 = ggml_mul(ctx, t529, net_mot_backbone_model_language_model_layers_8_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t531 = ggml_permute(ctx, t530, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t532 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_k_proj_gen_weight, t526); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t533 = ggml_compiler::ops::reshape(ctx, t532, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t534 = ggml_rms_norm(ctx, t533, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t535 = ggml_mul(ctx, t534, net_mot_backbone_model_language_model_layers_8_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t536 = ggml_permute(ctx, t535, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t537 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_v_proj_gen_weight, t526); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t538 = ggml_compiler::ops::reshape(ctx, t537, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t539 = ggml_permute(ctx, t538, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t540 = ggml_cont(ctx, t531); // cont torch_export.py:54 in forward - ggml_tensor * t541 = ggml_mul(ctx, t540, t42); // mul torch_export.py:54 in forward - ggml_tensor * t542 = ggml_compiler::ops::slice(ctx, t531, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t543 = ggml_cont(ctx, t542); // cont torch_export.py:54 in forward - ggml_tensor * t544 = ggml_neg(ctx, t543); // neg torch_export.py:54 in forward - ggml_tensor * t545 = ggml_compiler::ops::slice(ctx, t531, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t546 = ggml_cont(ctx, t545); // cont torch_export.py:54 in forward - ggml_tensor * t547 = ggml_concat(ctx, t544, t546, 0); // concat torch_export.py:54 in forward - ggml_tensor * t548 = ggml_mul(ctx, t547, t51); // mul torch_export.py:54 in forward - ggml_tensor * t549 = ggml_add(ctx, t541, t548); // add torch_export.py:54 in forward - ggml_tensor * t550 = ggml_cont(ctx, t536); // cont torch_export.py:54 in forward - ggml_tensor * t551 = ggml_mul(ctx, t550, t42); // mul torch_export.py:54 in forward - ggml_tensor * t552 = ggml_compiler::ops::slice(ctx, t536, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t553 = ggml_cont(ctx, t552); // cont torch_export.py:54 in forward - ggml_tensor * t554 = ggml_neg(ctx, t553); // neg torch_export.py:54 in forward - ggml_tensor * t555 = ggml_compiler::ops::slice(ctx, t536, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t556 = ggml_cont(ctx, t555); // cont torch_export.py:54 in forward - ggml_tensor * t557 = ggml_concat(ctx, t554, t556, 0); // concat torch_export.py:54 in forward - ggml_tensor * t558 = ggml_mul(ctx, t557, t51); // mul torch_export.py:54 in forward - ggml_tensor * t559 = ggml_add(ctx, t551, t558); // add torch_export.py:54 in forward - ggml_tensor * t560 = ggml_concat(ctx, in24, t559, 1); // concat torch_export.py:54 in forward - ggml_tensor * t561 = ggml_cont(ctx, t539); // cont torch_export.py:54 in forward - ggml_tensor * t562 = ggml_concat(ctx, in25, t561, 1); // concat torch_export.py:54 in forward - ggml_tensor * t563 = ggml_compiler::ops::mul_mat(ctx, t560, t549, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t564 = ggml_soft_max_ext(ctx, t563, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t565 = ggml_permute(ctx, t562, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t566 = ggml_cont(ctx, t565); // cont torch_export.py:54 in forward - ggml_tensor * t567 = ggml_compiler::ops::mul_mat(ctx, t566, t564, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t568 = ggml_permute(ctx, t567, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t569 = ggml_cont(ctx, t568); // cont torch_export.py:54 in forward - ggml_tensor * t570 = ggml_compiler::ops::reshape(ctx, t569, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t571 = ggml_compiler::ops::reshape(ctx, t570, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t572 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_self_attn_o_proj_gen_weight, t571); // mul_mat net.mot_backbone.model.language_model.layers.8.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t573 = ggml_compiler::ops::reshape(ctx, t572, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t574 = ggml_add(ctx, t523, t573); // add torch_export.py:54 in forward - ggml_tensor * t575 = ggml_rms_norm(ctx, t574, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.8.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t576 = ggml_mul(ctx, t575, net_mot_backbone_model_language_model_layers_8_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.8.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t577 = ggml_compiler::ops::reshape(ctx, t576, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t578 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_gen_up_proj_weight, t577); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t579 = ggml_compiler::ops::reshape(ctx, t578, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t580 = ggml_relu(ctx, t579); // relu net.mot_backbone.model.language_model.layers.8.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t581 = ggml_sqr(ctx, t580); // sqr net.mot_backbone.model.language_model.layers.8.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t582 = ggml_compiler::ops::reshape(ctx, t581, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t583 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_8_mlp_gen_down_proj_weight, t582); // mul_mat net.mot_backbone.model.language_model.layers.8.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t584 = ggml_compiler::ops::reshape(ctx, t583, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.8.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t585 = ggml_add(ctx, t574, t584); // add torch_export.py:54 in forward - ggml_tensor * t586 = ggml_rms_norm(ctx, t585, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t587 = ggml_mul(ctx, t586, net_mot_backbone_model_language_model_layers_9_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t588 = ggml_compiler::ops::reshape(ctx, t587, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t589 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_q_proj_gen_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t590 = ggml_compiler::ops::reshape(ctx, t589, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t591 = ggml_rms_norm(ctx, t590, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t592 = ggml_mul(ctx, t591, net_mot_backbone_model_language_model_layers_9_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t593 = ggml_permute(ctx, t592, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t594 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_k_proj_gen_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t595 = ggml_compiler::ops::reshape(ctx, t594, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t596 = ggml_rms_norm(ctx, t595, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t597 = ggml_mul(ctx, t596, net_mot_backbone_model_language_model_layers_9_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t598 = ggml_permute(ctx, t597, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t599 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_v_proj_gen_weight, t588); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t600 = ggml_compiler::ops::reshape(ctx, t599, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t601 = ggml_permute(ctx, t600, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t602 = ggml_cont(ctx, t593); // cont torch_export.py:54 in forward - ggml_tensor * t603 = ggml_mul(ctx, t602, t42); // mul torch_export.py:54 in forward - ggml_tensor * t604 = ggml_compiler::ops::slice(ctx, t593, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t605 = ggml_cont(ctx, t604); // cont torch_export.py:54 in forward - ggml_tensor * t606 = ggml_neg(ctx, t605); // neg torch_export.py:54 in forward - ggml_tensor * t607 = ggml_compiler::ops::slice(ctx, t593, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t608 = ggml_cont(ctx, t607); // cont torch_export.py:54 in forward - ggml_tensor * t609 = ggml_concat(ctx, t606, t608, 0); // concat torch_export.py:54 in forward - ggml_tensor * t610 = ggml_mul(ctx, t609, t51); // mul torch_export.py:54 in forward - ggml_tensor * t611 = ggml_add(ctx, t603, t610); // add torch_export.py:54 in forward - ggml_tensor * t612 = ggml_cont(ctx, t598); // cont torch_export.py:54 in forward - ggml_tensor * t613 = ggml_mul(ctx, t612, t42); // mul torch_export.py:54 in forward - ggml_tensor * t614 = ggml_compiler::ops::slice(ctx, t598, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t615 = ggml_cont(ctx, t614); // cont torch_export.py:54 in forward - ggml_tensor * t616 = ggml_neg(ctx, t615); // neg torch_export.py:54 in forward - ggml_tensor * t617 = ggml_compiler::ops::slice(ctx, t598, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t618 = ggml_cont(ctx, t617); // cont torch_export.py:54 in forward - ggml_tensor * t619 = ggml_concat(ctx, t616, t618, 0); // concat torch_export.py:54 in forward - ggml_tensor * t620 = ggml_mul(ctx, t619, t51); // mul torch_export.py:54 in forward - ggml_tensor * t621 = ggml_add(ctx, t613, t620); // add torch_export.py:54 in forward - ggml_tensor * t622 = ggml_concat(ctx, in26, t621, 1); // concat torch_export.py:54 in forward - ggml_tensor * t623 = ggml_cont(ctx, t601); // cont torch_export.py:54 in forward - ggml_tensor * t624 = ggml_concat(ctx, in27, t623, 1); // concat torch_export.py:54 in forward - ggml_tensor * t625 = ggml_compiler::ops::mul_mat(ctx, t622, t611, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t626 = ggml_soft_max_ext(ctx, t625, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t627 = ggml_permute(ctx, t624, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t628 = ggml_cont(ctx, t627); // cont torch_export.py:54 in forward - ggml_tensor * t629 = ggml_compiler::ops::mul_mat(ctx, t628, t626, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t630 = ggml_permute(ctx, t629, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t631 = ggml_cont(ctx, t630); // cont torch_export.py:54 in forward - ggml_tensor * t632 = ggml_compiler::ops::reshape(ctx, t631, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t633 = ggml_compiler::ops::reshape(ctx, t632, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t634 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_self_attn_o_proj_gen_weight, t633); // mul_mat net.mot_backbone.model.language_model.layers.9.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t635 = ggml_compiler::ops::reshape(ctx, t634, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t636 = ggml_add(ctx, t585, t635); // add torch_export.py:54 in forward - ggml_tensor * t637 = ggml_rms_norm(ctx, t636, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.9.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t638 = ggml_mul(ctx, t637, net_mot_backbone_model_language_model_layers_9_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.9.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t639 = ggml_compiler::ops::reshape(ctx, t638, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t640 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_gen_up_proj_weight, t639); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t641 = ggml_compiler::ops::reshape(ctx, t640, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t642 = ggml_relu(ctx, t641); // relu net.mot_backbone.model.language_model.layers.9.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t643 = ggml_sqr(ctx, t642); // sqr net.mot_backbone.model.language_model.layers.9.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t644 = ggml_compiler::ops::reshape(ctx, t643, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t645 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_9_mlp_gen_down_proj_weight, t644); // mul_mat net.mot_backbone.model.language_model.layers.9.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t646 = ggml_compiler::ops::reshape(ctx, t645, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.9.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t647 = ggml_add(ctx, t636, t646); // add torch_export.py:54 in forward - ggml_tensor * t648 = ggml_rms_norm(ctx, t647, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t649 = ggml_mul(ctx, t648, net_mot_backbone_model_language_model_layers_10_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t650 = ggml_compiler::ops::reshape(ctx, t649, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t651 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_q_proj_gen_weight, t650); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t652 = ggml_compiler::ops::reshape(ctx, t651, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t653 = ggml_rms_norm(ctx, t652, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t654 = ggml_mul(ctx, t653, net_mot_backbone_model_language_model_layers_10_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t655 = ggml_permute(ctx, t654, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t656 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_k_proj_gen_weight, t650); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t657 = ggml_compiler::ops::reshape(ctx, t656, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t658 = ggml_rms_norm(ctx, t657, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t659 = ggml_mul(ctx, t658, net_mot_backbone_model_language_model_layers_10_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t660 = ggml_permute(ctx, t659, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t661 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_v_proj_gen_weight, t650); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t662 = ggml_compiler::ops::reshape(ctx, t661, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t663 = ggml_permute(ctx, t662, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t664 = ggml_cont(ctx, t655); // cont torch_export.py:54 in forward - ggml_tensor * t665 = ggml_mul(ctx, t664, t42); // mul torch_export.py:54 in forward - ggml_tensor * t666 = ggml_compiler::ops::slice(ctx, t655, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t667 = ggml_cont(ctx, t666); // cont torch_export.py:54 in forward - ggml_tensor * t668 = ggml_neg(ctx, t667); // neg torch_export.py:54 in forward - ggml_tensor * t669 = ggml_compiler::ops::slice(ctx, t655, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t670 = ggml_cont(ctx, t669); // cont torch_export.py:54 in forward - ggml_tensor * t671 = ggml_concat(ctx, t668, t670, 0); // concat torch_export.py:54 in forward - ggml_tensor * t672 = ggml_mul(ctx, t671, t51); // mul torch_export.py:54 in forward - ggml_tensor * t673 = ggml_add(ctx, t665, t672); // add torch_export.py:54 in forward - ggml_tensor * t674 = ggml_cont(ctx, t660); // cont torch_export.py:54 in forward - ggml_tensor * t675 = ggml_mul(ctx, t674, t42); // mul torch_export.py:54 in forward - ggml_tensor * t676 = ggml_compiler::ops::slice(ctx, t660, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t677 = ggml_cont(ctx, t676); // cont torch_export.py:54 in forward - ggml_tensor * t678 = ggml_neg(ctx, t677); // neg torch_export.py:54 in forward - ggml_tensor * t679 = ggml_compiler::ops::slice(ctx, t660, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t680 = ggml_cont(ctx, t679); // cont torch_export.py:54 in forward - ggml_tensor * t681 = ggml_concat(ctx, t678, t680, 0); // concat torch_export.py:54 in forward - ggml_tensor * t682 = ggml_mul(ctx, t681, t51); // mul torch_export.py:54 in forward - ggml_tensor * t683 = ggml_add(ctx, t675, t682); // add torch_export.py:54 in forward - ggml_tensor * t684 = ggml_concat(ctx, in28, t683, 1); // concat torch_export.py:54 in forward - ggml_tensor * t685 = ggml_cont(ctx, t663); // cont torch_export.py:54 in forward - ggml_tensor * t686 = ggml_concat(ctx, in29, t685, 1); // concat torch_export.py:54 in forward - ggml_tensor * t687 = ggml_compiler::ops::mul_mat(ctx, t684, t673, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t688 = ggml_soft_max_ext(ctx, t687, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t689 = ggml_permute(ctx, t686, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t690 = ggml_cont(ctx, t689); // cont torch_export.py:54 in forward - ggml_tensor * t691 = ggml_compiler::ops::mul_mat(ctx, t690, t688, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t692 = ggml_permute(ctx, t691, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t693 = ggml_cont(ctx, t692); // cont torch_export.py:54 in forward - ggml_tensor * t694 = ggml_compiler::ops::reshape(ctx, t693, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t695 = ggml_compiler::ops::reshape(ctx, t694, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t696 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_self_attn_o_proj_gen_weight, t695); // mul_mat net.mot_backbone.model.language_model.layers.10.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t697 = ggml_compiler::ops::reshape(ctx, t696, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t698 = ggml_add(ctx, t647, t697); // add torch_export.py:54 in forward - ggml_tensor * t699 = ggml_rms_norm(ctx, t698, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.10.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t700 = ggml_mul(ctx, t699, net_mot_backbone_model_language_model_layers_10_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.10.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t701 = ggml_compiler::ops::reshape(ctx, t700, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t702 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_gen_up_proj_weight, t701); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t703 = ggml_compiler::ops::reshape(ctx, t702, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t704 = ggml_relu(ctx, t703); // relu net.mot_backbone.model.language_model.layers.10.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t705 = ggml_sqr(ctx, t704); // sqr net.mot_backbone.model.language_model.layers.10.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t706 = ggml_compiler::ops::reshape(ctx, t705, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t707 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_10_mlp_gen_down_proj_weight, t706); // mul_mat net.mot_backbone.model.language_model.layers.10.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t708 = ggml_compiler::ops::reshape(ctx, t707, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.10.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t709 = ggml_add(ctx, t698, t708); // add torch_export.py:54 in forward - ggml_tensor * t710 = ggml_rms_norm(ctx, t709, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t711 = ggml_mul(ctx, t710, net_mot_backbone_model_language_model_layers_11_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t712 = ggml_compiler::ops::reshape(ctx, t711, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t713 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_q_proj_gen_weight, t712); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t714 = ggml_compiler::ops::reshape(ctx, t713, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t715 = ggml_rms_norm(ctx, t714, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t716 = ggml_mul(ctx, t715, net_mot_backbone_model_language_model_layers_11_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t717 = ggml_permute(ctx, t716, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t718 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_k_proj_gen_weight, t712); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t719 = ggml_compiler::ops::reshape(ctx, t718, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t720 = ggml_rms_norm(ctx, t719, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t721 = ggml_mul(ctx, t720, net_mot_backbone_model_language_model_layers_11_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t722 = ggml_permute(ctx, t721, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t723 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_v_proj_gen_weight, t712); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t724 = ggml_compiler::ops::reshape(ctx, t723, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t725 = ggml_permute(ctx, t724, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t726 = ggml_cont(ctx, t717); // cont torch_export.py:54 in forward - ggml_tensor * t727 = ggml_mul(ctx, t726, t42); // mul torch_export.py:54 in forward - ggml_tensor * t728 = ggml_compiler::ops::slice(ctx, t717, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t729 = ggml_cont(ctx, t728); // cont torch_export.py:54 in forward - ggml_tensor * t730 = ggml_neg(ctx, t729); // neg torch_export.py:54 in forward - ggml_tensor * t731 = ggml_compiler::ops::slice(ctx, t717, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t732 = ggml_cont(ctx, t731); // cont torch_export.py:54 in forward - ggml_tensor * t733 = ggml_concat(ctx, t730, t732, 0); // concat torch_export.py:54 in forward - ggml_tensor * t734 = ggml_mul(ctx, t733, t51); // mul torch_export.py:54 in forward - ggml_tensor * t735 = ggml_add(ctx, t727, t734); // add torch_export.py:54 in forward - ggml_tensor * t736 = ggml_cont(ctx, t722); // cont torch_export.py:54 in forward - ggml_tensor * t737 = ggml_mul(ctx, t736, t42); // mul torch_export.py:54 in forward - ggml_tensor * t738 = ggml_compiler::ops::slice(ctx, t722, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t739 = ggml_cont(ctx, t738); // cont torch_export.py:54 in forward - ggml_tensor * t740 = ggml_neg(ctx, t739); // neg torch_export.py:54 in forward - ggml_tensor * t741 = ggml_compiler::ops::slice(ctx, t722, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t742 = ggml_cont(ctx, t741); // cont torch_export.py:54 in forward - ggml_tensor * t743 = ggml_concat(ctx, t740, t742, 0); // concat torch_export.py:54 in forward - ggml_tensor * t744 = ggml_mul(ctx, t743, t51); // mul torch_export.py:54 in forward - ggml_tensor * t745 = ggml_add(ctx, t737, t744); // add torch_export.py:54 in forward - ggml_tensor * t746 = ggml_concat(ctx, in30, t745, 1); // concat torch_export.py:54 in forward - ggml_tensor * t747 = ggml_cont(ctx, t725); // cont torch_export.py:54 in forward - ggml_tensor * t748 = ggml_concat(ctx, in31, t747, 1); // concat torch_export.py:54 in forward - ggml_tensor * t749 = ggml_compiler::ops::mul_mat(ctx, t746, t735, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t750 = ggml_soft_max_ext(ctx, t749, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t751 = ggml_permute(ctx, t748, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t752 = ggml_cont(ctx, t751); // cont torch_export.py:54 in forward - ggml_tensor * t753 = ggml_compiler::ops::mul_mat(ctx, t752, t750, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t754 = ggml_permute(ctx, t753, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t755 = ggml_cont(ctx, t754); // cont torch_export.py:54 in forward - ggml_tensor * t756 = ggml_compiler::ops::reshape(ctx, t755, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t757 = ggml_compiler::ops::reshape(ctx, t756, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t758 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_self_attn_o_proj_gen_weight, t757); // mul_mat net.mot_backbone.model.language_model.layers.11.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t759 = ggml_compiler::ops::reshape(ctx, t758, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t760 = ggml_add(ctx, t709, t759); // add torch_export.py:54 in forward - ggml_tensor * t761 = ggml_rms_norm(ctx, t760, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.11.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t762 = ggml_mul(ctx, t761, net_mot_backbone_model_language_model_layers_11_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.11.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t763 = ggml_compiler::ops::reshape(ctx, t762, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t764 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_gen_up_proj_weight, t763); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t765 = ggml_compiler::ops::reshape(ctx, t764, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t766 = ggml_relu(ctx, t765); // relu net.mot_backbone.model.language_model.layers.11.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t767 = ggml_sqr(ctx, t766); // sqr net.mot_backbone.model.language_model.layers.11.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t768 = ggml_compiler::ops::reshape(ctx, t767, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t769 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_11_mlp_gen_down_proj_weight, t768); // mul_mat net.mot_backbone.model.language_model.layers.11.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t770 = ggml_compiler::ops::reshape(ctx, t769, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.11.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t771 = ggml_add(ctx, t760, t770); // add torch_export.py:54 in forward - ggml_tensor * t772 = ggml_rms_norm(ctx, t771, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t773 = ggml_mul(ctx, t772, net_mot_backbone_model_language_model_layers_12_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t774 = ggml_compiler::ops::reshape(ctx, t773, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t775 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_q_proj_gen_weight, t774); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t776 = ggml_compiler::ops::reshape(ctx, t775, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t777 = ggml_rms_norm(ctx, t776, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t778 = ggml_mul(ctx, t777, net_mot_backbone_model_language_model_layers_12_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t779 = ggml_permute(ctx, t778, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t780 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_k_proj_gen_weight, t774); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t781 = ggml_compiler::ops::reshape(ctx, t780, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t782 = ggml_rms_norm(ctx, t781, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t783 = ggml_mul(ctx, t782, net_mot_backbone_model_language_model_layers_12_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t784 = ggml_permute(ctx, t783, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t785 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_v_proj_gen_weight, t774); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t786 = ggml_compiler::ops::reshape(ctx, t785, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t787 = ggml_permute(ctx, t786, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t788 = ggml_cont(ctx, t779); // cont torch_export.py:54 in forward - ggml_tensor * t789 = ggml_mul(ctx, t788, t42); // mul torch_export.py:54 in forward - ggml_tensor * t790 = ggml_compiler::ops::slice(ctx, t779, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t791 = ggml_cont(ctx, t790); // cont torch_export.py:54 in forward - ggml_tensor * t792 = ggml_neg(ctx, t791); // neg torch_export.py:54 in forward - ggml_tensor * t793 = ggml_compiler::ops::slice(ctx, t779, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t794 = ggml_cont(ctx, t793); // cont torch_export.py:54 in forward - ggml_tensor * t795 = ggml_concat(ctx, t792, t794, 0); // concat torch_export.py:54 in forward - ggml_tensor * t796 = ggml_mul(ctx, t795, t51); // mul torch_export.py:54 in forward - ggml_tensor * t797 = ggml_add(ctx, t789, t796); // add torch_export.py:54 in forward - ggml_tensor * t798 = ggml_cont(ctx, t784); // cont torch_export.py:54 in forward - ggml_tensor * t799 = ggml_mul(ctx, t798, t42); // mul torch_export.py:54 in forward - ggml_tensor * t800 = ggml_compiler::ops::slice(ctx, t784, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t801 = ggml_cont(ctx, t800); // cont torch_export.py:54 in forward - ggml_tensor * t802 = ggml_neg(ctx, t801); // neg torch_export.py:54 in forward - ggml_tensor * t803 = ggml_compiler::ops::slice(ctx, t784, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t804 = ggml_cont(ctx, t803); // cont torch_export.py:54 in forward - ggml_tensor * t805 = ggml_concat(ctx, t802, t804, 0); // concat torch_export.py:54 in forward - ggml_tensor * t806 = ggml_mul(ctx, t805, t51); // mul torch_export.py:54 in forward - ggml_tensor * t807 = ggml_add(ctx, t799, t806); // add torch_export.py:54 in forward - ggml_tensor * t808 = ggml_concat(ctx, in32, t807, 1); // concat torch_export.py:54 in forward - ggml_tensor * t809 = ggml_cont(ctx, t787); // cont torch_export.py:54 in forward - ggml_tensor * t810 = ggml_concat(ctx, in33, t809, 1); // concat torch_export.py:54 in forward - ggml_tensor * t811 = ggml_compiler::ops::mul_mat(ctx, t808, t797, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t812 = ggml_soft_max_ext(ctx, t811, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t813 = ggml_permute(ctx, t810, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t814 = ggml_cont(ctx, t813); // cont torch_export.py:54 in forward - ggml_tensor * t815 = ggml_compiler::ops::mul_mat(ctx, t814, t812, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t816 = ggml_permute(ctx, t815, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t817 = ggml_cont(ctx, t816); // cont torch_export.py:54 in forward - ggml_tensor * t818 = ggml_compiler::ops::reshape(ctx, t817, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t819 = ggml_compiler::ops::reshape(ctx, t818, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t820 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_self_attn_o_proj_gen_weight, t819); // mul_mat net.mot_backbone.model.language_model.layers.12.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t821 = ggml_compiler::ops::reshape(ctx, t820, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t822 = ggml_add(ctx, t771, t821); // add torch_export.py:54 in forward - ggml_tensor * t823 = ggml_rms_norm(ctx, t822, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.12.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t824 = ggml_mul(ctx, t823, net_mot_backbone_model_language_model_layers_12_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.12.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t825 = ggml_compiler::ops::reshape(ctx, t824, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t826 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_gen_up_proj_weight, t825); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t827 = ggml_compiler::ops::reshape(ctx, t826, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t828 = ggml_relu(ctx, t827); // relu net.mot_backbone.model.language_model.layers.12.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t829 = ggml_sqr(ctx, t828); // sqr net.mot_backbone.model.language_model.layers.12.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t830 = ggml_compiler::ops::reshape(ctx, t829, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t831 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_12_mlp_gen_down_proj_weight, t830); // mul_mat net.mot_backbone.model.language_model.layers.12.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t832 = ggml_compiler::ops::reshape(ctx, t831, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.12.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t833 = ggml_add(ctx, t822, t832); // add torch_export.py:54 in forward - ggml_tensor * t834 = ggml_rms_norm(ctx, t833, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t835 = ggml_mul(ctx, t834, net_mot_backbone_model_language_model_layers_13_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t836 = ggml_compiler::ops::reshape(ctx, t835, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t837 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_q_proj_gen_weight, t836); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t838 = ggml_compiler::ops::reshape(ctx, t837, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t839 = ggml_rms_norm(ctx, t838, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t840 = ggml_mul(ctx, t839, net_mot_backbone_model_language_model_layers_13_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t841 = ggml_permute(ctx, t840, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t842 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_k_proj_gen_weight, t836); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t843 = ggml_compiler::ops::reshape(ctx, t842, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t844 = ggml_rms_norm(ctx, t843, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t845 = ggml_mul(ctx, t844, net_mot_backbone_model_language_model_layers_13_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t846 = ggml_permute(ctx, t845, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t847 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_v_proj_gen_weight, t836); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t848 = ggml_compiler::ops::reshape(ctx, t847, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t849 = ggml_permute(ctx, t848, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t850 = ggml_cont(ctx, t841); // cont torch_export.py:54 in forward - ggml_tensor * t851 = ggml_mul(ctx, t850, t42); // mul torch_export.py:54 in forward - ggml_tensor * t852 = ggml_compiler::ops::slice(ctx, t841, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t853 = ggml_cont(ctx, t852); // cont torch_export.py:54 in forward - ggml_tensor * t854 = ggml_neg(ctx, t853); // neg torch_export.py:54 in forward - ggml_tensor * t855 = ggml_compiler::ops::slice(ctx, t841, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t856 = ggml_cont(ctx, t855); // cont torch_export.py:54 in forward - ggml_tensor * t857 = ggml_concat(ctx, t854, t856, 0); // concat torch_export.py:54 in forward - ggml_tensor * t858 = ggml_mul(ctx, t857, t51); // mul torch_export.py:54 in forward - ggml_tensor * t859 = ggml_add(ctx, t851, t858); // add torch_export.py:54 in forward - ggml_tensor * t860 = ggml_cont(ctx, t846); // cont torch_export.py:54 in forward - ggml_tensor * t861 = ggml_mul(ctx, t860, t42); // mul torch_export.py:54 in forward - ggml_tensor * t862 = ggml_compiler::ops::slice(ctx, t846, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t863 = ggml_cont(ctx, t862); // cont torch_export.py:54 in forward - ggml_tensor * t864 = ggml_neg(ctx, t863); // neg torch_export.py:54 in forward - ggml_tensor * t865 = ggml_compiler::ops::slice(ctx, t846, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t866 = ggml_cont(ctx, t865); // cont torch_export.py:54 in forward - ggml_tensor * t867 = ggml_concat(ctx, t864, t866, 0); // concat torch_export.py:54 in forward - ggml_tensor * t868 = ggml_mul(ctx, t867, t51); // mul torch_export.py:54 in forward - ggml_tensor * t869 = ggml_add(ctx, t861, t868); // add torch_export.py:54 in forward - ggml_tensor * t870 = ggml_concat(ctx, in34, t869, 1); // concat torch_export.py:54 in forward - ggml_tensor * t871 = ggml_cont(ctx, t849); // cont torch_export.py:54 in forward - ggml_tensor * t872 = ggml_concat(ctx, in35, t871, 1); // concat torch_export.py:54 in forward - ggml_tensor * t873 = ggml_compiler::ops::mul_mat(ctx, t870, t859, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t874 = ggml_soft_max_ext(ctx, t873, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t875 = ggml_permute(ctx, t872, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t876 = ggml_cont(ctx, t875); // cont torch_export.py:54 in forward - ggml_tensor * t877 = ggml_compiler::ops::mul_mat(ctx, t876, t874, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t878 = ggml_permute(ctx, t877, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t879 = ggml_cont(ctx, t878); // cont torch_export.py:54 in forward - ggml_tensor * t880 = ggml_compiler::ops::reshape(ctx, t879, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t881 = ggml_compiler::ops::reshape(ctx, t880, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t882 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_self_attn_o_proj_gen_weight, t881); // mul_mat net.mot_backbone.model.language_model.layers.13.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t883 = ggml_compiler::ops::reshape(ctx, t882, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t884 = ggml_add(ctx, t833, t883); // add torch_export.py:54 in forward - ggml_tensor * t885 = ggml_rms_norm(ctx, t884, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.13.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t886 = ggml_mul(ctx, t885, net_mot_backbone_model_language_model_layers_13_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.13.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t887 = ggml_compiler::ops::reshape(ctx, t886, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t888 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_gen_up_proj_weight, t887); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t889 = ggml_compiler::ops::reshape(ctx, t888, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t890 = ggml_relu(ctx, t889); // relu net.mot_backbone.model.language_model.layers.13.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t891 = ggml_sqr(ctx, t890); // sqr net.mot_backbone.model.language_model.layers.13.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t892 = ggml_compiler::ops::reshape(ctx, t891, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t893 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_13_mlp_gen_down_proj_weight, t892); // mul_mat net.mot_backbone.model.language_model.layers.13.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t894 = ggml_compiler::ops::reshape(ctx, t893, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.13.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t895 = ggml_add(ctx, t884, t894); // add torch_export.py:54 in forward - ggml_tensor * t896 = ggml_rms_norm(ctx, t895, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t897 = ggml_mul(ctx, t896, net_mot_backbone_model_language_model_layers_14_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t898 = ggml_compiler::ops::reshape(ctx, t897, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t899 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_q_proj_gen_weight, t898); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t900 = ggml_compiler::ops::reshape(ctx, t899, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t901 = ggml_rms_norm(ctx, t900, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t902 = ggml_mul(ctx, t901, net_mot_backbone_model_language_model_layers_14_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t903 = ggml_permute(ctx, t902, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t904 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_k_proj_gen_weight, t898); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t905 = ggml_compiler::ops::reshape(ctx, t904, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t906 = ggml_rms_norm(ctx, t905, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t907 = ggml_mul(ctx, t906, net_mot_backbone_model_language_model_layers_14_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t908 = ggml_permute(ctx, t907, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t909 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_v_proj_gen_weight, t898); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t910 = ggml_compiler::ops::reshape(ctx, t909, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t911 = ggml_permute(ctx, t910, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t912 = ggml_cont(ctx, t903); // cont torch_export.py:54 in forward - ggml_tensor * t913 = ggml_mul(ctx, t912, t42); // mul torch_export.py:54 in forward - ggml_tensor * t914 = ggml_compiler::ops::slice(ctx, t903, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t915 = ggml_cont(ctx, t914); // cont torch_export.py:54 in forward - ggml_tensor * t916 = ggml_neg(ctx, t915); // neg torch_export.py:54 in forward - ggml_tensor * t917 = ggml_compiler::ops::slice(ctx, t903, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t918 = ggml_cont(ctx, t917); // cont torch_export.py:54 in forward - ggml_tensor * t919 = ggml_concat(ctx, t916, t918, 0); // concat torch_export.py:54 in forward - ggml_tensor * t920 = ggml_mul(ctx, t919, t51); // mul torch_export.py:54 in forward - ggml_tensor * t921 = ggml_add(ctx, t913, t920); // add torch_export.py:54 in forward - ggml_tensor * t922 = ggml_cont(ctx, t908); // cont torch_export.py:54 in forward - ggml_tensor * t923 = ggml_mul(ctx, t922, t42); // mul torch_export.py:54 in forward - ggml_tensor * t924 = ggml_compiler::ops::slice(ctx, t908, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t925 = ggml_cont(ctx, t924); // cont torch_export.py:54 in forward - ggml_tensor * t926 = ggml_neg(ctx, t925); // neg torch_export.py:54 in forward - ggml_tensor * t927 = ggml_compiler::ops::slice(ctx, t908, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t928 = ggml_cont(ctx, t927); // cont torch_export.py:54 in forward - ggml_tensor * t929 = ggml_concat(ctx, t926, t928, 0); // concat torch_export.py:54 in forward - ggml_tensor * t930 = ggml_mul(ctx, t929, t51); // mul torch_export.py:54 in forward - ggml_tensor * t931 = ggml_add(ctx, t923, t930); // add torch_export.py:54 in forward - ggml_tensor * t932 = ggml_concat(ctx, in36, t931, 1); // concat torch_export.py:54 in forward - ggml_tensor * t933 = ggml_cont(ctx, t911); // cont torch_export.py:54 in forward - ggml_tensor * t934 = ggml_concat(ctx, in37, t933, 1); // concat torch_export.py:54 in forward - ggml_tensor * t935 = ggml_compiler::ops::mul_mat(ctx, t932, t921, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t936 = ggml_soft_max_ext(ctx, t935, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t937 = ggml_permute(ctx, t934, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t938 = ggml_cont(ctx, t937); // cont torch_export.py:54 in forward - ggml_tensor * t939 = ggml_compiler::ops::mul_mat(ctx, t938, t936, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t940 = ggml_permute(ctx, t939, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t941 = ggml_cont(ctx, t940); // cont torch_export.py:54 in forward - ggml_tensor * t942 = ggml_compiler::ops::reshape(ctx, t941, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t943 = ggml_compiler::ops::reshape(ctx, t942, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t944 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_self_attn_o_proj_gen_weight, t943); // mul_mat net.mot_backbone.model.language_model.layers.14.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t945 = ggml_compiler::ops::reshape(ctx, t944, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t946 = ggml_add(ctx, t895, t945); // add torch_export.py:54 in forward - ggml_tensor * t947 = ggml_rms_norm(ctx, t946, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.14.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t948 = ggml_mul(ctx, t947, net_mot_backbone_model_language_model_layers_14_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.14.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t949 = ggml_compiler::ops::reshape(ctx, t948, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t950 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_gen_up_proj_weight, t949); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t951 = ggml_compiler::ops::reshape(ctx, t950, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t952 = ggml_relu(ctx, t951); // relu net.mot_backbone.model.language_model.layers.14.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t953 = ggml_sqr(ctx, t952); // sqr net.mot_backbone.model.language_model.layers.14.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t954 = ggml_compiler::ops::reshape(ctx, t953, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t955 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_14_mlp_gen_down_proj_weight, t954); // mul_mat net.mot_backbone.model.language_model.layers.14.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t956 = ggml_compiler::ops::reshape(ctx, t955, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.14.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t957 = ggml_add(ctx, t946, t956); // add torch_export.py:54 in forward - ggml_tensor * t958 = ggml_rms_norm(ctx, t957, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t959 = ggml_mul(ctx, t958, net_mot_backbone_model_language_model_layers_15_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t960 = ggml_compiler::ops::reshape(ctx, t959, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t961 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_q_proj_gen_weight, t960); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t962 = ggml_compiler::ops::reshape(ctx, t961, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t963 = ggml_rms_norm(ctx, t962, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t964 = ggml_mul(ctx, t963, net_mot_backbone_model_language_model_layers_15_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t965 = ggml_permute(ctx, t964, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t966 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_k_proj_gen_weight, t960); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t967 = ggml_compiler::ops::reshape(ctx, t966, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t968 = ggml_rms_norm(ctx, t967, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t969 = ggml_mul(ctx, t968, net_mot_backbone_model_language_model_layers_15_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t970 = ggml_permute(ctx, t969, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t971 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_v_proj_gen_weight, t960); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t972 = ggml_compiler::ops::reshape(ctx, t971, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t973 = ggml_permute(ctx, t972, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t974 = ggml_cont(ctx, t965); // cont torch_export.py:54 in forward - ggml_tensor * t975 = ggml_mul(ctx, t974, t42); // mul torch_export.py:54 in forward - ggml_tensor * t976 = ggml_compiler::ops::slice(ctx, t965, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t977 = ggml_cont(ctx, t976); // cont torch_export.py:54 in forward - ggml_tensor * t978 = ggml_neg(ctx, t977); // neg torch_export.py:54 in forward - ggml_tensor * t979 = ggml_compiler::ops::slice(ctx, t965, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t980 = ggml_cont(ctx, t979); // cont torch_export.py:54 in forward - ggml_tensor * t981 = ggml_concat(ctx, t978, t980, 0); // concat torch_export.py:54 in forward - ggml_tensor * t982 = ggml_mul(ctx, t981, t51); // mul torch_export.py:54 in forward - ggml_tensor * t983 = ggml_add(ctx, t975, t982); // add torch_export.py:54 in forward - ggml_tensor * t984 = ggml_cont(ctx, t970); // cont torch_export.py:54 in forward - ggml_tensor * t985 = ggml_mul(ctx, t984, t42); // mul torch_export.py:54 in forward - ggml_tensor * t986 = ggml_compiler::ops::slice(ctx, t970, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t987 = ggml_cont(ctx, t986); // cont torch_export.py:54 in forward - ggml_tensor * t988 = ggml_neg(ctx, t987); // neg torch_export.py:54 in forward - ggml_tensor * t989 = ggml_compiler::ops::slice(ctx, t970, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t990 = ggml_cont(ctx, t989); // cont torch_export.py:54 in forward - ggml_tensor * t991 = ggml_concat(ctx, t988, t990, 0); // concat torch_export.py:54 in forward - ggml_tensor * t992 = ggml_mul(ctx, t991, t51); // mul torch_export.py:54 in forward - ggml_tensor * t993 = ggml_add(ctx, t985, t992); // add torch_export.py:54 in forward - ggml_tensor * t994 = ggml_concat(ctx, in38, t993, 1); // concat torch_export.py:54 in forward - ggml_tensor * t995 = ggml_cont(ctx, t973); // cont torch_export.py:54 in forward - ggml_tensor * t996 = ggml_concat(ctx, in39, t995, 1); // concat torch_export.py:54 in forward - ggml_tensor * t997 = ggml_compiler::ops::mul_mat(ctx, t994, t983, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t998 = ggml_soft_max_ext(ctx, t997, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t999 = ggml_permute(ctx, t996, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1000 = ggml_cont(ctx, t999); // cont torch_export.py:54 in forward - ggml_tensor * t1001 = ggml_compiler::ops::mul_mat(ctx, t1000, t998, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1002 = ggml_permute(ctx, t1001, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1003 = ggml_cont(ctx, t1002); // cont torch_export.py:54 in forward - ggml_tensor * t1004 = ggml_compiler::ops::reshape(ctx, t1003, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1005 = ggml_compiler::ops::reshape(ctx, t1004, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1006 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_self_attn_o_proj_gen_weight, t1005); // mul_mat net.mot_backbone.model.language_model.layers.15.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1007 = ggml_compiler::ops::reshape(ctx, t1006, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1008 = ggml_add(ctx, t957, t1007); // add torch_export.py:54 in forward - ggml_tensor * t1009 = ggml_rms_norm(ctx, t1008, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.15.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1010 = ggml_mul(ctx, t1009, net_mot_backbone_model_language_model_layers_15_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.15.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1011 = ggml_compiler::ops::reshape(ctx, t1010, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1012 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_gen_up_proj_weight, t1011); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1013 = ggml_compiler::ops::reshape(ctx, t1012, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1014 = ggml_relu(ctx, t1013); // relu net.mot_backbone.model.language_model.layers.15.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1015 = ggml_sqr(ctx, t1014); // sqr net.mot_backbone.model.language_model.layers.15.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1016 = ggml_compiler::ops::reshape(ctx, t1015, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1017 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_15_mlp_gen_down_proj_weight, t1016); // mul_mat net.mot_backbone.model.language_model.layers.15.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1018 = ggml_compiler::ops::reshape(ctx, t1017, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.15.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1019 = ggml_add(ctx, t1008, t1018); // add torch_export.py:54 in forward - ggml_tensor * t1020 = ggml_rms_norm(ctx, t1019, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1021 = ggml_mul(ctx, t1020, net_mot_backbone_model_language_model_layers_16_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1022 = ggml_compiler::ops::reshape(ctx, t1021, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1023 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_q_proj_gen_weight, t1022); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1024 = ggml_compiler::ops::reshape(ctx, t1023, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1025 = ggml_rms_norm(ctx, t1024, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1026 = ggml_mul(ctx, t1025, net_mot_backbone_model_language_model_layers_16_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1027 = ggml_permute(ctx, t1026, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1028 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_k_proj_gen_weight, t1022); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1029 = ggml_compiler::ops::reshape(ctx, t1028, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1030 = ggml_rms_norm(ctx, t1029, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1031 = ggml_mul(ctx, t1030, net_mot_backbone_model_language_model_layers_16_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1032 = ggml_permute(ctx, t1031, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1033 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_v_proj_gen_weight, t1022); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1034 = ggml_compiler::ops::reshape(ctx, t1033, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1035 = ggml_permute(ctx, t1034, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1036 = ggml_cont(ctx, t1027); // cont torch_export.py:54 in forward - ggml_tensor * t1037 = ggml_mul(ctx, t1036, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1038 = ggml_compiler::ops::slice(ctx, t1027, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1039 = ggml_cont(ctx, t1038); // cont torch_export.py:54 in forward - ggml_tensor * t1040 = ggml_neg(ctx, t1039); // neg torch_export.py:54 in forward - ggml_tensor * t1041 = ggml_compiler::ops::slice(ctx, t1027, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1042 = ggml_cont(ctx, t1041); // cont torch_export.py:54 in forward - ggml_tensor * t1043 = ggml_concat(ctx, t1040, t1042, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1044 = ggml_mul(ctx, t1043, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1045 = ggml_add(ctx, t1037, t1044); // add torch_export.py:54 in forward - ggml_tensor * t1046 = ggml_cont(ctx, t1032); // cont torch_export.py:54 in forward - ggml_tensor * t1047 = ggml_mul(ctx, t1046, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1048 = ggml_compiler::ops::slice(ctx, t1032, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1049 = ggml_cont(ctx, t1048); // cont torch_export.py:54 in forward - ggml_tensor * t1050 = ggml_neg(ctx, t1049); // neg torch_export.py:54 in forward - ggml_tensor * t1051 = ggml_compiler::ops::slice(ctx, t1032, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1052 = ggml_cont(ctx, t1051); // cont torch_export.py:54 in forward - ggml_tensor * t1053 = ggml_concat(ctx, t1050, t1052, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1054 = ggml_mul(ctx, t1053, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1055 = ggml_add(ctx, t1047, t1054); // add torch_export.py:54 in forward - ggml_tensor * t1056 = ggml_concat(ctx, in40, t1055, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1057 = ggml_cont(ctx, t1035); // cont torch_export.py:54 in forward - ggml_tensor * t1058 = ggml_concat(ctx, in41, t1057, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1059 = ggml_compiler::ops::mul_mat(ctx, t1056, t1045, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1060 = ggml_soft_max_ext(ctx, t1059, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1061 = ggml_permute(ctx, t1058, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1062 = ggml_cont(ctx, t1061); // cont torch_export.py:54 in forward - ggml_tensor * t1063 = ggml_compiler::ops::mul_mat(ctx, t1062, t1060, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1064 = ggml_permute(ctx, t1063, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1065 = ggml_cont(ctx, t1064); // cont torch_export.py:54 in forward - ggml_tensor * t1066 = ggml_compiler::ops::reshape(ctx, t1065, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1067 = ggml_compiler::ops::reshape(ctx, t1066, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1068 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_self_attn_o_proj_gen_weight, t1067); // mul_mat net.mot_backbone.model.language_model.layers.16.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1069 = ggml_compiler::ops::reshape(ctx, t1068, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1070 = ggml_add(ctx, t1019, t1069); // add torch_export.py:54 in forward - ggml_tensor * t1071 = ggml_rms_norm(ctx, t1070, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.16.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1072 = ggml_mul(ctx, t1071, net_mot_backbone_model_language_model_layers_16_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.16.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1073 = ggml_compiler::ops::reshape(ctx, t1072, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1074 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_gen_up_proj_weight, t1073); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1075 = ggml_compiler::ops::reshape(ctx, t1074, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1076 = ggml_relu(ctx, t1075); // relu net.mot_backbone.model.language_model.layers.16.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1077 = ggml_sqr(ctx, t1076); // sqr net.mot_backbone.model.language_model.layers.16.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1078 = ggml_compiler::ops::reshape(ctx, t1077, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1079 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_16_mlp_gen_down_proj_weight, t1078); // mul_mat net.mot_backbone.model.language_model.layers.16.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1080 = ggml_compiler::ops::reshape(ctx, t1079, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.16.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1081 = ggml_add(ctx, t1070, t1080); // add torch_export.py:54 in forward - ggml_tensor * t1082 = ggml_rms_norm(ctx, t1081, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1083 = ggml_mul(ctx, t1082, net_mot_backbone_model_language_model_layers_17_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1084 = ggml_compiler::ops::reshape(ctx, t1083, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1085 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_q_proj_gen_weight, t1084); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1086 = ggml_compiler::ops::reshape(ctx, t1085, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1087 = ggml_rms_norm(ctx, t1086, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1088 = ggml_mul(ctx, t1087, net_mot_backbone_model_language_model_layers_17_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1089 = ggml_permute(ctx, t1088, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1090 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_k_proj_gen_weight, t1084); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1091 = ggml_compiler::ops::reshape(ctx, t1090, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1092 = ggml_rms_norm(ctx, t1091, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1093 = ggml_mul(ctx, t1092, net_mot_backbone_model_language_model_layers_17_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1094 = ggml_permute(ctx, t1093, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1095 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_v_proj_gen_weight, t1084); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1096 = ggml_compiler::ops::reshape(ctx, t1095, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1097 = ggml_permute(ctx, t1096, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1098 = ggml_cont(ctx, t1089); // cont torch_export.py:54 in forward - ggml_tensor * t1099 = ggml_mul(ctx, t1098, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1100 = ggml_compiler::ops::slice(ctx, t1089, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1101 = ggml_cont(ctx, t1100); // cont torch_export.py:54 in forward - ggml_tensor * t1102 = ggml_neg(ctx, t1101); // neg torch_export.py:54 in forward - ggml_tensor * t1103 = ggml_compiler::ops::slice(ctx, t1089, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1104 = ggml_cont(ctx, t1103); // cont torch_export.py:54 in forward - ggml_tensor * t1105 = ggml_concat(ctx, t1102, t1104, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1106 = ggml_mul(ctx, t1105, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1107 = ggml_add(ctx, t1099, t1106); // add torch_export.py:54 in forward - ggml_tensor * t1108 = ggml_cont(ctx, t1094); // cont torch_export.py:54 in forward - ggml_tensor * t1109 = ggml_mul(ctx, t1108, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1110 = ggml_compiler::ops::slice(ctx, t1094, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1111 = ggml_cont(ctx, t1110); // cont torch_export.py:54 in forward - ggml_tensor * t1112 = ggml_neg(ctx, t1111); // neg torch_export.py:54 in forward - ggml_tensor * t1113 = ggml_compiler::ops::slice(ctx, t1094, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1114 = ggml_cont(ctx, t1113); // cont torch_export.py:54 in forward - ggml_tensor * t1115 = ggml_concat(ctx, t1112, t1114, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1116 = ggml_mul(ctx, t1115, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1117 = ggml_add(ctx, t1109, t1116); // add torch_export.py:54 in forward - ggml_tensor * t1118 = ggml_concat(ctx, in42, t1117, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1119 = ggml_cont(ctx, t1097); // cont torch_export.py:54 in forward - ggml_tensor * t1120 = ggml_concat(ctx, in43, t1119, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1121 = ggml_compiler::ops::mul_mat(ctx, t1118, t1107, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1122 = ggml_soft_max_ext(ctx, t1121, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1123 = ggml_permute(ctx, t1120, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1124 = ggml_cont(ctx, t1123); // cont torch_export.py:54 in forward - ggml_tensor * t1125 = ggml_compiler::ops::mul_mat(ctx, t1124, t1122, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1126 = ggml_permute(ctx, t1125, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1127 = ggml_cont(ctx, t1126); // cont torch_export.py:54 in forward - ggml_tensor * t1128 = ggml_compiler::ops::reshape(ctx, t1127, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1129 = ggml_compiler::ops::reshape(ctx, t1128, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1130 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_self_attn_o_proj_gen_weight, t1129); // mul_mat net.mot_backbone.model.language_model.layers.17.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1131 = ggml_compiler::ops::reshape(ctx, t1130, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1132 = ggml_add(ctx, t1081, t1131); // add torch_export.py:54 in forward - ggml_tensor * t1133 = ggml_rms_norm(ctx, t1132, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.17.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1134 = ggml_mul(ctx, t1133, net_mot_backbone_model_language_model_layers_17_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.17.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1135 = ggml_compiler::ops::reshape(ctx, t1134, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1136 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_gen_up_proj_weight, t1135); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1137 = ggml_compiler::ops::reshape(ctx, t1136, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1138 = ggml_relu(ctx, t1137); // relu net.mot_backbone.model.language_model.layers.17.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1139 = ggml_sqr(ctx, t1138); // sqr net.mot_backbone.model.language_model.layers.17.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1140 = ggml_compiler::ops::reshape(ctx, t1139, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1141 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_17_mlp_gen_down_proj_weight, t1140); // mul_mat net.mot_backbone.model.language_model.layers.17.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1142 = ggml_compiler::ops::reshape(ctx, t1141, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.17.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1143 = ggml_add(ctx, t1132, t1142); // add torch_export.py:54 in forward - ggml_tensor * t1144 = ggml_rms_norm(ctx, t1143, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1145 = ggml_mul(ctx, t1144, net_mot_backbone_model_language_model_layers_18_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1146 = ggml_compiler::ops::reshape(ctx, t1145, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1147 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_q_proj_gen_weight, t1146); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1148 = ggml_compiler::ops::reshape(ctx, t1147, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1149 = ggml_rms_norm(ctx, t1148, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1150 = ggml_mul(ctx, t1149, net_mot_backbone_model_language_model_layers_18_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1151 = ggml_permute(ctx, t1150, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1152 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_k_proj_gen_weight, t1146); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1153 = ggml_compiler::ops::reshape(ctx, t1152, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1154 = ggml_rms_norm(ctx, t1153, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1155 = ggml_mul(ctx, t1154, net_mot_backbone_model_language_model_layers_18_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1156 = ggml_permute(ctx, t1155, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1157 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_v_proj_gen_weight, t1146); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1158 = ggml_compiler::ops::reshape(ctx, t1157, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1159 = ggml_permute(ctx, t1158, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1160 = ggml_cont(ctx, t1151); // cont torch_export.py:54 in forward - ggml_tensor * t1161 = ggml_mul(ctx, t1160, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1162 = ggml_compiler::ops::slice(ctx, t1151, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1163 = ggml_cont(ctx, t1162); // cont torch_export.py:54 in forward - ggml_tensor * t1164 = ggml_neg(ctx, t1163); // neg torch_export.py:54 in forward - ggml_tensor * t1165 = ggml_compiler::ops::slice(ctx, t1151, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1166 = ggml_cont(ctx, t1165); // cont torch_export.py:54 in forward - ggml_tensor * t1167 = ggml_concat(ctx, t1164, t1166, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1168 = ggml_mul(ctx, t1167, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1169 = ggml_add(ctx, t1161, t1168); // add torch_export.py:54 in forward - ggml_tensor * t1170 = ggml_cont(ctx, t1156); // cont torch_export.py:54 in forward - ggml_tensor * t1171 = ggml_mul(ctx, t1170, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1172 = ggml_compiler::ops::slice(ctx, t1156, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1173 = ggml_cont(ctx, t1172); // cont torch_export.py:54 in forward - ggml_tensor * t1174 = ggml_neg(ctx, t1173); // neg torch_export.py:54 in forward - ggml_tensor * t1175 = ggml_compiler::ops::slice(ctx, t1156, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1176 = ggml_cont(ctx, t1175); // cont torch_export.py:54 in forward - ggml_tensor * t1177 = ggml_concat(ctx, t1174, t1176, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1178 = ggml_mul(ctx, t1177, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1179 = ggml_add(ctx, t1171, t1178); // add torch_export.py:54 in forward - ggml_tensor * t1180 = ggml_concat(ctx, in44, t1179, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1181 = ggml_cont(ctx, t1159); // cont torch_export.py:54 in forward - ggml_tensor * t1182 = ggml_concat(ctx, in45, t1181, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1183 = ggml_compiler::ops::mul_mat(ctx, t1180, t1169, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1184 = ggml_soft_max_ext(ctx, t1183, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1185 = ggml_permute(ctx, t1182, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1186 = ggml_cont(ctx, t1185); // cont torch_export.py:54 in forward - ggml_tensor * t1187 = ggml_compiler::ops::mul_mat(ctx, t1186, t1184, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1188 = ggml_permute(ctx, t1187, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1189 = ggml_cont(ctx, t1188); // cont torch_export.py:54 in forward - ggml_tensor * t1190 = ggml_compiler::ops::reshape(ctx, t1189, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1191 = ggml_compiler::ops::reshape(ctx, t1190, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1192 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_self_attn_o_proj_gen_weight, t1191); // mul_mat net.mot_backbone.model.language_model.layers.18.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1193 = ggml_compiler::ops::reshape(ctx, t1192, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1194 = ggml_add(ctx, t1143, t1193); // add torch_export.py:54 in forward - ggml_tensor * t1195 = ggml_rms_norm(ctx, t1194, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.18.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1196 = ggml_mul(ctx, t1195, net_mot_backbone_model_language_model_layers_18_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.18.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1197 = ggml_compiler::ops::reshape(ctx, t1196, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1198 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_gen_up_proj_weight, t1197); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1199 = ggml_compiler::ops::reshape(ctx, t1198, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1200 = ggml_relu(ctx, t1199); // relu net.mot_backbone.model.language_model.layers.18.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1201 = ggml_sqr(ctx, t1200); // sqr net.mot_backbone.model.language_model.layers.18.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1202 = ggml_compiler::ops::reshape(ctx, t1201, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1203 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_18_mlp_gen_down_proj_weight, t1202); // mul_mat net.mot_backbone.model.language_model.layers.18.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1204 = ggml_compiler::ops::reshape(ctx, t1203, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.18.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1205 = ggml_add(ctx, t1194, t1204); // add torch_export.py:54 in forward - ggml_tensor * t1206 = ggml_rms_norm(ctx, t1205, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1207 = ggml_mul(ctx, t1206, net_mot_backbone_model_language_model_layers_19_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1208 = ggml_compiler::ops::reshape(ctx, t1207, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1209 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_q_proj_gen_weight, t1208); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1210 = ggml_compiler::ops::reshape(ctx, t1209, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1211 = ggml_rms_norm(ctx, t1210, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1212 = ggml_mul(ctx, t1211, net_mot_backbone_model_language_model_layers_19_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1213 = ggml_permute(ctx, t1212, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1214 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_k_proj_gen_weight, t1208); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1215 = ggml_compiler::ops::reshape(ctx, t1214, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1216 = ggml_rms_norm(ctx, t1215, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1217 = ggml_mul(ctx, t1216, net_mot_backbone_model_language_model_layers_19_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1218 = ggml_permute(ctx, t1217, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1219 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_v_proj_gen_weight, t1208); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1220 = ggml_compiler::ops::reshape(ctx, t1219, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1221 = ggml_permute(ctx, t1220, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1222 = ggml_cont(ctx, t1213); // cont torch_export.py:54 in forward - ggml_tensor * t1223 = ggml_mul(ctx, t1222, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1224 = ggml_compiler::ops::slice(ctx, t1213, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1225 = ggml_cont(ctx, t1224); // cont torch_export.py:54 in forward - ggml_tensor * t1226 = ggml_neg(ctx, t1225); // neg torch_export.py:54 in forward - ggml_tensor * t1227 = ggml_compiler::ops::slice(ctx, t1213, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1228 = ggml_cont(ctx, t1227); // cont torch_export.py:54 in forward - ggml_tensor * t1229 = ggml_concat(ctx, t1226, t1228, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1230 = ggml_mul(ctx, t1229, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1231 = ggml_add(ctx, t1223, t1230); // add torch_export.py:54 in forward - ggml_tensor * t1232 = ggml_cont(ctx, t1218); // cont torch_export.py:54 in forward - ggml_tensor * t1233 = ggml_mul(ctx, t1232, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1234 = ggml_compiler::ops::slice(ctx, t1218, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1235 = ggml_cont(ctx, t1234); // cont torch_export.py:54 in forward - ggml_tensor * t1236 = ggml_neg(ctx, t1235); // neg torch_export.py:54 in forward - ggml_tensor * t1237 = ggml_compiler::ops::slice(ctx, t1218, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1238 = ggml_cont(ctx, t1237); // cont torch_export.py:54 in forward - ggml_tensor * t1239 = ggml_concat(ctx, t1236, t1238, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1240 = ggml_mul(ctx, t1239, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1241 = ggml_add(ctx, t1233, t1240); // add torch_export.py:54 in forward - ggml_tensor * t1242 = ggml_concat(ctx, in46, t1241, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1243 = ggml_cont(ctx, t1221); // cont torch_export.py:54 in forward - ggml_tensor * t1244 = ggml_concat(ctx, in47, t1243, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1245 = ggml_compiler::ops::mul_mat(ctx, t1242, t1231, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1246 = ggml_soft_max_ext(ctx, t1245, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1247 = ggml_permute(ctx, t1244, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1248 = ggml_cont(ctx, t1247); // cont torch_export.py:54 in forward - ggml_tensor * t1249 = ggml_compiler::ops::mul_mat(ctx, t1248, t1246, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1250 = ggml_permute(ctx, t1249, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1251 = ggml_cont(ctx, t1250); // cont torch_export.py:54 in forward - ggml_tensor * t1252 = ggml_compiler::ops::reshape(ctx, t1251, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1253 = ggml_compiler::ops::reshape(ctx, t1252, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1254 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_self_attn_o_proj_gen_weight, t1253); // mul_mat net.mot_backbone.model.language_model.layers.19.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1255 = ggml_compiler::ops::reshape(ctx, t1254, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1256 = ggml_add(ctx, t1205, t1255); // add torch_export.py:54 in forward - ggml_tensor * t1257 = ggml_rms_norm(ctx, t1256, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.19.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1258 = ggml_mul(ctx, t1257, net_mot_backbone_model_language_model_layers_19_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.19.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1259 = ggml_compiler::ops::reshape(ctx, t1258, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1260 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_gen_up_proj_weight, t1259); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1261 = ggml_compiler::ops::reshape(ctx, t1260, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1262 = ggml_relu(ctx, t1261); // relu net.mot_backbone.model.language_model.layers.19.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1263 = ggml_sqr(ctx, t1262); // sqr net.mot_backbone.model.language_model.layers.19.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1264 = ggml_compiler::ops::reshape(ctx, t1263, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1265 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_19_mlp_gen_down_proj_weight, t1264); // mul_mat net.mot_backbone.model.language_model.layers.19.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1266 = ggml_compiler::ops::reshape(ctx, t1265, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.19.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1267 = ggml_add(ctx, t1256, t1266); // add torch_export.py:54 in forward - ggml_tensor * t1268 = ggml_rms_norm(ctx, t1267, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1269 = ggml_mul(ctx, t1268, net_mot_backbone_model_language_model_layers_20_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1270 = ggml_compiler::ops::reshape(ctx, t1269, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1271 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_q_proj_gen_weight, t1270); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1272 = ggml_compiler::ops::reshape(ctx, t1271, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1273 = ggml_rms_norm(ctx, t1272, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1274 = ggml_mul(ctx, t1273, net_mot_backbone_model_language_model_layers_20_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1275 = ggml_permute(ctx, t1274, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1276 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_k_proj_gen_weight, t1270); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1277 = ggml_compiler::ops::reshape(ctx, t1276, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1278 = ggml_rms_norm(ctx, t1277, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1279 = ggml_mul(ctx, t1278, net_mot_backbone_model_language_model_layers_20_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1280 = ggml_permute(ctx, t1279, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1281 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_v_proj_gen_weight, t1270); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1282 = ggml_compiler::ops::reshape(ctx, t1281, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1283 = ggml_permute(ctx, t1282, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1284 = ggml_cont(ctx, t1275); // cont torch_export.py:54 in forward - ggml_tensor * t1285 = ggml_mul(ctx, t1284, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1286 = ggml_compiler::ops::slice(ctx, t1275, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1287 = ggml_cont(ctx, t1286); // cont torch_export.py:54 in forward - ggml_tensor * t1288 = ggml_neg(ctx, t1287); // neg torch_export.py:54 in forward - ggml_tensor * t1289 = ggml_compiler::ops::slice(ctx, t1275, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1290 = ggml_cont(ctx, t1289); // cont torch_export.py:54 in forward - ggml_tensor * t1291 = ggml_concat(ctx, t1288, t1290, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1292 = ggml_mul(ctx, t1291, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1293 = ggml_add(ctx, t1285, t1292); // add torch_export.py:54 in forward - ggml_tensor * t1294 = ggml_cont(ctx, t1280); // cont torch_export.py:54 in forward - ggml_tensor * t1295 = ggml_mul(ctx, t1294, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1296 = ggml_compiler::ops::slice(ctx, t1280, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1297 = ggml_cont(ctx, t1296); // cont torch_export.py:54 in forward - ggml_tensor * t1298 = ggml_neg(ctx, t1297); // neg torch_export.py:54 in forward - ggml_tensor * t1299 = ggml_compiler::ops::slice(ctx, t1280, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1300 = ggml_cont(ctx, t1299); // cont torch_export.py:54 in forward - ggml_tensor * t1301 = ggml_concat(ctx, t1298, t1300, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1302 = ggml_mul(ctx, t1301, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1303 = ggml_add(ctx, t1295, t1302); // add torch_export.py:54 in forward - ggml_tensor * t1304 = ggml_concat(ctx, in48, t1303, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1305 = ggml_cont(ctx, t1283); // cont torch_export.py:54 in forward - ggml_tensor * t1306 = ggml_concat(ctx, in49, t1305, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1307 = ggml_compiler::ops::mul_mat(ctx, t1304, t1293, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1308 = ggml_soft_max_ext(ctx, t1307, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1309 = ggml_permute(ctx, t1306, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1310 = ggml_cont(ctx, t1309); // cont torch_export.py:54 in forward - ggml_tensor * t1311 = ggml_compiler::ops::mul_mat(ctx, t1310, t1308, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1312 = ggml_permute(ctx, t1311, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1313 = ggml_cont(ctx, t1312); // cont torch_export.py:54 in forward - ggml_tensor * t1314 = ggml_compiler::ops::reshape(ctx, t1313, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1315 = ggml_compiler::ops::reshape(ctx, t1314, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1316 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_self_attn_o_proj_gen_weight, t1315); // mul_mat net.mot_backbone.model.language_model.layers.20.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1317 = ggml_compiler::ops::reshape(ctx, t1316, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1318 = ggml_add(ctx, t1267, t1317); // add torch_export.py:54 in forward - ggml_tensor * t1319 = ggml_rms_norm(ctx, t1318, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.20.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1320 = ggml_mul(ctx, t1319, net_mot_backbone_model_language_model_layers_20_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.20.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1321 = ggml_compiler::ops::reshape(ctx, t1320, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1322 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_gen_up_proj_weight, t1321); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1323 = ggml_compiler::ops::reshape(ctx, t1322, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1324 = ggml_relu(ctx, t1323); // relu net.mot_backbone.model.language_model.layers.20.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1325 = ggml_sqr(ctx, t1324); // sqr net.mot_backbone.model.language_model.layers.20.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1326 = ggml_compiler::ops::reshape(ctx, t1325, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1327 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_20_mlp_gen_down_proj_weight, t1326); // mul_mat net.mot_backbone.model.language_model.layers.20.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1328 = ggml_compiler::ops::reshape(ctx, t1327, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.20.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1329 = ggml_add(ctx, t1318, t1328); // add torch_export.py:54 in forward - ggml_tensor * t1330 = ggml_rms_norm(ctx, t1329, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1331 = ggml_mul(ctx, t1330, net_mot_backbone_model_language_model_layers_21_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1332 = ggml_compiler::ops::reshape(ctx, t1331, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1333 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_q_proj_gen_weight, t1332); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1334 = ggml_compiler::ops::reshape(ctx, t1333, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1335 = ggml_rms_norm(ctx, t1334, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1336 = ggml_mul(ctx, t1335, net_mot_backbone_model_language_model_layers_21_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1337 = ggml_permute(ctx, t1336, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1338 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_k_proj_gen_weight, t1332); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1339 = ggml_compiler::ops::reshape(ctx, t1338, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1340 = ggml_rms_norm(ctx, t1339, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1341 = ggml_mul(ctx, t1340, net_mot_backbone_model_language_model_layers_21_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1342 = ggml_permute(ctx, t1341, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1343 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_v_proj_gen_weight, t1332); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1344 = ggml_compiler::ops::reshape(ctx, t1343, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1345 = ggml_permute(ctx, t1344, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1346 = ggml_cont(ctx, t1337); // cont torch_export.py:54 in forward - ggml_tensor * t1347 = ggml_mul(ctx, t1346, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1348 = ggml_compiler::ops::slice(ctx, t1337, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1349 = ggml_cont(ctx, t1348); // cont torch_export.py:54 in forward - ggml_tensor * t1350 = ggml_neg(ctx, t1349); // neg torch_export.py:54 in forward - ggml_tensor * t1351 = ggml_compiler::ops::slice(ctx, t1337, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1352 = ggml_cont(ctx, t1351); // cont torch_export.py:54 in forward - ggml_tensor * t1353 = ggml_concat(ctx, t1350, t1352, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1354 = ggml_mul(ctx, t1353, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1355 = ggml_add(ctx, t1347, t1354); // add torch_export.py:54 in forward - ggml_tensor * t1356 = ggml_cont(ctx, t1342); // cont torch_export.py:54 in forward - ggml_tensor * t1357 = ggml_mul(ctx, t1356, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1358 = ggml_compiler::ops::slice(ctx, t1342, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1359 = ggml_cont(ctx, t1358); // cont torch_export.py:54 in forward - ggml_tensor * t1360 = ggml_neg(ctx, t1359); // neg torch_export.py:54 in forward - ggml_tensor * t1361 = ggml_compiler::ops::slice(ctx, t1342, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1362 = ggml_cont(ctx, t1361); // cont torch_export.py:54 in forward - ggml_tensor * t1363 = ggml_concat(ctx, t1360, t1362, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1364 = ggml_mul(ctx, t1363, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1365 = ggml_add(ctx, t1357, t1364); // add torch_export.py:54 in forward - ggml_tensor * t1366 = ggml_concat(ctx, in50, t1365, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1367 = ggml_cont(ctx, t1345); // cont torch_export.py:54 in forward - ggml_tensor * t1368 = ggml_concat(ctx, in51, t1367, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1369 = ggml_compiler::ops::mul_mat(ctx, t1366, t1355, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1370 = ggml_soft_max_ext(ctx, t1369, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1371 = ggml_permute(ctx, t1368, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1372 = ggml_cont(ctx, t1371); // cont torch_export.py:54 in forward - ggml_tensor * t1373 = ggml_compiler::ops::mul_mat(ctx, t1372, t1370, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1374 = ggml_permute(ctx, t1373, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1375 = ggml_cont(ctx, t1374); // cont torch_export.py:54 in forward - ggml_tensor * t1376 = ggml_compiler::ops::reshape(ctx, t1375, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1377 = ggml_compiler::ops::reshape(ctx, t1376, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1378 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_self_attn_o_proj_gen_weight, t1377); // mul_mat net.mot_backbone.model.language_model.layers.21.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1379 = ggml_compiler::ops::reshape(ctx, t1378, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1380 = ggml_add(ctx, t1329, t1379); // add torch_export.py:54 in forward - ggml_tensor * t1381 = ggml_rms_norm(ctx, t1380, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.21.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1382 = ggml_mul(ctx, t1381, net_mot_backbone_model_language_model_layers_21_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.21.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1383 = ggml_compiler::ops::reshape(ctx, t1382, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1384 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_gen_up_proj_weight, t1383); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1385 = ggml_compiler::ops::reshape(ctx, t1384, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1386 = ggml_relu(ctx, t1385); // relu net.mot_backbone.model.language_model.layers.21.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1387 = ggml_sqr(ctx, t1386); // sqr net.mot_backbone.model.language_model.layers.21.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1388 = ggml_compiler::ops::reshape(ctx, t1387, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1389 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_21_mlp_gen_down_proj_weight, t1388); // mul_mat net.mot_backbone.model.language_model.layers.21.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1390 = ggml_compiler::ops::reshape(ctx, t1389, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.21.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1391 = ggml_add(ctx, t1380, t1390); // add torch_export.py:54 in forward - ggml_tensor * t1392 = ggml_rms_norm(ctx, t1391, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1393 = ggml_mul(ctx, t1392, net_mot_backbone_model_language_model_layers_22_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1394 = ggml_compiler::ops::reshape(ctx, t1393, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1395 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_q_proj_gen_weight, t1394); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1396 = ggml_compiler::ops::reshape(ctx, t1395, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1397 = ggml_rms_norm(ctx, t1396, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1398 = ggml_mul(ctx, t1397, net_mot_backbone_model_language_model_layers_22_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1399 = ggml_permute(ctx, t1398, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1400 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_k_proj_gen_weight, t1394); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1401 = ggml_compiler::ops::reshape(ctx, t1400, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1402 = ggml_rms_norm(ctx, t1401, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1403 = ggml_mul(ctx, t1402, net_mot_backbone_model_language_model_layers_22_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1404 = ggml_permute(ctx, t1403, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1405 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_v_proj_gen_weight, t1394); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1406 = ggml_compiler::ops::reshape(ctx, t1405, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1407 = ggml_permute(ctx, t1406, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1408 = ggml_cont(ctx, t1399); // cont torch_export.py:54 in forward - ggml_tensor * t1409 = ggml_mul(ctx, t1408, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1410 = ggml_compiler::ops::slice(ctx, t1399, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1411 = ggml_cont(ctx, t1410); // cont torch_export.py:54 in forward - ggml_tensor * t1412 = ggml_neg(ctx, t1411); // neg torch_export.py:54 in forward - ggml_tensor * t1413 = ggml_compiler::ops::slice(ctx, t1399, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1414 = ggml_cont(ctx, t1413); // cont torch_export.py:54 in forward - ggml_tensor * t1415 = ggml_concat(ctx, t1412, t1414, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1416 = ggml_mul(ctx, t1415, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1417 = ggml_add(ctx, t1409, t1416); // add torch_export.py:54 in forward - ggml_tensor * t1418 = ggml_cont(ctx, t1404); // cont torch_export.py:54 in forward - ggml_tensor * t1419 = ggml_mul(ctx, t1418, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1420 = ggml_compiler::ops::slice(ctx, t1404, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1421 = ggml_cont(ctx, t1420); // cont torch_export.py:54 in forward - ggml_tensor * t1422 = ggml_neg(ctx, t1421); // neg torch_export.py:54 in forward - ggml_tensor * t1423 = ggml_compiler::ops::slice(ctx, t1404, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1424 = ggml_cont(ctx, t1423); // cont torch_export.py:54 in forward - ggml_tensor * t1425 = ggml_concat(ctx, t1422, t1424, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1426 = ggml_mul(ctx, t1425, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1427 = ggml_add(ctx, t1419, t1426); // add torch_export.py:54 in forward - ggml_tensor * t1428 = ggml_concat(ctx, in52, t1427, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1429 = ggml_cont(ctx, t1407); // cont torch_export.py:54 in forward - ggml_tensor * t1430 = ggml_concat(ctx, in53, t1429, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1431 = ggml_compiler::ops::mul_mat(ctx, t1428, t1417, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1432 = ggml_soft_max_ext(ctx, t1431, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1433 = ggml_permute(ctx, t1430, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1434 = ggml_cont(ctx, t1433); // cont torch_export.py:54 in forward - ggml_tensor * t1435 = ggml_compiler::ops::mul_mat(ctx, t1434, t1432, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1436 = ggml_permute(ctx, t1435, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1437 = ggml_cont(ctx, t1436); // cont torch_export.py:54 in forward - ggml_tensor * t1438 = ggml_compiler::ops::reshape(ctx, t1437, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1439 = ggml_compiler::ops::reshape(ctx, t1438, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1440 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_self_attn_o_proj_gen_weight, t1439); // mul_mat net.mot_backbone.model.language_model.layers.22.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1441 = ggml_compiler::ops::reshape(ctx, t1440, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1442 = ggml_add(ctx, t1391, t1441); // add torch_export.py:54 in forward - ggml_tensor * t1443 = ggml_rms_norm(ctx, t1442, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.22.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1444 = ggml_mul(ctx, t1443, net_mot_backbone_model_language_model_layers_22_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.22.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1445 = ggml_compiler::ops::reshape(ctx, t1444, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1446 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_gen_up_proj_weight, t1445); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1447 = ggml_compiler::ops::reshape(ctx, t1446, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1448 = ggml_relu(ctx, t1447); // relu net.mot_backbone.model.language_model.layers.22.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1449 = ggml_sqr(ctx, t1448); // sqr net.mot_backbone.model.language_model.layers.22.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1450 = ggml_compiler::ops::reshape(ctx, t1449, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1451 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_22_mlp_gen_down_proj_weight, t1450); // mul_mat net.mot_backbone.model.language_model.layers.22.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1452 = ggml_compiler::ops::reshape(ctx, t1451, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.22.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1453 = ggml_add(ctx, t1442, t1452); // add torch_export.py:54 in forward - ggml_tensor * t1454 = ggml_rms_norm(ctx, t1453, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1455 = ggml_mul(ctx, t1454, net_mot_backbone_model_language_model_layers_23_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1456 = ggml_compiler::ops::reshape(ctx, t1455, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1457 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_q_proj_gen_weight, t1456); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1458 = ggml_compiler::ops::reshape(ctx, t1457, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1459 = ggml_rms_norm(ctx, t1458, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1460 = ggml_mul(ctx, t1459, net_mot_backbone_model_language_model_layers_23_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1461 = ggml_permute(ctx, t1460, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1462 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_k_proj_gen_weight, t1456); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1463 = ggml_compiler::ops::reshape(ctx, t1462, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1464 = ggml_rms_norm(ctx, t1463, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1465 = ggml_mul(ctx, t1464, net_mot_backbone_model_language_model_layers_23_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1466 = ggml_permute(ctx, t1465, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1467 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_v_proj_gen_weight, t1456); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1468 = ggml_compiler::ops::reshape(ctx, t1467, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1469 = ggml_permute(ctx, t1468, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1470 = ggml_cont(ctx, t1461); // cont torch_export.py:54 in forward - ggml_tensor * t1471 = ggml_mul(ctx, t1470, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1472 = ggml_compiler::ops::slice(ctx, t1461, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1473 = ggml_cont(ctx, t1472); // cont torch_export.py:54 in forward - ggml_tensor * t1474 = ggml_neg(ctx, t1473); // neg torch_export.py:54 in forward - ggml_tensor * t1475 = ggml_compiler::ops::slice(ctx, t1461, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1476 = ggml_cont(ctx, t1475); // cont torch_export.py:54 in forward - ggml_tensor * t1477 = ggml_concat(ctx, t1474, t1476, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1478 = ggml_mul(ctx, t1477, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1479 = ggml_add(ctx, t1471, t1478); // add torch_export.py:54 in forward - ggml_tensor * t1480 = ggml_cont(ctx, t1466); // cont torch_export.py:54 in forward - ggml_tensor * t1481 = ggml_mul(ctx, t1480, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1482 = ggml_compiler::ops::slice(ctx, t1466, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1483 = ggml_cont(ctx, t1482); // cont torch_export.py:54 in forward - ggml_tensor * t1484 = ggml_neg(ctx, t1483); // neg torch_export.py:54 in forward - ggml_tensor * t1485 = ggml_compiler::ops::slice(ctx, t1466, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1486 = ggml_cont(ctx, t1485); // cont torch_export.py:54 in forward - ggml_tensor * t1487 = ggml_concat(ctx, t1484, t1486, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1488 = ggml_mul(ctx, t1487, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1489 = ggml_add(ctx, t1481, t1488); // add torch_export.py:54 in forward - ggml_tensor * t1490 = ggml_concat(ctx, in54, t1489, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1491 = ggml_cont(ctx, t1469); // cont torch_export.py:54 in forward - ggml_tensor * t1492 = ggml_concat(ctx, in55, t1491, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1493 = ggml_compiler::ops::mul_mat(ctx, t1490, t1479, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1494 = ggml_soft_max_ext(ctx, t1493, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1495 = ggml_permute(ctx, t1492, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1496 = ggml_cont(ctx, t1495); // cont torch_export.py:54 in forward - ggml_tensor * t1497 = ggml_compiler::ops::mul_mat(ctx, t1496, t1494, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1498 = ggml_permute(ctx, t1497, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1499 = ggml_cont(ctx, t1498); // cont torch_export.py:54 in forward - ggml_tensor * t1500 = ggml_compiler::ops::reshape(ctx, t1499, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1501 = ggml_compiler::ops::reshape(ctx, t1500, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1502 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_self_attn_o_proj_gen_weight, t1501); // mul_mat net.mot_backbone.model.language_model.layers.23.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1503 = ggml_compiler::ops::reshape(ctx, t1502, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1504 = ggml_add(ctx, t1453, t1503); // add torch_export.py:54 in forward - ggml_tensor * t1505 = ggml_rms_norm(ctx, t1504, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.23.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1506 = ggml_mul(ctx, t1505, net_mot_backbone_model_language_model_layers_23_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.23.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1507 = ggml_compiler::ops::reshape(ctx, t1506, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1508 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_gen_up_proj_weight, t1507); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1509 = ggml_compiler::ops::reshape(ctx, t1508, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1510 = ggml_relu(ctx, t1509); // relu net.mot_backbone.model.language_model.layers.23.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1511 = ggml_sqr(ctx, t1510); // sqr net.mot_backbone.model.language_model.layers.23.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1512 = ggml_compiler::ops::reshape(ctx, t1511, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1513 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_23_mlp_gen_down_proj_weight, t1512); // mul_mat net.mot_backbone.model.language_model.layers.23.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1514 = ggml_compiler::ops::reshape(ctx, t1513, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.23.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1515 = ggml_add(ctx, t1504, t1514); // add torch_export.py:54 in forward - ggml_tensor * t1516 = ggml_rms_norm(ctx, t1515, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1517 = ggml_mul(ctx, t1516, net_mot_backbone_model_language_model_layers_24_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1518 = ggml_compiler::ops::reshape(ctx, t1517, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1519 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_q_proj_gen_weight, t1518); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1520 = ggml_compiler::ops::reshape(ctx, t1519, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1521 = ggml_rms_norm(ctx, t1520, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1522 = ggml_mul(ctx, t1521, net_mot_backbone_model_language_model_layers_24_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1523 = ggml_permute(ctx, t1522, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1524 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_k_proj_gen_weight, t1518); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1525 = ggml_compiler::ops::reshape(ctx, t1524, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1526 = ggml_rms_norm(ctx, t1525, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1527 = ggml_mul(ctx, t1526, net_mot_backbone_model_language_model_layers_24_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1528 = ggml_permute(ctx, t1527, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1529 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_v_proj_gen_weight, t1518); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1530 = ggml_compiler::ops::reshape(ctx, t1529, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1531 = ggml_permute(ctx, t1530, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1532 = ggml_cont(ctx, t1523); // cont torch_export.py:54 in forward - ggml_tensor * t1533 = ggml_mul(ctx, t1532, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1534 = ggml_compiler::ops::slice(ctx, t1523, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1535 = ggml_cont(ctx, t1534); // cont torch_export.py:54 in forward - ggml_tensor * t1536 = ggml_neg(ctx, t1535); // neg torch_export.py:54 in forward - ggml_tensor * t1537 = ggml_compiler::ops::slice(ctx, t1523, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1538 = ggml_cont(ctx, t1537); // cont torch_export.py:54 in forward - ggml_tensor * t1539 = ggml_concat(ctx, t1536, t1538, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1540 = ggml_mul(ctx, t1539, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1541 = ggml_add(ctx, t1533, t1540); // add torch_export.py:54 in forward - ggml_tensor * t1542 = ggml_cont(ctx, t1528); // cont torch_export.py:54 in forward - ggml_tensor * t1543 = ggml_mul(ctx, t1542, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1544 = ggml_compiler::ops::slice(ctx, t1528, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1545 = ggml_cont(ctx, t1544); // cont torch_export.py:54 in forward - ggml_tensor * t1546 = ggml_neg(ctx, t1545); // neg torch_export.py:54 in forward - ggml_tensor * t1547 = ggml_compiler::ops::slice(ctx, t1528, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1548 = ggml_cont(ctx, t1547); // cont torch_export.py:54 in forward - ggml_tensor * t1549 = ggml_concat(ctx, t1546, t1548, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1550 = ggml_mul(ctx, t1549, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1551 = ggml_add(ctx, t1543, t1550); // add torch_export.py:54 in forward - ggml_tensor * t1552 = ggml_concat(ctx, in56, t1551, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1553 = ggml_cont(ctx, t1531); // cont torch_export.py:54 in forward - ggml_tensor * t1554 = ggml_concat(ctx, in57, t1553, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1555 = ggml_compiler::ops::mul_mat(ctx, t1552, t1541, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1556 = ggml_soft_max_ext(ctx, t1555, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1557 = ggml_permute(ctx, t1554, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1558 = ggml_cont(ctx, t1557); // cont torch_export.py:54 in forward - ggml_tensor * t1559 = ggml_compiler::ops::mul_mat(ctx, t1558, t1556, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1560 = ggml_permute(ctx, t1559, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1561 = ggml_cont(ctx, t1560); // cont torch_export.py:54 in forward - ggml_tensor * t1562 = ggml_compiler::ops::reshape(ctx, t1561, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1563 = ggml_compiler::ops::reshape(ctx, t1562, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1564 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_self_attn_o_proj_gen_weight, t1563); // mul_mat net.mot_backbone.model.language_model.layers.24.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1565 = ggml_compiler::ops::reshape(ctx, t1564, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1566 = ggml_add(ctx, t1515, t1565); // add torch_export.py:54 in forward - ggml_tensor * t1567 = ggml_rms_norm(ctx, t1566, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.24.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1568 = ggml_mul(ctx, t1567, net_mot_backbone_model_language_model_layers_24_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.24.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1569 = ggml_compiler::ops::reshape(ctx, t1568, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1570 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_gen_up_proj_weight, t1569); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1571 = ggml_compiler::ops::reshape(ctx, t1570, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1572 = ggml_relu(ctx, t1571); // relu net.mot_backbone.model.language_model.layers.24.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1573 = ggml_sqr(ctx, t1572); // sqr net.mot_backbone.model.language_model.layers.24.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1574 = ggml_compiler::ops::reshape(ctx, t1573, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1575 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_24_mlp_gen_down_proj_weight, t1574); // mul_mat net.mot_backbone.model.language_model.layers.24.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1576 = ggml_compiler::ops::reshape(ctx, t1575, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.24.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1577 = ggml_add(ctx, t1566, t1576); // add torch_export.py:54 in forward - ggml_tensor * t1578 = ggml_rms_norm(ctx, t1577, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1579 = ggml_mul(ctx, t1578, net_mot_backbone_model_language_model_layers_25_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1580 = ggml_compiler::ops::reshape(ctx, t1579, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1581 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_q_proj_gen_weight, t1580); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1582 = ggml_compiler::ops::reshape(ctx, t1581, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1583 = ggml_rms_norm(ctx, t1582, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1584 = ggml_mul(ctx, t1583, net_mot_backbone_model_language_model_layers_25_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1585 = ggml_permute(ctx, t1584, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1586 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_k_proj_gen_weight, t1580); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1587 = ggml_compiler::ops::reshape(ctx, t1586, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1588 = ggml_rms_norm(ctx, t1587, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1589 = ggml_mul(ctx, t1588, net_mot_backbone_model_language_model_layers_25_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1590 = ggml_permute(ctx, t1589, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1591 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_v_proj_gen_weight, t1580); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1592 = ggml_compiler::ops::reshape(ctx, t1591, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1593 = ggml_permute(ctx, t1592, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1594 = ggml_cont(ctx, t1585); // cont torch_export.py:54 in forward - ggml_tensor * t1595 = ggml_mul(ctx, t1594, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1596 = ggml_compiler::ops::slice(ctx, t1585, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1597 = ggml_cont(ctx, t1596); // cont torch_export.py:54 in forward - ggml_tensor * t1598 = ggml_neg(ctx, t1597); // neg torch_export.py:54 in forward - ggml_tensor * t1599 = ggml_compiler::ops::slice(ctx, t1585, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1600 = ggml_cont(ctx, t1599); // cont torch_export.py:54 in forward - ggml_tensor * t1601 = ggml_concat(ctx, t1598, t1600, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1602 = ggml_mul(ctx, t1601, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1603 = ggml_add(ctx, t1595, t1602); // add torch_export.py:54 in forward - ggml_tensor * t1604 = ggml_cont(ctx, t1590); // cont torch_export.py:54 in forward - ggml_tensor * t1605 = ggml_mul(ctx, t1604, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1606 = ggml_compiler::ops::slice(ctx, t1590, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1607 = ggml_cont(ctx, t1606); // cont torch_export.py:54 in forward - ggml_tensor * t1608 = ggml_neg(ctx, t1607); // neg torch_export.py:54 in forward - ggml_tensor * t1609 = ggml_compiler::ops::slice(ctx, t1590, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1610 = ggml_cont(ctx, t1609); // cont torch_export.py:54 in forward - ggml_tensor * t1611 = ggml_concat(ctx, t1608, t1610, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1612 = ggml_mul(ctx, t1611, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1613 = ggml_add(ctx, t1605, t1612); // add torch_export.py:54 in forward - ggml_tensor * t1614 = ggml_concat(ctx, in58, t1613, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1615 = ggml_cont(ctx, t1593); // cont torch_export.py:54 in forward - ggml_tensor * t1616 = ggml_concat(ctx, in59, t1615, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1617 = ggml_compiler::ops::mul_mat(ctx, t1614, t1603, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1618 = ggml_soft_max_ext(ctx, t1617, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1619 = ggml_permute(ctx, t1616, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1620 = ggml_cont(ctx, t1619); // cont torch_export.py:54 in forward - ggml_tensor * t1621 = ggml_compiler::ops::mul_mat(ctx, t1620, t1618, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1622 = ggml_permute(ctx, t1621, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1623 = ggml_cont(ctx, t1622); // cont torch_export.py:54 in forward - ggml_tensor * t1624 = ggml_compiler::ops::reshape(ctx, t1623, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1625 = ggml_compiler::ops::reshape(ctx, t1624, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1626 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_self_attn_o_proj_gen_weight, t1625); // mul_mat net.mot_backbone.model.language_model.layers.25.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1627 = ggml_compiler::ops::reshape(ctx, t1626, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1628 = ggml_add(ctx, t1577, t1627); // add torch_export.py:54 in forward - ggml_tensor * t1629 = ggml_rms_norm(ctx, t1628, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.25.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1630 = ggml_mul(ctx, t1629, net_mot_backbone_model_language_model_layers_25_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.25.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1631 = ggml_compiler::ops::reshape(ctx, t1630, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1632 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_gen_up_proj_weight, t1631); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1633 = ggml_compiler::ops::reshape(ctx, t1632, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1634 = ggml_relu(ctx, t1633); // relu net.mot_backbone.model.language_model.layers.25.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1635 = ggml_sqr(ctx, t1634); // sqr net.mot_backbone.model.language_model.layers.25.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1636 = ggml_compiler::ops::reshape(ctx, t1635, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1637 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_25_mlp_gen_down_proj_weight, t1636); // mul_mat net.mot_backbone.model.language_model.layers.25.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1638 = ggml_compiler::ops::reshape(ctx, t1637, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.25.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1639 = ggml_add(ctx, t1628, t1638); // add torch_export.py:54 in forward - ggml_tensor * t1640 = ggml_rms_norm(ctx, t1639, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1641 = ggml_mul(ctx, t1640, net_mot_backbone_model_language_model_layers_26_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1642 = ggml_compiler::ops::reshape(ctx, t1641, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1643 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_q_proj_gen_weight, t1642); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1644 = ggml_compiler::ops::reshape(ctx, t1643, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1645 = ggml_rms_norm(ctx, t1644, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1646 = ggml_mul(ctx, t1645, net_mot_backbone_model_language_model_layers_26_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1647 = ggml_permute(ctx, t1646, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1648 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_k_proj_gen_weight, t1642); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1649 = ggml_compiler::ops::reshape(ctx, t1648, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1650 = ggml_rms_norm(ctx, t1649, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1651 = ggml_mul(ctx, t1650, net_mot_backbone_model_language_model_layers_26_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1652 = ggml_permute(ctx, t1651, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1653 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_v_proj_gen_weight, t1642); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1654 = ggml_compiler::ops::reshape(ctx, t1653, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1655 = ggml_permute(ctx, t1654, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1656 = ggml_cont(ctx, t1647); // cont torch_export.py:54 in forward - ggml_tensor * t1657 = ggml_mul(ctx, t1656, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1658 = ggml_compiler::ops::slice(ctx, t1647, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1659 = ggml_cont(ctx, t1658); // cont torch_export.py:54 in forward - ggml_tensor * t1660 = ggml_neg(ctx, t1659); // neg torch_export.py:54 in forward - ggml_tensor * t1661 = ggml_compiler::ops::slice(ctx, t1647, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1662 = ggml_cont(ctx, t1661); // cont torch_export.py:54 in forward - ggml_tensor * t1663 = ggml_concat(ctx, t1660, t1662, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1664 = ggml_mul(ctx, t1663, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1665 = ggml_add(ctx, t1657, t1664); // add torch_export.py:54 in forward - ggml_tensor * t1666 = ggml_cont(ctx, t1652); // cont torch_export.py:54 in forward - ggml_tensor * t1667 = ggml_mul(ctx, t1666, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1668 = ggml_compiler::ops::slice(ctx, t1652, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1669 = ggml_cont(ctx, t1668); // cont torch_export.py:54 in forward - ggml_tensor * t1670 = ggml_neg(ctx, t1669); // neg torch_export.py:54 in forward - ggml_tensor * t1671 = ggml_compiler::ops::slice(ctx, t1652, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1672 = ggml_cont(ctx, t1671); // cont torch_export.py:54 in forward - ggml_tensor * t1673 = ggml_concat(ctx, t1670, t1672, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1674 = ggml_mul(ctx, t1673, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1675 = ggml_add(ctx, t1667, t1674); // add torch_export.py:54 in forward - ggml_tensor * t1676 = ggml_concat(ctx, in60, t1675, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1677 = ggml_cont(ctx, t1655); // cont torch_export.py:54 in forward - ggml_tensor * t1678 = ggml_concat(ctx, in61, t1677, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1679 = ggml_compiler::ops::mul_mat(ctx, t1676, t1665, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1680 = ggml_soft_max_ext(ctx, t1679, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1681 = ggml_permute(ctx, t1678, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1682 = ggml_cont(ctx, t1681); // cont torch_export.py:54 in forward - ggml_tensor * t1683 = ggml_compiler::ops::mul_mat(ctx, t1682, t1680, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1684 = ggml_permute(ctx, t1683, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1685 = ggml_cont(ctx, t1684); // cont torch_export.py:54 in forward - ggml_tensor * t1686 = ggml_compiler::ops::reshape(ctx, t1685, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1687 = ggml_compiler::ops::reshape(ctx, t1686, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1688 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_self_attn_o_proj_gen_weight, t1687); // mul_mat net.mot_backbone.model.language_model.layers.26.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1689 = ggml_compiler::ops::reshape(ctx, t1688, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1690 = ggml_add(ctx, t1639, t1689); // add torch_export.py:54 in forward - ggml_tensor * t1691 = ggml_rms_norm(ctx, t1690, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.26.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1692 = ggml_mul(ctx, t1691, net_mot_backbone_model_language_model_layers_26_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.26.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1693 = ggml_compiler::ops::reshape(ctx, t1692, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1694 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_gen_up_proj_weight, t1693); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1695 = ggml_compiler::ops::reshape(ctx, t1694, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1696 = ggml_relu(ctx, t1695); // relu net.mot_backbone.model.language_model.layers.26.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1697 = ggml_sqr(ctx, t1696); // sqr net.mot_backbone.model.language_model.layers.26.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1698 = ggml_compiler::ops::reshape(ctx, t1697, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1699 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_26_mlp_gen_down_proj_weight, t1698); // mul_mat net.mot_backbone.model.language_model.layers.26.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1700 = ggml_compiler::ops::reshape(ctx, t1699, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.26.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1701 = ggml_add(ctx, t1690, t1700); // add torch_export.py:54 in forward - ggml_tensor * t1702 = ggml_rms_norm(ctx, t1701, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.input_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1703 = ggml_mul(ctx, t1702, net_mot_backbone_model_language_model_layers_27_input_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.input_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1704 = ggml_compiler::ops::reshape(ctx, t1703, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1705 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_q_proj_gen_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.q_proj_gen linear.py:134 in forward - ggml_tensor * t1706 = ggml_compiler::ops::reshape(ctx, t1705, 128, 16, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1707 = ggml_rms_norm(ctx, t1706, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.self_attn.q_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1708 = ggml_mul(ctx, t1707, net_mot_backbone_model_language_model_layers_27_self_attn_q_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.self_attn.q_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1709 = ggml_permute(ctx, t1708, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1710 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_k_proj_gen_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.k_proj_gen linear.py:134 in forward - ggml_tensor * t1711 = ggml_compiler::ops::reshape(ctx, t1710, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1712 = ggml_rms_norm(ctx, t1711, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1713 = ggml_mul(ctx, t1712, net_mot_backbone_model_language_model_layers_27_self_attn_k_norm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.self_attn.k_norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1714 = ggml_permute(ctx, t1713, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1715 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_v_proj_gen_weight, t1704); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.v_proj_gen linear.py:134 in forward - ggml_tensor * t1716 = ggml_compiler::ops::reshape(ctx, t1715, 128, 8, 266, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1717 = ggml_permute(ctx, t1716, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1718 = ggml_cont(ctx, t1709); // cont torch_export.py:54 in forward - ggml_tensor * t1719 = ggml_mul(ctx, t1718, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1720 = ggml_compiler::ops::slice(ctx, t1709, 0, 64, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1721 = ggml_cont(ctx, t1720); // cont torch_export.py:54 in forward - ggml_tensor * t1722 = ggml_neg(ctx, t1721); // neg torch_export.py:54 in forward - ggml_tensor * t1723 = ggml_compiler::ops::slice(ctx, t1709, 0, 0, 64, 266, 16, 1); // view torch_export.py:54 in forward - ggml_tensor * t1724 = ggml_cont(ctx, t1723); // cont torch_export.py:54 in forward - ggml_tensor * t1725 = ggml_concat(ctx, t1722, t1724, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1726 = ggml_mul(ctx, t1725, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1727 = ggml_add(ctx, t1719, t1726); // add torch_export.py:54 in forward - ggml_tensor * t1728 = ggml_cont(ctx, t1714); // cont torch_export.py:54 in forward - ggml_tensor * t1729 = ggml_mul(ctx, t1728, t42); // mul torch_export.py:54 in forward - ggml_tensor * t1730 = ggml_compiler::ops::slice(ctx, t1714, 0, 64, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1731 = ggml_cont(ctx, t1730); // cont torch_export.py:54 in forward - ggml_tensor * t1732 = ggml_neg(ctx, t1731); // neg torch_export.py:54 in forward - ggml_tensor * t1733 = ggml_compiler::ops::slice(ctx, t1714, 0, 0, 64, 266, 8, 1); // view torch_export.py:54 in forward - ggml_tensor * t1734 = ggml_cont(ctx, t1733); // cont torch_export.py:54 in forward - ggml_tensor * t1735 = ggml_concat(ctx, t1732, t1734, 0); // concat torch_export.py:54 in forward - ggml_tensor * t1736 = ggml_mul(ctx, t1735, t51); // mul torch_export.py:54 in forward - ggml_tensor * t1737 = ggml_add(ctx, t1729, t1736); // add torch_export.py:54 in forward - ggml_tensor * t1738 = ggml_concat(ctx, in62, t1737, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1739 = ggml_cont(ctx, t1717); // cont torch_export.py:54 in forward - ggml_tensor * t1740 = ggml_concat(ctx, in63, t1739, 1); // concat torch_export.py:54 in forward - ggml_tensor * t1741 = ggml_compiler::ops::mul_mat(ctx, t1738, t1727, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1742 = ggml_soft_max_ext(ctx, t1741, in64, 0.0883883461f, 0.0f); // soft_max torch_export.py:54 in forward - ggml_tensor * t1743 = ggml_permute(ctx, t1740, 1, 0, 2, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1744 = ggml_cont(ctx, t1743); // cont torch_export.py:54 in forward - ggml_tensor * t1745 = ggml_compiler::ops::mul_mat(ctx, t1744, t1742, true); // mul_mat torch_export.py:54 in forward - ggml_tensor * t1746 = ggml_permute(ctx, t1745, 0, 2, 1, 3); // permute torch_export.py:54 in forward - ggml_tensor * t1747 = ggml_cont(ctx, t1746); // cont torch_export.py:54 in forward - ggml_tensor * t1748 = ggml_compiler::ops::reshape(ctx, t1747, 2048, 266, 1, 1); // reshape torch_export.py:54 in forward - ggml_tensor * t1749 = ggml_compiler::ops::reshape(ctx, t1748, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1750 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_self_attn_o_proj_gen_weight, t1749); // mul_mat net.mot_backbone.model.language_model.layers.27.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1751 = ggml_compiler::ops::reshape(ctx, t1750, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.self_attn.o_proj_gen linear.py:134 in forward - ggml_tensor * t1752 = ggml_add(ctx, t1701, t1751); // add torch_export.py:54 in forward - ggml_tensor * t1753 = ggml_rms_norm(ctx, t1752, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.layers.27.post_attention_layernorm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1754 = ggml_mul(ctx, t1753, net_mot_backbone_model_language_model_layers_27_post_attention_layernorm_gen_weight); // mul net.mot_backbone.model.language_model.layers.27.post_attention_layernorm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1755 = ggml_compiler::ops::reshape(ctx, t1754, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1756 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_mlp_gen_up_proj_weight, t1755); // mul_mat net.mot_backbone.model.language_model.layers.27.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1757 = ggml_compiler::ops::reshape(ctx, t1756, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.up_proj linear.py:134 in forward - ggml_tensor * t1758 = ggml_relu(ctx, t1757); // relu net.mot_backbone.model.language_model.layers.27.mlp_gen.act_fn activations.py:212 in forward - ggml_tensor * t1759 = ggml_sqr(ctx, t1758); // sqr net.mot_backbone.model.language_model.layers.27.mlp_gen.act_fn activations.py:213 in forward - ggml_tensor * t1760 = ggml_compiler::ops::reshape(ctx, t1759, 9216, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1761 = ggml_mul_mat(ctx, net_mot_backbone_model_language_model_layers_27_mlp_gen_down_proj_weight, t1760); // mul_mat net.mot_backbone.model.language_model.layers.27.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1762 = ggml_compiler::ops::reshape(ctx, t1761, 2048, 266, 1, 1); // reshape net.mot_backbone.model.language_model.layers.27.mlp_gen.down_proj linear.py:134 in forward - ggml_tensor * t1763 = ggml_add(ctx, t1752, t1762); // add torch_export.py:54 in forward - ggml_tensor * t1764 = ggml_rms_norm(ctx, t1763, 9.99999975e-06f); // rms_norm net.mot_backbone.model.language_model.norm_gen modeling_cosmos3.py:2436 in forward - ggml_tensor * t1765 = ggml_mul(ctx, t1764, net_mot_backbone_model_language_model_norm_gen_weight); // mul net.mot_backbone.model.language_model.norm_gen modeling_cosmos3.py:2437 in forward - ggml_tensor * t1766 = ggml_compiler::ops::slice(ctx, t1765, 1, 0, 2048, 250, 1, 1); // view torch_export.py:54 in forward - ggml_tensor * t1767 = ggml_compiler::ops::reshape(ctx, t1766, 2048, 250, 1, 1); // reshape net.llm2vae linear.py:134 in forward - ggml_tensor * t1768 = ggml_mul_mat(ctx, net_llm2vae_weight, t1767); // mul_mat net.llm2vae linear.py:134 in forward - ggml_tensor * t1769 = ggml_compiler::ops::reshape(ctx, t1768, 192, 250, 1, 1); // reshape net.llm2vae linear.py:134 in forward - ggml_tensor * t1770 = ggml_add(ctx, t1769, net_llm2vae_bias); // add net.llm2vae linear.py:134 in forward - ggml_tensor * t1771 = ggml_mul(ctx, t1770, const_22); // mul torch_export.py:54 in forward - ggml_tensor * t1772 = ggml_compiler::ops::slice(ctx, t1765, 1, 250, 2048, 16, 1, 1); // view torch_export.py:54 in forward - ggml_tensor * t1773 = ggml_compiler::ops::reshape(ctx, t1772, 2048, 16, 1, 1); // reshape l2a linear.py:134 in forward - ggml_tensor * t1774 = ggml_mul_mat(ctx, l2a_weight, t1773); // mul_mat l2a linear.py:134 in forward - ggml_tensor * t1775 = ggml_compiler::ops::reshape(ctx, t1774, 10, 16, 1, 1); // reshape l2a linear.py:134 in forward - ggml_tensor * t1776 = ggml_add(ctx, t1775, l2a_bias); // add l2a linear.py:134 in forward - ggml_tensor * t1777 = ggml_mul(ctx, t1771, in68); // mul torch_export.py:54 in forward - ggml_tensor * t1778 = ggml_sub(ctx, in0, t1777); // sub torch_export.py:54 in forward - ggml_tensor * t1779 = ggml_mul(ctx, t1776, in68); // mul torch_export.py:54 in forward - ggml_tensor * t1780 = ggml_sub(ctx, in1, t1779); // sub torch_export.py:54 in forward - ggml_tensor * t1781 = ggml_mul(ctx, in0, in69); // mul torch_export.py:54 in forward - ggml_tensor * t1782 = ggml_mul(ctx, in2, in70); // mul torch_export.py:54 in forward - ggml_tensor * t1783 = ggml_add(ctx, t1781, t1782); // add torch_export.py:54 in forward - ggml_tensor * t1784 = ggml_mul(ctx, in4, in71); // mul torch_export.py:54 in forward - ggml_tensor * t1785 = ggml_add(ctx, t1783, t1784); // add torch_export.py:54 in forward - ggml_tensor * t1786 = ggml_mul(ctx, in6, in72); // mul torch_export.py:54 in forward - ggml_tensor * t1787 = ggml_add(ctx, t1785, t1786); // add torch_export.py:54 in forward - ggml_tensor * t1788 = ggml_mul(ctx, t1778, in73); // mul torch_export.py:54 in forward - ggml_tensor * t1789 = ggml_add(ctx, t1787, t1788); // add torch_export.py:54 in forward - ggml_tensor * t1790 = ggml_mul(ctx, in1, in69); // mul torch_export.py:54 in forward - ggml_tensor * t1791 = ggml_mul(ctx, in3, in70); // mul torch_export.py:54 in forward - ggml_tensor * t1792 = ggml_add(ctx, t1790, t1791); // add torch_export.py:54 in forward - ggml_tensor * t1793 = ggml_mul(ctx, in5, in71); // mul torch_export.py:54 in forward - ggml_tensor * t1794 = ggml_add(ctx, t1792, t1793); // add torch_export.py:54 in forward - ggml_tensor * t1795 = ggml_mul(ctx, in7, in72); // mul torch_export.py:54 in forward - ggml_tensor * t1796 = ggml_add(ctx, t1794, t1795); // add torch_export.py:54 in forward - ggml_tensor * t1797 = ggml_mul(ctx, t1780, in73); // mul torch_export.py:54 in forward - ggml_tensor * t1798 = ggml_add(ctx, t1796, t1797); // add torch_export.py:54 in forward - ggml_tensor * t1799 = ggml_mul(ctx, t1789, in74); // mul torch_export.py:54 in forward - ggml_tensor * t1800 = ggml_mul(ctx, t1778, in75); // mul torch_export.py:54 in forward - ggml_tensor * t1801 = ggml_add(ctx, t1799, t1800); // add torch_export.py:54 in forward - ggml_tensor * t1802 = ggml_mul(ctx, in4, in76); // mul torch_export.py:54 in forward - ggml_tensor * t1803 = ggml_add(ctx, t1801, t1802); // add torch_export.py:54 in forward - ggml_tensor * t1804 = ggml_mul(ctx, t1798, in74); // mul torch_export.py:54 in forward - ggml_tensor * t1805 = ggml_mul(ctx, t1780, in75); // mul torch_export.py:54 in forward - ggml_tensor * t1806 = ggml_add(ctx, t1804, t1805); // add torch_export.py:54 in forward - ggml_tensor * t1807 = ggml_mul(ctx, in5, in76); // mul torch_export.py:54 in forward - ggml_tensor * t1808 = ggml_add(ctx, t1806, t1807); // add torch_export.py:54 in forward - ggml_tensor * t1809 = ggml_compiler::ops::scale(ctx, t1778, 0.0f, 0.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1810 = ggml_add(ctx, in4, t1809); // add torch_export.py:54 in forward - ggml_tensor * t1811 = ggml_compiler::ops::scale(ctx, t1780, 0.0f, 0.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1812 = ggml_add(ctx, in5, t1811); // add torch_export.py:54 in forward - - ggml_compiler_build_output(B, 0, t1803); - ggml_compiler_build_output(B, 1, t1808); - ggml_compiler_build_output(B, 2, t1789); - ggml_compiler_build_output(B, 3, t1798); - ggml_compiler_build_output(B, 4, t1778); - ggml_compiler_build_output(B, 5, t1780); - ggml_compiler_build_output(B, 6, t1810); - ggml_compiler_build_output(B, 7, t1812); - return 0; -} - -// Stage 'finish': 4 nodes. -int build_finish(ggml_compiler_stage_build * B) { - ggml_context * ctx = ggml_compiler_build_ctx(B); - const bool gpu = ggml_compiler_build_gpu(B); - (void) gpu; - - // Parameters - ggml_tensor * in0 = ggml_compiler_build_param(B, 0); // f32 [1, 16, 10] - - // Weights and constants, by GGUF name - ggml_tensor * const_23 = ggml_compiler_build_weight(B, "c.23"); - ggml_tensor * const_24 = ggml_compiler_build_weight(B, "c.24"); - - // Graph - ggml_tensor * t0 = ggml_compiler::ops::scale(ctx, in0, 1.0f, 1.0f); // scale torch_export.py:54 in forward - ggml_tensor * t1 = ggml_mul(ctx, t0, const_23); // mul torch_export.py:54 in forward - ggml_tensor * t2 = ggml_compiler::ops::scale(ctx, t1, 0.5f, 0.0f); // scale torch_export.py:54 in forward - ggml_tensor * t3 = ggml_add(ctx, t2, const_24); // add torch_export.py:54 in forward - - ggml_compiler_build_output(B, 0, t3); - return 0; -} - -} // namespace vla::cosmos3_edge_graphs diff --git a/src/models/cosmos3_edge_ops.h b/src/models/cosmos3_edge_ops.h deleted file mode 100644 index cd5285af..00000000 --- a/src/models/cosmos3_edge_ops.h +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2026 VinRobotics -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Copied unchanged from ggml-compiler (runtime/include/ggml_compiler_ops.h, Apache-2.0, -// https://github.com/khanhnd61-vr/ggml-compiler). cosmos3_edge_graphs.cpp was generated against exactly -// this header, which is what keeps its graphs node for node the ones ggml-compiler's runtime builds. -// If it changes upstream, regenerate the graphs and copy it again together. - -// ggml_compiler_ops.h - ggml expansions of the IR ops that are more than one ggml call. -// -// Shared by the runtime's op dispatcher and by C++ generated with `ggml-compiler compile --emit cpp`, so a -// generated graph is the same ggml graph the runtime builds, node for node: that is what makes -// their outputs bit-identical. Edit with care; both sides change together. -#pragma once - -#include "ggml.h" - -namespace ggml_compiler::ops { - -// Integer arithmetic of symbolic dims, with Python's floor semantics (as ir/sym.py and the -// runtime's Expr::eval use). -inline int64_t floordiv(int64_t a, int64_t b) { - const int64_t q = a / b; - return (a % b != 0 && ((a < 0) != (b < 0))) ? q - 1 : q; -} -inline int64_t mod(int64_t a, int64_t b) { - const int64_t r = a % b; - return (r != 0 && ((r < 0) != (b < 0))) ? r + b : r; -} -inline int64_t max(int64_t a, int64_t b) { return a > b ? a : b; } -inline int64_t min(int64_t a, int64_t b) { return a < b ? a : b; } - -// IR conv_2d: kernel [KW, KH, IC, OC], input [W, H, IC, N] -> [OW, OH, OC, N] (+ bias [OC]). -// f16 kernels on a GPU run as ggml_conv_2d_direct (implicit GEMM on tensor cores) when the output -// has enough positions to fill it (image backbones). Otherwise im2col in the kernel's float type -// and one matmul, with the kernel as the right operand so the result comes out channel-first. -// (ggml_conv_2d itself would build the patch buffer in f16.) A 1-D U-Net over 16 steps -// runs ~2x faster as im2col + matmul than as direct convolution on an RTX 3060. -constexpr int64_t kDirectConvMinPositions = 1024; - -inline ggml_tensor * conv_2d(ggml_context * ctx, ggml_tensor * w, ggml_tensor * x, ggml_tensor * bias, int s0, int s1, - int p0, int p1, int d0, int d1, bool gpu) { - ggml_tensor * y; - const int64_t ow = (x->ne[0] + 2 * p0 - d0 * (w->ne[0] - 1) - 1) / s0 + 1; - const int64_t oh = (x->ne[1] + 2 * p1 - d1 * (w->ne[1] - 1) - 1) / s1 + 1; - if (gpu && w->type == GGML_TYPE_F16 && ow * oh * x->ne[3] >= kDirectConvMinPositions) { - y = ggml_conv_2d_direct(ctx, w, x, s0, s1, p0, p1, d0, d1); - } else { - const ggml_type ct = w->type == GGML_TYPE_F16 ? GGML_TYPE_F16 : GGML_TYPE_F32; - ggml_tensor * col = ggml_im2col(ctx, w, x, s0, s1, p0, p1, d0, d1, true, ct); // [K, OW, OH, N] - y = ggml_mul_mat(ctx, ggml_reshape_2d(ctx, col, col->ne[0], col->ne[1] * col->ne[2] * col->ne[3]), - ggml_reshape_2d(ctx, w, w->ne[0] * w->ne[1] * w->ne[2], w->ne[3])); - if (col->ne[3] == 1) { - y = ggml_reshape_4d(ctx, y, col->ne[1], col->ne[2], w->ne[3], 1); - } else { - y = ggml_cont(ctx, - ggml_permute(ctx, ggml_reshape_4d(ctx, y, col->ne[1], col->ne[2], col->ne[3], w->ne[3]), 0, 1, 3, 2)); - } - } - if (bias) { - y = ggml_add(ctx, y, ggml_reshape_4d(ctx, bias, 1, 1, bias->ne[0], 1)); - } - return y; -} - -// IR gelu_tanh: 0.5 x (1 + tanh(sqrt(2/pi) (x + 0.044715 x^3))) in f32. GPU backends compute -// ggml_gelu with exactly that formula; the CPU one reads an fp16 table, so CPU spells it out. -inline ggml_tensor * gelu_tanh(ggml_context * ctx, ggml_tensor * x, bool gpu) { - if (gpu) { - return ggml_gelu(ctx, x); - } - ggml_tensor * inner = ggml_add(ctx, x, ggml_scale(ctx, ggml_mul(ctx, ggml_sqr(ctx, x), x), 0.044715f)); - ggml_tensor * t = ggml_tanh(ctx, ggml_scale(ctx, inner, 0.7978845608f)); // sqrt(2/pi) - return ggml_mul(ctx, x, ggml_scale_bias(ctx, t, 0.5f, 0.5f)); -} - -// IR view: a step-1 slice along ggml dim `dim` starting at `start`; ne is the result's shape. -// A size-1 dim's stride never moves an address, so it gets the packed value: ggml's layout checks -// (ggml_is_contiguous, ggml_is_padded_1d in ggml_scale) compare strides even across size-1 dims, -// and a slice of the outermost dim would otherwise keep its parent's. -inline ggml_tensor * slice(ggml_context * ctx, ggml_tensor * x, int dim, int64_t start, int64_t ne0, int64_t ne1, - int64_t ne2, int64_t ne3) { - const int64_t ne[4] = { ne0, ne1, ne2, ne3 }; - size_t nb[4] = { x->nb[0], x->nb[1], x->nb[2], x->nb[3] }; - for (int k = 1; k < 4; k++) { - if (ne[k] == 1) { - nb[k] = nb[k - 1] * ne[k - 1]; - } - } - return ggml_view_4d(ctx, x, ne0, ne1, ne2, ne3, nb[1], nb[2], nb[3], start * x->nb[dim]); -} - -// IR reshape. A contiguous input is ggml_reshape_4d. A strided one (a view) may only gain or lose -// size-1 dims: its non-unit dims keep their order and strides, which is a view with those strides -// (size-1 dims packed, as in slice). Returns nullptr if neither applies. -inline ggml_tensor * reshape(ggml_context * ctx, ggml_tensor * x, int64_t ne0, int64_t ne1, int64_t ne2, int64_t ne3) { - if (ggml_is_contiguous(x)) { - return ggml_reshape_4d(ctx, x, ne0, ne1, ne2, ne3); - } - const int64_t ne[4] = { ne0, ne1, ne2, ne3 }; - size_t nb[4] = { x->nb[0], 0, 0, 0 }; - int k = 0; // next dim of x - for (int i = 0; i < 4; i++) { - if (ne[i] == 1) { - if (i > 0) nb[i] = nb[i - 1] * ne[i - 1]; - continue; - } - while (k < 4 && x->ne[k] == 1) k++; - if (k == 4 || x->ne[k] != ne[i]) return nullptr; - nb[i] = x->nb[k++]; - } - while (k < 4 && x->ne[k] == 1) k++; - if (k != 4 || nb[0] != x->nb[0]) return nullptr; // dims left over, or the innermost moved - return ggml_view_4d(ctx, x, ne0, ne1, ne2, ne3, nb[1], nb[2], nb[3], 0); -} - -// IR scale: x * s + b. -inline ggml_tensor * scale(ggml_context * ctx, ggml_tensor * x, float s, float b) { - return b == 0.0f ? ggml_scale(ctx, x, s) : ggml_scale_bias(ctx, x, s, b); -} - -// A matmul; acc_f32 asks the backend to accumulate in f32 (Stage(matmul_acc="f32")): CUDA's cuBLAS -// path otherwise accumulates 16-bit weights' products in f16. -inline ggml_tensor * mul_mat(ggml_context * ctx, ggml_tensor * a, ggml_tensor * b, bool acc_f32) { - ggml_tensor * r = ggml_mul_mat(ctx, a, b); - if (acc_f32) { - ggml_prec_set_acc(r, GGML_PREC_F32); - } - return r; -} - -// Flash attention accumulating in f32, as llama.cpp asks for in every attention (its language -// models and its vision encoders): the default lets CUDA's kernels accumulate in f16, which Qwen3's -// large activations do not survive (Qwen3-VL-2B F16 KL 9.7e-3 against 1.1e-4 on CPU). -// -// `supported(t)` asks the backend whether it can run the flash attention node t. CUDA covers some -// head sizes only on some GPUs (512: Turing tensor cores and grouped-query heads); where it cannot, -// the same attention is built as Q·Kᵀ, softmax and P·V, both matmuls accumulating in f32 too. The -// runtime and generated C++ ask the same question, so they build the same graph. -template -inline ggml_tensor * flash_attn(ggml_context * ctx, ggml_tensor * q, ggml_tensor * k, ggml_tensor * v, ggml_tensor * mask, - float scale, Supported && supported) { - ggml_tensor * r = ggml_flash_attn_ext(ctx, q, k, v, mask, scale, 0.0f, 0.0f); - ggml_prec_set_acc(r, GGML_PREC_F32); - if (supported(r)) { - return r; - } - // q [D, Sq, H, B], k and v [D, Sk, Hkv, B]: mul_mat broadcasts the K/V heads over the query - // heads as flash attention does (query head h reads K/V head h / (H / Hkv)). - ggml_tensor * kq = ggml_mul_mat(ctx, k, q); // [Sk, Sq, H, B] - ggml_prec_set_acc(kq, GGML_PREC_F32); - kq = ggml_soft_max_ext(ctx, kq, mask, scale, 0.0f); - ggml_tensor * kqv = ggml_mul_mat(ctx, ggml_cont(ctx, ggml_transpose(ctx, v)), kq); // [D, Sq, H, B] - ggml_prec_set_acc(kqv, GGML_PREC_F32); - return ggml_cont(ctx, ggml_permute(ctx, kqv, 0, 2, 1, 3)); // [D, H, Sq, B], flash attention's layout -} - -} // namespace ggml_compiler::ops diff --git a/tests/py/cosmos3_edge_debug.py b/tests/py/cosmos3_edge_debug.py new file mode 100644 index 00000000..dabab037 --- /dev/null +++ b/tests/py/cosmos3_edge_debug.py @@ -0,0 +1,163 @@ +# Copyright 2026 VinRobotics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Stage-wise comparison of the Cosmos3-Edge engine with lerobot's policy, for when the actions disagree. + +`record` runs the policy on a CASE.npz of tests/py/cosmos3_edge_reference.py up to the first network call and +saves what the engine dumps under VLA_COSMOS3_DUMP_DIR: layer 0's and the last layer's prompt keys (normed and +rotated for the generation queries) and values, the generation stream's input embeddings, layer 0's rotated +queries and output, and the velocities of the first step. `compare` reads both and prints, per tensor, the +largest difference against the reference's magnitude. A tensor that matches to the reference's precision +(about 1e-2 scaled with a bf16 reference) and a later one that does not point at the stage in between. + + python tests/py/cosmos3_edge_debug.py record --ckpt --lerobot-src \\ + --case CASE.npz --out REF.npz [--dtype bf16|f32] + VLA_COSMOS3_DUMP_DIR=dump VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_parity.py --gguf M.gguf --case CASE.npz + python tests/py/cosmos3_edge_debug.py compare --ref REF.npz --dump dump +""" +import argparse +import sys +import types +from pathlib import Path + +import numpy as np + +ap = argparse.ArgumentParser() +sub = ap.add_subparsers(dest="cmd", required=True) +rec_ap = sub.add_parser("record") +rec_ap.add_argument("--ckpt", type=Path, required=True) +rec_ap.add_argument("--lerobot-src", type=Path, default=None) +rec_ap.add_argument("--case", type=Path, required=True) +rec_ap.add_argument("--out", type=Path, required=True) +rec_ap.add_argument("--device", default="cuda") +rec_ap.add_argument("--dtype", default="bf16", choices=("bf16", "f32")) +cmp_ap = sub.add_parser("compare") +cmp_ap.add_argument("--ref", type=Path, required=True) +cmp_ap.add_argument("--dump", type=Path, required=True) +args = ap.parse_args() + + +def record(): + if args.lerobot_src is not None: + sys.path.insert(0, str(args.lerobot_src)) + pkg = types.ModuleType("lerobot.policies") # see cosmos3_edge_reference.py + pkg.__path__ = [str(args.lerobot_src / "lerobot" / "policies")] + sys.modules["lerobot.policies"] = pkg + import torch + from lerobot.configs.policies import PreTrainedConfig + from lerobot.policies.cosmos3.modeling_cosmos3 import Cosmos3EdgePolicy, FlowState, MoTAttention, MoTDecoderLayer + + device = torch.device(args.device) + cfg = PreTrainedConfig.from_pretrained(str(args.ckpt)) + cfg.device, cfg.dtype = "cpu", torch.bfloat16 if args.dtype == "bf16" else torch.float32 + cfg.gradient_checkpointing = cfg.compile_model = False + policy = Cosmos3EdgePolicy.from_pretrained(str(args.ckpt), config=cfg) + policy.eval() + net = policy.model.network + del net.mot_backbone.model.visual, net.mot_backbone.model.projector, net.mot_backbone.lm_head, net.vae.decoder + policy.to(device) + + case = np.load(args.case) + ids = torch.from_numpy(case["input_ids"]).to(device) + mask = torch.from_numpy(case["attention_mask"]).to(device) + pv = (torch.from_numpy(case["canvas"]).float().to(device) / 127.5 - 1.0)[:, :, None] # [1, 3, 1, H, W] + frames = 1 + cfg.chunk_size // net.vae.config.scale_factor_temporal + lat_h, lat_w = case["canvas"].shape[2] * 0 + 10, 20 # the content grid of the 192x320 canvas + grid = torch.tensor([[frames, lat_h, lat_w]], device=device) + spg = torch.full((1,), net.vae.config.scale_factor_temporal / cfg.fps, device=device) + patch, z_dim = cfg.latent_patch_size, net.vae.config.z_dim + ppf = (lat_h // patch) * (lat_w // patch) + + rec = {} + layers = net.mot_backbone.model.language_model.layers + last = len(layers) - 1 + orig_attn = MoTAttention.two_way_attention + + def two_way(self, query, key, value, query_gen, key_gen, value_gen, am, amg, key_und_for_gen=None, **kw): + if "done" not in rec and self.layer_idx in (0, last): + rec[f"l{self.layer_idx}_key_und_for_gen"] = key_und_for_gen.float().cpu().numpy() + rec[f"l{self.layer_idx}_value"] = value.float().cpu().numpy() + if self.layer_idx == 0: + rec["l0_query_gen"] = query_gen.float().cpu().numpy() + return orig_attn(self, query, key, value, query_gen, key_gen, value_gen, am, amg, key_und_for_gen=key_und_for_gen, **kw) + + orig_layer = MoTDecoderLayer.forward + + def layer_fwd(self, h, hg, pe, peg, **kw): + if "done" not in rec and self is layers[0]: + rec["gen_emb"] = hg.float().cpu().numpy() + out = orig_layer(self, h, hg, pe, peg, **kw) + if "done" not in rec and self is layers[0]: + rec["l0_hidden_gen"] = out[1].float().cpu().numpy() + return out + + MoTAttention.two_way_attention = two_way + MoTDecoderLayer.forward = layer_fwd + + model = policy.model + with torch.no_grad(): + patches = torch.zeros(1, frames * ppf, patch * patch * z_dim) + patches[0, ppf:] = torch.from_numpy(case["video_noise"]) + vn = net.unpatchify(patches, torch.Size((1, z_dim, frames, lat_h, lat_w))).to(device) + an = torch.zeros(1, cfg.chunk_size, cfg.max_action_dim) + an[0, :, : cfg.original_action_dim] = torch.from_numpy(case["action_noise"]) + plan = model.build_sequence_plan(grid, cfg.chunk_size) + pos = net.get_rope_index(ids, grid, spg, num_actions=cfg.chunk_size, + action_start_frame_offset=plan.action_start_frame_offset, attention_mask=mask, + mm_token_type_ids=torch.zeros_like(ids, dtype=torch.int)) + clean = model.encode_clean(pv, grid, torch.zeros(1, cfg.chunk_size, cfg.max_action_dim, device=device), plan) + ones = torch.ones(1, device=device) + noisy = model.add_noise(clean, FlowState(vn, an.to(device)), ones, ones, plan) + t0 = model.make_scheduler(device).timesteps[0] + vel = model.mask_velocity(model.predict_velocity(noisy, t0.expand(1), t0.expand(1), plan, ids, pos, attention_mask=mask), plan) + rec["step0_vv"] = net.patchify(vel.video_latents)[0].reshape(frames * ppf, -1).float().cpu().numpy() + rec["step0_va"] = vel.actions[0, :, : cfg.original_action_dim].float().cpu().numpy() + rec["done"] = np.array(1) + np.savez(args.out, **rec) + print("saved", {k: v.shape for k, v in rec.items()}) + + +def compare(): + ref = np.load(args.ref) + n = ref["l0_key_und_for_gen"].shape[2] + last = max(int(k[1:].split("_")[0]) for k in ref.files if k.startswith("l") and k[1].isdigit()) + n_gen, hidden = ref["gen_emb"].shape[1:] + n_heads, _, head_dim = ref["l0_query_gen"].shape[1:] + n_kv = ref["l0_value"].shape[1] + + def eng(name, shape): + return np.fromfile(args.dump / f"{name}.f32", dtype=np.float32).reshape(shape) + + def cmp(label, a, b, rows=None): + if rows is not None: + a, b = a[rows], b[rows] + a, b = a.astype(np.float64), b.astype(np.float64) + d = np.abs(a - b).max() + print(f"{label:30s} max|d| {d:.3e} scaled {d / max(1e-9, np.abs(b).max()):.3e}") + + # ggml stores [head_dim, n, heads]: numpy [heads, n, head_dim], like torch's [1, heads, n, head_dim]. + cmp("prompt keys, layer 0", eng("kv_k0", (n_kv, n, head_dim)), ref["l0_key_und_for_gen"][0]) + cmp("prompt values, layer 0", eng("kv_v0", (n_kv, n, head_dim)), ref["l0_value"][0]) + cmp(f"prompt keys, layer {last}", eng("kv_k_last", (n_kv, n, head_dim)), ref[f"l{last}_key_und_for_gen"][0]) + cmp(f"prompt values, layer {last}", eng("kv_v_last", (n_kv, n, head_dim)), ref[f"l{last}_value"][0]) + cmp("generation embeddings", eng("step0_emb", (n_gen, hidden)), ref["gen_emb"][0]) + cmp("rotated queries, layer 0", eng("step0_q0", (n_heads, n_gen, head_dim)), ref["l0_query_gen"][0]) + cmp("hidden after layer 0", eng("step0_h0", (n_gen, hidden)), ref["l0_hidden_gen"][0]) + vv_ref = ref["step0_vv"] + ppf = int(np.flatnonzero(np.abs(vv_ref).max(axis=1))[0]) # the condition frame's rows are zero in the reference + cmp("video velocity, step 0 (noisy frames)", eng("step0_vv", vv_ref.shape), vv_ref, rows=slice(ppf, None)) + cmp("action velocity, step 0", eng("step0_va", ref["step0_va"].shape), ref["step0_va"]) + + +record() if args.cmd == "record" else compare() diff --git a/tests/py/cosmos3_edge_parity.py b/tests/py/cosmos3_edge_parity.py index 8d936a78..f2f127bf 100644 --- a/tests/py/cosmos3_edge_parity.py +++ b/tests/py/cosmos3_edge_parity.py @@ -1,11 +1,10 @@ -"""Cosmos3-Edge through libvla against the ggml-compiler runtime and the PyTorch reference, one case. +"""Cosmos3-Edge through libvla against the PyTorch reference, one case. -Inputs come from ggml/check_stages.py (the cosmos3_edge_wam repo): `--out CASE.npz` writes CASE.npz (the f32 PyTorch -outputs) and CASE.npz.inputs.npz (canvas, input_ids, attention_mask, video_noise, action_noise). The two camera -views are the first two torch.rand draws of the generator seeded with --seed, as check_stages.py makes them. +CASE.npz comes from tests/py/cosmos3_edge_reference.py (lerobot's policy on the same views, prompt and noise). +The engine gets the views, the token ids and the action noise through libvla, the video noise through +VLA_COSMOS3_VIDEO_NOISE, and dumps its canvas and latent for the stage checks. - VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_parity.py --gguf M.gguf --inputs CASE.npz.inputs.npz \\ - --torch CASE.npz --seed 1 [--compiler-out REF.npz] + VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_parity.py --gguf M.gguf --case CASE.npz """ import argparse, os, sys, tempfile import numpy as np @@ -15,54 +14,54 @@ ap = argparse.ArgumentParser() ap.add_argument("--gguf", required=True) -ap.add_argument("--inputs", required=True) -ap.add_argument("--torch", required=True, help="CASE.npz, the f32 PyTorch outputs") -ap.add_argument("--seed", type=int, required=True) -ap.add_argument("--compiler-out", help="`ggml-compiler run` outputs of the same GGUF's source on the same inputs") +ap.add_argument("--case", required=True, help="CASE.npz of tests/py/cosmos3_edge_reference.py") +ap.add_argument("--save", help="write the engine's actions (both runs) to this .npz") args = ap.parse_args() -import torch # only to draw the same views as check_stages.py tmp = tempfile.mkdtemp() -inp = np.load(args.inputs) -vn_path, canvas_path = os.path.join(tmp, "vn.f32"), os.path.join(tmp, "canvas.f32") -np.ascontiguousarray(inp["video_noise"], dtype=np.float32).tofile(vn_path) +case = np.load(args.case) +vn_path, canvas_path, z0_path = (os.path.join(tmp, f) for f in ("vn.f32", "canvas.f32", "z0.f32")) +np.ascontiguousarray(case["video_noise"], dtype=np.float32).tofile(vn_path) os.environ["VLA_COSMOS3_VIDEO_NOISE"] = vn_path os.environ["VLA_COSMOS3_DUMP_CANVAS"] = canvas_path +os.environ["VLA_COSMOS3_DUMP_Z0"] = z0_path import vla_cpp -g = torch.Generator().manual_seed(args.seed) -views = [torch.rand(3, 256, 256, generator=g).permute(1, 2, 0).contiguous().numpy() for _ in range(2)] -n = int(inp["attention_mask"].sum()) -tokens = inp["input_ids"][0, :n].tolist() +n = int(case["attention_mask"].sum()) +tokens = case["input_ids"][0, :n].tolist() +noise = case["action_noise"].astype(np.float32).ravel() +views = [np.ascontiguousarray(v, dtype=np.float32) for v in case["views"]] model = vla_cpp.load(args.gguf) -actions = model.predict(views, tokens, noise=inp["action_noise"].astype(np.float32).ravel(), - pixel_format=vla_cpp.PIXEL_F32_RGB_01, timing=1) +actions = model.predict(views, tokens, noise=noise, pixel_format=vla_cpp.PIXEL_F32_RGB_01, timing=1) st = model.last_stats() -print(f"actions {actions.shape} total {st.ms_total:.0f} ms (vae {st.ms_vision:.0f}, prefill {st.ms_prefill:.0f}, denoise {st.ms_denoise:.0f})") +print(f"actions {actions.shape} total {st.ms_total:.0f} ms (vae {st.ms_vision:.0f}, prefill {st.ms_prefill:.0f}, " + f"denoise {st.ms_denoise:.0f})") -canvas = np.fromfile(canvas_path, dtype=np.float32).reshape(inp["canvas"].shape) -diff = canvas != inp["canvas"] -print(f"canvas: {int(diff.sum())} of {diff.size} pixels differ from lerobot's" - + (f", max |d| {np.abs(canvas - inp['canvas']).max():.0f} levels" if diff.any() else " (identical)")) def err(a, b): + """Max absolute difference, scaled by the reference's magnitude (at least 1).""" return float(np.abs(a - b).max() / max(1.0, np.abs(b).max())) -ref = np.load(args.torch)["actions"].reshape(actions.shape) -comp = np.load(args.compiler_out)["actions"].reshape(actions.shape) if args.compiler_out else None -def report(label, a): - line = f"[{label}] vs PyTorch f32: scaled error {err(a, ref):.3e}" - if comp is not None: - line += f"; vs ggml-compiler runtime: max|d| {np.abs(a - comp).max():.3e}, bit-identical {np.array_equal(a, comp)}" - print(line) +canvas = np.fromfile(canvas_path, dtype=np.float32).reshape(case["canvas"].shape) +diff = canvas != case["canvas"] +print(f"canvas: {int(diff.sum())} of {diff.size} pixels differ from lerobot's" + + (f", max |d| {np.abs(canvas - case['canvas']).max():.0f} levels" if diff.any() else " (identical)")) +z0 = np.fromfile(z0_path, dtype=np.float32).reshape(case["z0"].shape) +print(f"latent z0 (on the engine's canvas): scaled error {err(z0, case['z0']):.3e}") -report("two views, canvas built here", actions) +ref = case["actions"].reshape(actions.shape) +print(f"[two views, canvas built here] vs PyTorch: scaled error {err(actions, ref):.3e}, " + f"max |d| {np.abs(actions - ref).max():.3e}") # The same model on the canvas lerobot's processor made (one canvas-sized image): the engine alone. -lerobot_canvas = np.ascontiguousarray(np.transpose(inp["canvas"][0], (1, 2, 0)).astype(np.uint8)) -actions2 = model.predict([lerobot_canvas], tokens, noise=inp["action_noise"].astype(np.float32).ravel(), - pixel_format=vla_cpp.PIXEL_U8) -report("lerobot canvas passed in", actions2) +lerobot_canvas = np.ascontiguousarray(np.transpose(case["canvas"][0], (1, 2, 0)).astype(np.uint8)) +actions2 = model.predict([lerobot_canvas], tokens, noise=noise, pixel_format=vla_cpp.PIXEL_U8) +z0b = np.fromfile(z0_path, dtype=np.float32).reshape(case["z0"].shape) +print(f"latent z0 (on lerobot's canvas): scaled error {err(z0b, case['z0']):.3e}") +print(f"[lerobot canvas passed in] vs PyTorch: scaled error {err(actions2, ref):.3e}, " + f"max |d| {np.abs(actions2 - ref).max():.3e}") +if args.save: + np.savez(args.save, actions=actions, actions_lerobot_canvas=actions2, z0=z0, z0_lerobot_canvas=z0b) diff --git a/tests/py/cosmos3_edge_reference.py b/tests/py/cosmos3_edge_reference.py new file mode 100644 index 00000000..6f506059 --- /dev/null +++ b/tests/py/cosmos3_edge_reference.py @@ -0,0 +1,167 @@ +# Copyright 2026 VinRobotics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""The PyTorch reference of one Cosmos3-Edge call, for tests/py/cosmos3_edge_parity.py. + +Runs lerobot's Cosmos3 policy (lerobot with policies/cosmos3, commit 02655292 or later) on two camera views and +a task through its own processors, with seeded noise, and writes CASE.npz: + + views f32 [2, 256, 256, 3] in [0, 1] the camera views, as libvla takes them (PIXEL_F32_RGB_01) + canvas f32 [1, 3, 192, 320] the canvas in uint8 levels, as the processor composed it + input_ids i64 [1, n] attention_mask i64 [1, n] + video_noise f32 [200, 192] noise of the 4 predicted latent frames, 50 patches x (p, q, c) + action_noise f32 [16, 10] + z0 f32 [50, 192] the normalized latent of the canvas, patchified + actions_norm f32 [16, 10] the sampled chunk in the normalized action space + actions f32 [16, 10] the chunk unnormalized with the postprocessor's quantiles + + python tests/py/cosmos3_edge_reference.py --ckpt --lerobot-src \\ + --task "put the bowl on the plate" --seed 1 --out CASE.npz [--views a.png b.png] \\ + [--device cuda] [--dtype bf16|f32] [--slim] + +`--slim` drops the modules action inference never runs (the SigLIP tower and its projector, the language head, +the VAE decoder) before moving the policy to the device: the bf16 policy then fits a 12 GB GPU. +""" +import argparse +import sys +from pathlib import Path + +import numpy as np + +ap = argparse.ArgumentParser() +ap.add_argument("--ckpt", type=Path, required=True, help="checkpoint directory (config.json, model.safetensors, tokenizer/)") +ap.add_argument("--lerobot-src", type=Path, default=None, help="lerobot/src to import from (else the installed lerobot)") +ap.add_argument("--task", required=True) +ap.add_argument("--seed", type=int, required=True, help="seed of the views (without --views) and of both noises") +ap.add_argument("--views", nargs=2, default=None, help="two PNGs [third person, wrist]; random 256x256 views without") +ap.add_argument("--out", type=Path, required=True) +ap.add_argument("--device", default="cuda") +ap.add_argument("--dtype", default="bf16", choices=("bf16", "f32", "f32-stream"), + help="f32-stream: f32 arithmetic on the checkpoint's bf16 values, one decoder layer cast at a time (the " + "arithmetic libvla does with bf16 weights, and it fits a 12 GB GPU with --slim)") +ap.add_argument("--slim", action="store_true") +args = ap.parse_args() + +if args.lerobot_src is not None: + sys.path.insert(0, str(args.lerobot_src)) + # lerobot.policies' __init__ imports every policy, some of which want a newer transformers than Cosmos3 + # needs; take the package without running it. + import types + pkg = types.ModuleType("lerobot.policies") + pkg.__path__ = [str(args.lerobot_src / "lerobot" / "policies")] + sys.modules["lerobot.policies"] = pkg + +import torch # noqa: E402 +from safetensors import safe_open # noqa: E402 + +from lerobot.configs.policies import PreTrainedConfig # noqa: E402 +from lerobot.policies.cosmos3.modeling_cosmos3 import Cosmos3EdgePolicy, FlowState # noqa: E402 +from lerobot.policies.cosmos3.processor_cosmos3 import make_cosmos3_pre_post_processors_from_pretrained # noqa: E402 + +device = torch.device(args.device) +cfg = PreTrainedConfig.from_pretrained(str(args.ckpt)) +cfg.device = "cpu" # load on the host, then move what is left +cfg.dtype = torch.float32 if args.dtype == "f32" else torch.bfloat16 +cfg.gradient_checkpointing = False +cfg.compile_model = False +policy = Cosmos3EdgePolicy.from_pretrained(str(args.ckpt), config=cfg) +policy.eval() +net = policy.model.network +if args.slim: + del net.mot_backbone.model.visual + del net.mot_backbone.model.projector + del net.mot_backbone.lm_head + del net.vae.decoder +policy.to(device) +if args.dtype == "f32-stream": + # Everything but the decoder layers in f32 for good; each layer is cast to f32 for its forward and back to + # bf16 after (its values are bf16, so nothing is lost), and the token embeddings come out f32. + from lerobot.policies.cosmos3.modeling_cosmos3 import MoTDecoderLayer + lm = net.mot_backbone.model.language_model + for module in (net.vae, net.vae2llm, net.llm2vae, net.action2llm, net.llm2action, net.action_modality_embed, + lm.norm, lm.norm_gen): + module.float() + embed_forward = lm.embed_tokens.forward + lm.embed_tokens.forward = lambda ids: embed_forward(ids).float() + layer_forward = MoTDecoderLayer.forward + + def streamed(self, *a, **kw): + self.float() + try: + return layer_forward(self, *a, **kw) + finally: + self.to(torch.bfloat16) + + MoTDecoderLayer.forward = streamed +print(f"policy on {device} in {args.dtype}{' (slim)' if args.slim else ''}") + +pre, _ = make_cosmos3_pre_post_processors_from_pretrained( + cfg, str(args.ckpt), preprocessor_overrides={"device_processor": {"device": str(device)}}, + postprocessor_overrides={"device_processor": {"device": "cpu"}}) + +# --- the views and the batch --------------------------------------------------------------------------------- +g = torch.Generator().manual_seed(args.seed) +if args.views: + from PIL import Image + views = [torch.from_numpy(np.asarray(Image.open(p).convert("RGB"), dtype=np.float32) / 255.0).permute(2, 0, 1) + for p in args.views] +else: + views = [torch.rand(3, 256, 256, generator=g) for _ in range(2)] +cameras = list(cfg.image_features) +obs = {cameras[0]: views[0], cameras[1]: views[1], "observation.state": torch.zeros(8), "task": args.task} +batch = pre(obs) +pv, grid, spg = batch["pixel_values_videos_gen"], batch["video_grid_thw_gen"], batch["second_per_grid_ts_gen"] +ids, mask = batch["input_ids"], batch["attention_mask"] +n_text = int(mask.sum()) +print(f"prompt {n_text} tokens; canvas {tuple(pv.shape)}, latent grid {grid[0].tolist()}") + +# --- the noise, in libvla's layout ----------------------------------------------------------------------- +rng = np.random.default_rng(args.seed) +frames, lat_h, lat_w = (int(x) for x in grid[0].tolist()) +patch = cfg.latent_patch_size +z_dim = net.vae.config.z_dim +ppf = (lat_h // patch) * (lat_w // patch) # patches per latent frame +video_noise = rng.standard_normal(((frames - 1) * ppf, patch * patch * z_dim), dtype=np.float32) +action_noise = rng.standard_normal((cfg.chunk_size, cfg.original_action_dim), dtype=np.float32) +# The condition frame's noise is never read (its noise level is 0): zeros, then libvla's rows. +patches = torch.zeros(1, frames * ppf, patch * patch * z_dim) +patches[0, ppf:] = torch.from_numpy(video_noise) +vn = net.unpatchify(patches, torch.Size((1, z_dim, frames, lat_h, lat_w))).to(device) +an = torch.zeros(1, cfg.chunk_size, cfg.max_action_dim) +an[0, :, : cfg.original_action_dim] = torch.from_numpy(action_noise) +an = an.to(device) + +# --- the reference ------------------------------------------------------------------------------------------- +with torch.no_grad(): + z0 = net.encode_video(pv, grid) # [1, C, 1, h, w] normalized + z0_patches = net.patchify(z0)[0, 0].float().cpu().numpy() # [ppf, p*p*C] + actions_full, _ = policy.model.generate( + input_ids=ids, pixel_values_videos_gen=pv, video_grid_thw_gen=grid, second_per_grid_ts_gen=spg, + attention_mask=mask, mm_token_type_ids=batch.get("mm_token_type_ids"), noise=FlowState(vn, an)) +actions_norm = actions_full[0, :, : cfg.original_action_dim].float().cpu().numpy() + +# The postprocessor's unnormalizer: QUANTILES, (x + 1) / 2 * (q99 - q01) + q01. +post_meta = __import__("json").loads((args.ckpt / "policy_postprocessor.json").read_text()) +state_file = next(s["state_file"] for s in post_meta["steps"] if s["registry_name"] == "unnormalizer_processor") +with safe_open(str(args.ckpt / state_file), framework="pt") as f: + q01 = f.get_tensor("action.q01").float().numpy() + q99 = f.get_tensor("action.q99").float().numpy() +denom = np.where(q99 - q01 == 0, 1e-8, q99 - q01) +actions = (actions_norm + 1.0) * denom / 2.0 + q01 + +canvas = ((pv[0, :, 0].float().cpu() + 1.0) * 127.5).round().numpy()[None] # [1, 3, H, W] in levels +np.savez(args.out, views=np.stack([v.permute(1, 2, 0).contiguous().numpy() for v in views]), canvas=canvas, + input_ids=ids.cpu().numpy(), attention_mask=mask.cpu().numpy(), video_noise=video_noise, + action_noise=action_noise, z0=z0_patches, actions_norm=actions_norm, actions=actions.astype(np.float32)) +print(f"wrote {args.out}: actions[0] = {np.array2string(actions[0], precision=4)}") diff --git a/tests/py/test_converters.py b/tests/py/test_converters.py index 5214f0aa..b437cce8 100644 --- a/tests/py/test_converters.py +++ b/tests/py/test_converters.py @@ -387,52 +387,57 @@ def __getitem__(self, key): assert "model.encoder.norm.weight" not in tensors.keys_read -def _cosmos3_edge_program(**over): - prog = { - "stages": [{"name": n} for n in ("vae_encode", "prefix", "init", "step", "finish")], - "inputs": [{"name": n} for n in ("canvas", "input_ids", "attention_mask", "video_noise", "action_noise")], - "values": [ - {"name": "canvas", "ne": [320, 192, 3, 1]}, - {"name": "input_ids", "ne": [192, 1]}, - {"name": "video_noise", "ne": [192, 200, 1]}, - {"name": "action_noise", "ne": [10, 16, 1]}, - ], - "driver": [ - {"op": "call", "stage": "vae_encode"}, - {"op": "loop", "n": 3, "scalars": [ - {"value": v, "values": [float(k), float(k) + 0.5, float(k) + 0.25]} - for k, v in enumerate(("t", "sigma", "E", "A", "B", "C", "D", "Fc", "Gc", "Hc")) - ]}, - ], +def _cosmos3_edge_config(**over): + cfg = { + "type": "cosmos3_edge", + "input_features": { + "observation.images.image": {"type": "VISUAL", "shape": [3, 256, 256]}, + "observation.images.image2": {"type": "VISUAL", "shape": [3, 256, 256]}, + "observation.state": {"type": "STATE", "shape": [8]}, + }, + "view_size": [256, 256], + "vae": {"scale_factor_spatial": 16, "patch_size": 2, "is_residual": True}, + "mot_backbone": {"text_config": {"hidden_act": "relu2", "joint_attn_implementation": "two_way", + "rope_parameters": {"rope_type": "default"}}}, + "mode": "wam", "use_state": False, "guidance_scale": 1.0, "n_obs_steps": 1, "sampler": "unipc", + "latent_patch_size": 2, } - prog.update(over) - return prog + cfg.update(over) + return cfg -def test_cosmos3_edge_converter_program(): +def test_cosmos3_edge_converter_canvas_layout(): + """canvas_layout follows lerobot's Cosmos3VideoCanvasProcessorStep: two 256x256 views side by side pick the + 16:9 canvas of the 256 tier, fit without enlarging (160x320 of 192x320), latent grid 10x20.""" _stub_deps() sys.path.insert(0, str(SCRIPTS)) import convert_cosmos3_edge_to_gguf as c - info = c.parse_program(_cosmos3_edge_program()) - # sizes come from the compiler's ggml-order shapes (innermost first) - assert (info["canvas_h"], info["canvas_w"], info["prompt_len"]) == (192, 320, 192) - assert (info["video_tok"], info["video_dim"], info["horizon"], info["action_dim"]) == (200, 192, 16, 10) - # the table is [step][scalar]: row k holds step k's ten values, in the order of c.SCALARS - assert info["n_steps"] == 3 and len(info["table"]) == 3 - assert info["table"][0] == [float(j) for j in range(10)] - assert info["table"][1] == [j + 0.5 for j in range(10)] + lay = c.canvas_layout(_cosmos3_edge_config()) + assert (lay["n_views"], lay["view_h"], lay["view_w"]) == (2, 256, 256) + assert (lay["canvas_h"], lay["canvas_w"], lay["content_h"], lay["content_w"]) == (192, 320, 160, 320) + assert (lay["latent_h"], lay["latent_w"], lay["aspect_ratio"]) == (10, 20, "16,9") + assert lay["cameras"] == ["observation.images.image", "observation.images.image2"] + # One square view fills the square canvas as it is. + one = _cosmos3_edge_config(input_features={"observation.images.image": {"type": "VISUAL", "shape": [3, 256, 256]}}) + lay1 = c.canvas_layout(one) + assert (lay1["canvas_h"], lay1["canvas_w"], lay1["content_h"], lay1["content_w"]) == (256, 256, 256, 256) + assert (lay1["latent_h"], lay1["latent_w"], lay1["aspect_ratio"]) == (16, 16, "1,1") + + c.check_config(_cosmos3_edge_config()) for bad in ( - _cosmos3_edge_program(stages=[{"name": "prefix"}]), - _cosmos3_edge_program(inputs=[{"name": "canvas"}]), - _cosmos3_edge_program(driver=[]), + _cosmos3_edge_config(type="cosmos3_nano"), + _cosmos3_edge_config(mode="forward_dynamics"), + _cosmos3_edge_config(use_state=True), + _cosmos3_edge_config(guidance_scale=3.0), + _cosmos3_edge_config(sampler="euler"), ): try: - c.parse_program(bad) + c.check_config(bad) except SystemExit: continue - raise AssertionError("a program that is not Cosmos3-Edge's was accepted") + raise AssertionError("a config the engine is not written for was accepted") def test_cosmos3_edge_converter_tokenizer(tmp_path): From f62c51682ab1638ed5b91dd1c35b3b47b6a1a3e5 Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 17:28:02 +0700 Subject: [PATCH 11/17] docs: Cosmos3-Edge as a hand-written arch converted from the checkpoint, with what was checked against lerobot --- CHANGELOG.md | 16 ++++---- docs/MODELS.md | 102 ++++++++++++++++++++++++------------------------- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 732a512d..2679fe6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,17 +8,17 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke - **New model: Cosmos3-Edge** (`lerobot/Cosmos3-Edge-Policy-LIBERO`, a world-action model: a 28-layer Mixture-of-Transformers denoises 4 latent video frames and a 16-step action chunk together, 30 UniPC - steps). The five stage graphs (Wan2.2 VAE encoder, prompt prefix, init, one UniPC step, de-normalization) - were generated by ggml-compiler and are used as generated (`src/models/cosmos3_edge_graphs.cpp`, ported by - `scripts/port_cosmos3_graphs.py`); `src/models/cosmos3_edge.cpp` is the engine around them, including the + steps). `src/models/cosmos3_edge.cpp` writes the Wan2.2 VAE encoder and the two-stream Nemotron 3 backbone + as ggml graphs after lerobot's `policies/cosmos3`, runs the UniPC solver on the host, and composes the canvas the model expects (two views side by side, bicubic with antialias, reflection padding). `src/models/cosmos3_edge_prompt.cpp` builds the prompt from the instruction (JSON caption, chat template, a byte-level BPE read from the GGUF; ASCII text only) and decodes rot6d to LIBERO commands, so - `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_edge_to_gguf.py` turns a `ggml-compiler compile` - output into the GGUF with the weights byte for byte (`--policy-dir` adds the tokenizer). On CPU and CUDA, - fed lerobot's canvas, the engine is bit-identical to ggml-compiler's runtime; captions, token ids and the - action decode match lerobot and Hugging Face on every LIBERO task; a 20-episode closed-loop smoke test on - libero_spatial succeeded in 19 episodes with the C++ canvas, tokenizer and decode in the loop. `vla-server` + `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_edge_to_gguf.py` reads the checkpoint's + safetensors (encoder, both streams, the LIBERO domain's action projections, statistics, tokenizer). + Against lerobot's policy in bf16 on the same inputs the chunk agrees to 2.2e-3 (CUDA) and 2.6e-3 (CPU) on one + prompt and 1.8e-2 on another, within what the bf16 reference's own rounding allows (an f32-arithmetic + reference, `tests/py/cosmos3_edge_reference.py --dtype f32-stream`, is there to settle it). Captions, token ids + and the action decode match lerobot and Hugging Face on every LIBERO task. `vla-server` serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset (tokens from the caption and chat template, with the caption settings read from the server's GGUF through `--gguf`, rot6d decoded to LIBERO commands); a request to the server returned the same bits as a diff --git a/docs/MODELS.md b/docs/MODELS.md index 44bad05c..e8a93798 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -72,42 +72,40 @@ python scripts/inspect_gguf_quant.py model-fq.gguf ## Cosmos3-Edge (world-action model) -Cosmos3-Edge (`lerobot/Cosmos3-Edge-Policy-LIBERO`) is not converted from its safetensors like the other -models. Its graphs were generated by [ggml-compiler](https://github.com/khanhnd61-vr/ggml-compiler) from a -PyTorch statement of the inference path, and they read their weights by the compiler's own names, so the -weights come from the same compile. Four steps: +Cosmos3-Edge (`lerobot/Cosmos3-Edge-Policy-LIBERO`) is a world-action model: a 28-layer Mixture-of-Transformers +backbone (Nemotron 3 Dense, an understanding stream over the prompt and a generation stream over +`[video patches | actions]`) denoises 4 latent video frames and a 16-step action chunk together, conditioned +on the Wan2.2 VAE latent of the current frame, with 30 UniPC steps. `src/models/cosmos3_edge.cpp` follows +lerobot's `policies/cosmos3/modeling_cosmos3.py`: the VAE encoder and the backbone are ggml graphs (the +understanding stream runs once, its keys and values are kept for the 30 steps), the UniPC solver +(diffusers' `UniPCMultistepScheduler`, flow prediction, order 2, corrector) runs on the host in f32 as the +reference does. Convert from the checkpoint directory: ```bash -# 1. in the model's repo (cosmos3_edge_wam): compile with the bf16 policy (the checkpoint's own values) -ggml-compiler compile ggml/export.py:program --out out/cosmos3 --emit gguf,cpp --name cosmos3 \ - --policy ggml/policy-bf16.yaml -# 2. regenerate the graph source only if export.py or the architecture changed (the checked-in one is from -# revision 0a81054; revision 9d4de43 has the same 649 tensors, names and shapes and runs with it unchanged) -python scripts/port_cosmos3_graphs.py --in out/cosmos3/cpp/cosmos3.cpp --out src/models/cosmos3_edge_graphs.cpp -# 3. the vla.cpp GGUF: tensors copied byte for byte, the sizes, the 30 per-step UniPC scalars, and with -# --policy-dir (the checkpoint's directory) the tokenizer and caption settings for --text -python scripts/convert_cosmos3_edge_to_gguf.py --ckpt out/cosmos3/model.gguf --policy-dir \ - --out cosmos3-edge-bf16.gguf -# 4. run -./build/vla-cli --ckpt cosmos3-edge-bf16.gguf --image third_person.png --image wrist.png \ +# the VAE encoder (one frame: the 3-D kernels' last temporal tap), the 28 layers of both streams, the +# projections of domain 5 (LIBERO), the latent statistics, the action quantiles, the canvas layout, the caption +# settings and the tokenizer. The decoder, the SigLIP tower and the language head stay out. +python scripts/convert_cosmos3_edge_to_gguf.py --ckpt --out cosmos3-edge-libero-bf16.gguf +./build/vla-cli --ckpt cosmos3-edge-libero-bf16.gguf --image third_person.png --image wrist.png \ --text "turn on the stove" --libero --pretty ``` **Inputs.** Two camera views in the order `[third person, wrist]`, of any size: each is resized to 256x256 with antialias, composed side by side and fit into the 192x320 canvas the way lerobot's -`Cosmos3VideoCanvasProcessorStep` does. Or one 320x192 image that the caller composed itself. The -instruction goes in as `--text`, which builds the JSON caption and the chat template of -`Cosmos3PromptProcessorStep` and tokenizes it with the model's byte-level BPE (in the GGUF when it was -converted with `--policy-dir`); or as `--tokens` ids from lerobot. The text must be ASCII; anything else is -refused. `noise` is the 16x10 action noise (random if omitted, or `VLA_COSMOS3_SEED`); the video noise is -drawn here from a seed that follows it (`VLA_COSMOS3_VIDEO_NOISE=` replaces it). +`Cosmos3VideoCanvasProcessorStep` does (the layout is in the GGUF). Or one 320x192 image that the caller +composed itself. The instruction goes in as `--text`, which builds the JSON caption and the chat template of +`Cosmos3PromptProcessorStep` and tokenizes it with the model's byte-level BPE from the GGUF; or as `--tokens` +ids from lerobot. The text must be ASCII; anything else is refused. `noise` is the 16x10 action noise (random +if omitted, or `VLA_COSMOS3_SEED`); the video noise is drawn here from a seed that follows it +(`VLA_COSMOS3_VIDEO_NOISE=` replaces it). **Output.** The 16x10 chunk in dataset units, `[dpos(3), rot6d(6), gripper]`. `vla-cli --libero` prints the LIBERO command `[dpos(3), axis-angle(3), gripper]` instead (lerobot's `Cosmos3LiberoActionProcessorStep`); -through `libvla` the caller decodes the rot6d. The weight types, the solver and the 30 steps are fixed by the -compiled graphs, so `--weight-dtype`, `--act-dtype`, `--flash-attn`, `--mm-prec-f32` and `--num-steps` are -refused. It is specialized to this model: two views, a 192x320 canvas, prompts of at most 192 tokens, domain 5 -(LIBERO), no robot state and no guidance; another setup needs a new compile. +through `libvla` the caller decodes the rot6d. GEMM weights are the checkpoint's bf16 (`--weight-dtype` casts +them at load); on CUDA the VAE runs as f16 direct convolutions, elsewhere as f32 im2col. `--flash-attn`, +`--mm-prec-f32` and `--num-steps` work; `--act-dtype bf16` is refused. The engine is written for this policy's +setup: mode `wam`, no robot state, no classifier-free guidance, one or two cameras of the 256 resolution tier; +the converter refuses a config that differs. **Serving.** `vla-server` needs no change for this model: it hands the images, token ids and noise of a request to `predict()` whatever the architecture is, and Cosmos3-Edge fits its checks (no state, a 16x10 noise, a 16x10 @@ -130,12 +128,19 @@ unaffected. The client needs a Python with LIBERO and a transformers that reads `COSMOS3_EDGE_PYTHON` picks it (default: the LIBERO venv of `eval/sim/libero/setup_libero.sh`, which pins an older transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. -**What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3090 only): - -- *The engine.* Given lerobot's canvas, its output is bit-identical to ggml-compiler's runtime: on CPU for three - prompts of 150, 153 and 161 tokens, on CUDA for one (`tests/py/cosmos3_edge_parity.py`). The same graphs, run - through ggml-compiler's runtime on all of LIBERO (2,000 episodes), reached 96.45% against 96.6% for the - PyTorch policy in bf16. +**What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3060): + +- *The engine*, against lerobot's policy run in bf16 (the configuration of its LIBERO numbers) on the same views, + tokens and noise (`tests/py/cosmos3_edge_reference.py` writes the case, `tests/py/cosmos3_edge_parity.py` + compares): on a 152-token prompt the 16x10 chunk agrees to a scaled error of 2.2e-3 on CUDA and 2.6e-3 on CPU, + on a 150-token prompt to 1.8e-2 (CUDA). The bf16 reference carries rounding of that order itself (its latent + differs from the engine's f32 one by 1e-2), so the second figure is not yet separated into engine and + reference error: `cosmos3_edge_reference.py --dtype f32-stream` (f32 arithmetic on the bf16 values, which + is what the engine computes) was written for that and has not been run to completion. Stage by stage at the + first step (`tests/py/cosmos3_edge_debug.py`): the prompt keys and values, the generation stream's + embeddings, layer 0's queries and output and both velocities agree to 5e-3 to 1e-2, the reference's precision. + The host UniPC port agrees with diffusers' scheduler to 5e-7 on a synthetic velocity field. One chunk takes + 4.3 s on the 3060 (VAE 0.11 s, prompt 0.11 s, 30 steps 4.1 s) and 74 to 103 s on a 12-thread CPU. - *The prompt.* For the 40 LIBERO tasks and five edge cases the caption is byte-identical to lerobot's and the ids to Hugging Face's, and 550 random ASCII and special-token texts tokenize identically (`test_cosmos3_edge_prompt`, data in `tests/data`). llama.cpp's BPE (`b11223`, pre-tokenizer `tekken`, which uses @@ -143,22 +148,17 @@ transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. was cross-checked against both. It implements the ASCII letter classes only, hence the ASCII limit. - *The action decode.* rot6d to axis-angle matches lerobot's to 7e-7 on 62 rows. - *The canvas.* The C++ canvas matches torch's CPU result to within one pixel of 184,320 on random images. It - differs from the canvas lerobot makes on a GPU in about 30 pixels, by one level each, as torch's own CPU and - CUDA results do; in the closed loop, on real frames, a mean of 46 pixels (0.025%) differ from lerobot's CPU - canvas, a count that does not say by how much. The effect on the actions is about 1e-3 to 2e-3, the size of - the bf16 rounding (PyTorch's own bf16 run is further from its f32 run than this engine is). -- *Closed loop, libero_spatial, 2 episodes per task (20 episodes, seed 0).* Through this engine with lerobot's - canvas and tokens: 18 of 20. With vla.cpp's own canvas, tokens and rot6d decode in the loop: 19 of 20, with - 0 token mismatches in 168 calls. Twenty episodes cannot separate these from each other or from the PyTorch - baseline. - -- *The server* (CPU, the older revision `0a81054`, `tests/py/cosmos3_edge_server_check.py`). A request for one - case returns exactly what a direct `libvla` call returns on the same inputs (bit-identical), after a warm-up of - 62 s. The client builds the same 150 token ids as the case's, its numpy rot6d decode matches lerobot's to 7e-7, - and `get_action` returned a whole chunk of 16 finite LIBERO commands. Through `eval/run_libero.sh -m cosmos3_edge - -s libero_spatial` (task 0, one episode, CPU) the episode was solved in 79 steps. One episode shows that the - path works end to end; it says nothing about a success rate. - -Not checked: ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server` on a GPU; more than one closed-loop episode -through the server (CPU takes about a minute per chunk); and a full 50-episode-per-task LIBERO run through vla.cpp -itself. + differs from the canvas lerobot makes on a GPU in 33 to 38 pixels, by one level each, as torch's own CPU and + CUDA results do; the actions on the two canvases differ by less than the engine-reference gap above. +- *The server* (CPU, an earlier revision of the engine, `tests/py/cosmos3_edge_server_check.py`). A request for + one case returned exactly what a direct `libvla` call returned on the same inputs, the client built the same + 150 token ids as the case's, its numpy rot6d decode matched lerobot's to 7e-7, and `get_action` returned a + whole chunk of 16 finite LIBERO commands. Through `eval/run_libero.sh -m cosmos3_edge -s libero_spatial` (task + 0, one episode, CPU) the episode was solved. The engine has been rewritten since; the server path itself is + unchanged. + +Not checked with the hand-written engine: the closed loop on LIBERO (an earlier revision of this port, with +graphs generated from the same PyTorch path, solved 19 of 20 libero_spatial episodes and reached 96.45% over all +of LIBERO against 96.6% for the PyTorch policy in bf16); `--flash-attn` (the VAE's 640-wide attention head is kept +on the explicit path because the CUDA kernels have no such head size, but the remaining path was not compared); +ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server` on a GPU. From 0b70b3f1b10adb9e3365a162ea7f9b82e2ba6bff Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 17:41:31 +0700 Subject: [PATCH 12/17] cosmos3_edge: drop the development and debugging tooling; the engine, the converter, the prompt test and the docs remain --- CHANGELOG.md | 3 +- docs/MODELS.md | 32 +++-- src/models/cosmos3_edge.cpp | 77 +----------- tests/CMakeLists.txt | 9 +- tests/cosmos3_edge_pyshim.cpp | 61 --------- tests/py/cosmos3_edge_debug.py | 163 ------------------------ tests/py/cosmos3_edge_parity.py | 67 ---------- tests/py/cosmos3_edge_reference.py | 167 ------------------------- tests/py/cosmos3_edge_server_check.py | 118 ----------------- tests/py/make_cosmos3_edge_fixtures.py | 96 -------------- 10 files changed, 21 insertions(+), 772 deletions(-) delete mode 100644 tests/cosmos3_edge_pyshim.cpp delete mode 100644 tests/py/cosmos3_edge_debug.py delete mode 100644 tests/py/cosmos3_edge_parity.py delete mode 100644 tests/py/cosmos3_edge_reference.py delete mode 100644 tests/py/cosmos3_edge_server_check.py delete mode 100644 tests/py/make_cosmos3_edge_fixtures.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 2679fe6b..0d26230a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,7 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_edge_to_gguf.py` reads the checkpoint's safetensors (encoder, both streams, the LIBERO domain's action projections, statistics, tokenizer). Against lerobot's policy in bf16 on the same inputs the chunk agrees to 2.2e-3 (CUDA) and 2.6e-3 (CPU) on one - prompt and 1.8e-2 on another, within what the bf16 reference's own rounding allows (an f32-arithmetic - reference, `tests/py/cosmos3_edge_reference.py --dtype f32-stream`, is there to settle it). Captions, token ids + prompt and 1.8e-2 on another, within what the bf16 reference's own rounding allows. Captions, token ids and the action decode match lerobot and Hugging Face on every LIBERO task. `vla-server` serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset (tokens from the caption and chat template, with the caption settings read from the server's GGUF through `--gguf`, rot6d decoded to diff --git a/docs/MODELS.md b/docs/MODELS.md index e8a93798..0f629e2c 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -96,8 +96,7 @@ antialias, composed side by side and fit into the 192x320 canvas the way lerobot composed itself. The instruction goes in as `--text`, which builds the JSON caption and the chat template of `Cosmos3PromptProcessorStep` and tokenizes it with the model's byte-level BPE from the GGUF; or as `--tokens` ids from lerobot. The text must be ASCII; anything else is refused. `noise` is the 16x10 action noise (random -if omitted, or `VLA_COSMOS3_SEED`); the video noise is drawn here from a seed that follows it -(`VLA_COSMOS3_VIDEO_NOISE=` replaces it). +if omitted, or `VLA_COSMOS3_SEED`); the video noise is drawn here from a seed that follows it. **Output.** The 16x10 chunk in dataset units, `[dpos(3), rot6d(6), gripper]`. `vla-cli --libero` prints the LIBERO command `[dpos(3), axis-angle(3), gripper]` instead (lerobot's `Cosmos3LiberoActionProcessorStep`); @@ -131,16 +130,14 @@ transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. **What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3060): - *The engine*, against lerobot's policy run in bf16 (the configuration of its LIBERO numbers) on the same views, - tokens and noise (`tests/py/cosmos3_edge_reference.py` writes the case, `tests/py/cosmos3_edge_parity.py` - compares): on a 152-token prompt the 16x10 chunk agrees to a scaled error of 2.2e-3 on CUDA and 2.6e-3 on CPU, - on a 150-token prompt to 1.8e-2 (CUDA). The bf16 reference carries rounding of that order itself (its latent - differs from the engine's f32 one by 1e-2), so the second figure is not yet separated into engine and - reference error: `cosmos3_edge_reference.py --dtype f32-stream` (f32 arithmetic on the bf16 values, which - is what the engine computes) was written for that and has not been run to completion. Stage by stage at the - first step (`tests/py/cosmos3_edge_debug.py`): the prompt keys and values, the generation stream's - embeddings, layer 0's queries and output and both velocities agree to 5e-3 to 1e-2, the reference's precision. - The host UniPC port agrees with diffusers' scheduler to 5e-7 on a synthetic velocity field. One chunk takes - 4.3 s on the 3060 (VAE 0.11 s, prompt 0.11 s, 30 steps 4.1 s) and 74 to 103 s on a 12-thread CPU. + tokens and noise: on a 152-token prompt the 16x10 chunk agrees to a scaled error of 2.2e-3 on CUDA and 2.6e-3 + on CPU, on a 150-token prompt to 1.8e-2 (CUDA). The bf16 reference carries rounding of that order itself (its + latent differs from the engine's f32 one by 1e-2), so the second figure is not yet separated into engine and + reference error; an f32 reference run is what settles it. Stage by stage at the first step, the prompt keys + and values, the generation stream's embeddings, layer 0's queries and output and both velocities agree to + 5e-3 to 1e-2, the reference's precision. The host UniPC port agrees with diffusers' scheduler to 5e-7 on a + synthetic velocity field. One chunk takes 4.3 s on the 3060 (VAE 0.11 s, prompt 0.11 s, 30 steps 4.1 s) and + 74 to 103 s on a 12-thread CPU. - *The prompt.* For the 40 LIBERO tasks and five edge cases the caption is byte-identical to lerobot's and the ids to Hugging Face's, and 550 random ASCII and special-token texts tokenize identically (`test_cosmos3_edge_prompt`, data in `tests/data`). llama.cpp's BPE (`b11223`, pre-tokenizer `tekken`, which uses @@ -150,12 +147,11 @@ transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. - *The canvas.* The C++ canvas matches torch's CPU result to within one pixel of 184,320 on random images. It differs from the canvas lerobot makes on a GPU in 33 to 38 pixels, by one level each, as torch's own CPU and CUDA results do; the actions on the two canvases differ by less than the engine-reference gap above. -- *The server* (CPU, an earlier revision of the engine, `tests/py/cosmos3_edge_server_check.py`). A request for - one case returned exactly what a direct `libvla` call returned on the same inputs, the client built the same - 150 token ids as the case's, its numpy rot6d decode matched lerobot's to 7e-7, and `get_action` returned a - whole chunk of 16 finite LIBERO commands. Through `eval/run_libero.sh -m cosmos3_edge -s libero_spatial` (task - 0, one episode, CPU) the episode was solved. The engine has been rewritten since; the server path itself is - unchanged. +- *The server* (CPU, an earlier revision of the engine). A request for one case returned exactly what a direct + `libvla` call returned on the same inputs, the client built the same 150 token ids as the case's, its numpy + rot6d decode matched lerobot's to 7e-7, and `get_action` returned a whole chunk of 16 finite LIBERO commands. + Through `eval/run_libero.sh -m cosmos3_edge -s libero_spatial` (task 0, one episode, CPU) the episode was + solved. The engine has been rewritten since; the server path itself is unchanged. Not checked with the hand-written engine: the closed loop on LIBERO (an earlier revision of this port, with graphs generated from the same PyTorch path, solved 19 of 20 libero_spatial episodes and reached 96.45% over all diff --git a/src/models/cosmos3_edge.cpp b/src/models/cosmos3_edge.cpp index a9aa535a..cec6d32e 100644 --- a/src/models/cosmos3_edge.cpp +++ b/src/models/cosmos3_edge.cpp @@ -29,8 +29,8 @@ // Input contract (docs/MODELS.md): two camera views in the order [third person, wrist], composed into the // 192x320 canvas here exactly as lerobot's Cosmos3VideoCanvasProcessorStep does (or one canvas the caller // composed); the prompt as token ids, which src/models/cosmos3_edge_prompt.cpp builds from the instruction -// (vla-cli --text); `Inputs::noise` the 16x10 action noise (the video noise is drawn here, or read from -// VLA_COSMOS3_VIDEO_NOISE). cosmos3_libero_action (the prompt file) decodes the chunk to LIBERO commands. +// (vla-cli --text); `Inputs::noise` the 16x10 action noise (the video noise is drawn here from a seed that +// follows it). cosmos3_libero_action (the prompt file) decodes the chunk to LIBERO commands. #include "arch.h" #include "backend.h" @@ -481,10 +481,7 @@ struct Cosmos3EdgeModelArch : public ModelArchBase { struct StepIO { ggml_tensor *xv = nullptr, *xa = nullptr, *tsin = nullptr; ggml_tensor *vv = nullptr, *va = nullptr; - // Debugging (VLA_COSMOS3_DUMP_DIR): the stream's input embeddings, layer 0's rotated queries and output. - ggml_tensor *dbg_emb = nullptr, *dbg_q0 = nullptr, *dbg_h0 = nullptr; }; - std::string dump_dir; // VLA_COSMOS3_DUMP_DIR: intermediate tensors of a call, for tests/py/cosmos3_edge_debug.py graph_cache vae_graph; graph_cache prefix_graph; // keyed by the prompt length graph_cache step_graph; @@ -500,8 +497,7 @@ struct Cosmos3EdgeModelArch : public ModelArchBase { ggml_tensor * cos = nullptr, *sin = nullptr; } kv; - std::string video_noise_file; - uint64_t calls = 0; + uint64_t calls = 0; bool load_config(gguf_reader & g); bool load_weights(gguf_reader & g); @@ -965,8 +961,6 @@ ggml_cgraph * Cosmos3EdgeModelArch::build_step(ggml_context * C, StepIO & io, in // Actions: action2llm of the embodiment, the modality embedding, the timestep embedding. ggml_tensor * ae = ggml_add(C, ggml_add(C, lin(C, a2l_w, a2l_b, io.xa), act_embed), temb); // [hidden, chunk] ggml_tensor * h = ggml_concat(C, ve, ae, 1); // [hidden, n_gen] - if (!dump_dir.empty()) - io.dbg_emb = h; for (int64_t i = 0; i < n_layers; i++) { const LayerW & L = layers[(size_t) i]; @@ -986,10 +980,6 @@ ggml_cgraph * Cosmos3EdgeModelArch::build_step(ggml_context * C, StepIO & io, in h = ggml_add(C, h, lin(C, L.gen.o, nullptr, attend(C, q, K, V, nullptr, n_gen))); x = rms_norm(C, h, L.gen.ffn_norm, rms_eps); h = ggml_add(C, h, lin(C, L.gen.down, nullptr, ggml_sqr(C, ggml_relu(C, lin(C, L.gen.up, nullptr, x))))); - if (i == 0 && !dump_dir.empty()) { - io.dbg_q0 = q; - io.dbg_h0 = h; - } } h = rms_norm(C, h, gen_out_norm, rms_eps); ggml_tensor * hv = ggml_view_2d(C, h, hidden, n_video, h->nb[1], 0); @@ -1002,26 +992,9 @@ ggml_cgraph * Cosmos3EdgeModelArch::build_step(ggml_context * C, StepIO & io, in ggml_cgraph * gf = ggml_new_graph_custom(C, 8192, false); ggml_build_forward_expand(gf, io.vv); ggml_build_forward_expand(gf, io.va); - for (ggml_tensor * t : { io.dbg_emb, io.dbg_q0, io.dbg_h0 }) - if (t) { - ggml_set_output(t); - ggml_build_forward_expand(gf, t); - } return gf; } -// Debugging: a device tensor to /.f32, in ggml's layout (innermost dim first). -void dump_tensor(const std::string & dir, const char * name, ggml_tensor * t) { - if (!t) - return; - std::vector v((size_t) ggml_nelements(t)); - ggml_backend_tensor_get(t, v.data(), 0, ggml_nbytes(t)); - if (FILE * f = std::fopen((dir + "/" + name + ".f32").c_str(), "wb")) { - std::fwrite(v.data(), sizeof(float), v.size(), f); - std::fclose(f); - } -} - // ------------------------------------------------------------------------------------------------ // Host tables // ------------------------------------------------------------------------------------------------ @@ -1108,13 +1081,6 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { std::vector canvas; if (!make_canvas(in.images, in.n_images, layout, canvas)) return {}; - // Debugging: the canvas as the VAE reads it (CHW floats in uint8 levels), to compare with lerobot's. - if (const char * dump = std::getenv("VLA_COSMOS3_DUMP_CANVAS")) { - if (FILE * f = std::fopen(dump, "wb")) { - std::fwrite(canvas.data(), sizeof(float), canvas.size(), f); - std::fclose(f); - } - } if (!in.lang_tokens || in.n_lang <= 0) { std::fprintf(stderr, "%s: no prompt tokens (build them with the lerobot prompt and tokenizer steps)\n", kTag); return {}; @@ -1131,8 +1097,7 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { return {}; } - // Action noise from the caller; the video noise is drawn here from a seed that follows it, or read from a - // file of (frames-1)*ppf x patch_dim floats (VLA_COSMOS3_VIDEO_NOISE: for comparing with another implementation). + // Action noise from the caller; the video noise is drawn here from a seed that follows it. std::vector an((size_t) (chunk * adim), 0.f); uint64_t seed = 1469598103934665603ull; // FNV-1a over the action noise, else a fixed seed if (in.noise) { @@ -1151,16 +1116,7 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { seed = rng(); // the video noise follows the action noise just drawn } std::vector vn((size_t) ((frames - 1) * ppf * patch_dim)); - if (!video_noise_file.empty()) { - FILE * f = std::fopen(video_noise_file.c_str(), "rb"); - if (!f || std::fread(vn.data(), sizeof(float), vn.size(), f) != vn.size()) { - std::fprintf(stderr, "%s: cannot read %zu floats from %s\n", kTag, vn.size(), video_noise_file.c_str()); - if (f) - std::fclose(f); - return {}; - } - std::fclose(f); - } else { + { std::mt19937_64 rng(seed); std::normal_distribution nd(0.f, 1.f); for (float & x : vn) @@ -1218,12 +1174,6 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { const int64_t d = ((y % latent_patch) * latent_patch + x % latent_patch) * z_dim + c; xv[(size_t) (patch * patch_dim + d)] = z; } - if (const char * dump = std::getenv("VLA_COSMOS3_DUMP_Z0")) { - if (FILE * f = std::fopen(dump, "wb")) { - std::fwrite(xv.data(), sizeof(float), (size_t) (ppf * patch_dim), f); - std::fclose(f); - } - } } // The 4 predicted frames start as pure noise (noise level 1), the condition frame stays clean. std::memcpy(&xv[(size_t) (ppf * patch_dim)], vn.data(), sizeof(float) * vn.size()); @@ -1258,12 +1208,6 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { std::fprintf(stderr, "%s: prefix compute failed\n", kTag); return {}; } - if (!dump_dir.empty()) { - dump_tensor(dump_dir, "kv_k0", kv.k[0]); - dump_tensor(dump_dir, "kv_v0", kv.v[0]); - dump_tensor(dump_dir, "kv_k_last", kv.k.back()); - dump_tensor(dump_dir, "kv_v_last", kv.v.back()); - } } const double t3 = now_ms(); @@ -1291,13 +1235,6 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { } ggml_backend_tensor_get(io.vv, vv.data(), 0, ggml_nbytes(io.vv)); ggml_backend_tensor_get(io.va, va.data(), 0, ggml_nbytes(io.va)); - if (k == 0 && !dump_dir.empty()) { - dump_tensor(dump_dir, "step0_emb", io.dbg_emb); - dump_tensor(dump_dir, "step0_q0", io.dbg_q0); - dump_tensor(dump_dir, "step0_h0", io.dbg_h0); - dump_tensor(dump_dir, "step0_vv", io.vv); - dump_tensor(dump_dir, "step0_va", io.va); - } // mask_velocity: the condition frame has no velocity. std::fill(vv.begin(), vv.begin() + (ptrdiff_t) (ppf * patch_dim), 0.f); solver.step(k, sv, vv, xv); @@ -1345,10 +1282,6 @@ std::unique_ptr cosmos3_edge_create(const std::string & mmproj_pa } if (!m->load_config(g) || !resolve_num_steps("cosmos3_edge", opts, m->steps)) return nullptr; - if (const char * f = std::getenv("VLA_COSMOS3_VIDEO_NOISE")) - m->video_noise_file = f; - if (const char * d = std::getenv("VLA_COSMOS3_DUMP_DIR")) - m->dump_dir = d; const Backend b = backend_init(kTag, m->n_threads); if (!b.handle) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 2a6f5caa..2ef9afc3 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -179,17 +179,10 @@ if(GGML_SYCL AND NOT GGML_CUDA) endif() # Cosmos3-Edge's prompt (caption, chat template, byte-level BPE) and rot6d decode against lerobot and Hugging Face -# data (tests/data, made by tests/py/make_cosmos3_edge_fixtures.py). The rot6d part always runs; the prompt part +# data (tests/data, made with lerobot and Hugging Face's tokenizer). The rot6d part always runs; the prompt part # needs a GGUF made with --policy-dir (VLA_COSMOS3_EDGE_GGUF) and is skipped without one. add_executable(test_cosmos3_edge_prompt cosmos3_edge_prompt_check.cpp) target_include_directories(test_cosmos3_edge_prompt PRIVATE ${CMAKE_SOURCE_DIR}/src) target_link_libraries(test_cosmos3_edge_prompt PRIVATE vla_core) target_compile_options(test_cosmos3_edge_prompt PRIVATE -Wall -Wextra) add_test(NAME cosmos3_edge_prompt COMMAND test_cosmos3_edge_prompt ${CMAKE_SOURCE_DIR}/tests/data) - -# A C shim over the same code for the closed-loop LIBERO harness (ggml/eval_ggml.py in the model's repo), which -# runs the C++ prompt and action decode in place of lerobot's. Test-only: not installed. -add_library(cosmos3_edge_pyshim SHARED cosmos3_edge_pyshim.cpp) -target_include_directories(cosmos3_edge_pyshim PRIVATE ${CMAKE_SOURCE_DIR}/src) -target_link_libraries(cosmos3_edge_pyshim PRIVATE vla_core) -target_compile_options(cosmos3_edge_pyshim PRIVATE -Wall -Wextra) diff --git a/tests/cosmos3_edge_pyshim.cpp b/tests/cosmos3_edge_pyshim.cpp deleted file mode 100644 index 13eb82a9..00000000 --- a/tests/cosmos3_edge_pyshim.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2026 VinRobotics -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// A test-only C shim over Cosmos3-Edge's prompt and action decode, so a Python harness (the closed-loop -// LIBERO eval) can run the C++ code instead of lerobot's. Not part of libvla and not installed. - -#include "models/cosmos3_edge_prompt.h" - -#include -#include -#include -#include -#include - -extern "C" { - -// The ids of the prompt of `task`, from the tokenizer in `gguf`. Returns their number, or -1 (the reason in -// `err`) when the GGUF has no tokenizer, the text is not supported or `cap` is too small. -int64_t cosmos3_shim_tokenize(const char * gguf, const char * task, int32_t * ids, int64_t cap, char * err, int64_t errcap) { - static std::map> cache; - auto fail = [&](const std::string & m) { - std::snprintf(err, (size_t) errcap, "%s", m.c_str()); - return (int64_t) -1; - }; - auto & slot = cache[gguf]; - if (!slot) { - vla::gguf_reader g("cosmos3_edge"); - if (!g.open(gguf)) - return fail("cannot open the GGUF"); - auto p = std::make_unique(); - if (!p->load(g)) - return fail("the GGUF has no tokenizer"); - slot = std::move(p); - } - std::vector v; - std::string e; - if (!slot->tokens(task, v, e)) - return fail(e); - if ((int64_t) v.size() > cap) - return fail("buffer too small"); - std::memcpy(ids, v.data(), v.size() * sizeof(int32_t)); - return (int64_t) v.size(); -} - -// The LIBERO command of one 10-wide model action. -void cosmos3_shim_libero_action(const float * in10, float * out7) { - vla::cosmos3_libero_action(in10, out7); -} - -} // extern "C" diff --git a/tests/py/cosmos3_edge_debug.py b/tests/py/cosmos3_edge_debug.py deleted file mode 100644 index dabab037..00000000 --- a/tests/py/cosmos3_edge_debug.py +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright 2026 VinRobotics -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Stage-wise comparison of the Cosmos3-Edge engine with lerobot's policy, for when the actions disagree. - -`record` runs the policy on a CASE.npz of tests/py/cosmos3_edge_reference.py up to the first network call and -saves what the engine dumps under VLA_COSMOS3_DUMP_DIR: layer 0's and the last layer's prompt keys (normed and -rotated for the generation queries) and values, the generation stream's input embeddings, layer 0's rotated -queries and output, and the velocities of the first step. `compare` reads both and prints, per tensor, the -largest difference against the reference's magnitude. A tensor that matches to the reference's precision -(about 1e-2 scaled with a bf16 reference) and a later one that does not point at the stage in between. - - python tests/py/cosmos3_edge_debug.py record --ckpt --lerobot-src \\ - --case CASE.npz --out REF.npz [--dtype bf16|f32] - VLA_COSMOS3_DUMP_DIR=dump VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_parity.py --gguf M.gguf --case CASE.npz - python tests/py/cosmos3_edge_debug.py compare --ref REF.npz --dump dump -""" -import argparse -import sys -import types -from pathlib import Path - -import numpy as np - -ap = argparse.ArgumentParser() -sub = ap.add_subparsers(dest="cmd", required=True) -rec_ap = sub.add_parser("record") -rec_ap.add_argument("--ckpt", type=Path, required=True) -rec_ap.add_argument("--lerobot-src", type=Path, default=None) -rec_ap.add_argument("--case", type=Path, required=True) -rec_ap.add_argument("--out", type=Path, required=True) -rec_ap.add_argument("--device", default="cuda") -rec_ap.add_argument("--dtype", default="bf16", choices=("bf16", "f32")) -cmp_ap = sub.add_parser("compare") -cmp_ap.add_argument("--ref", type=Path, required=True) -cmp_ap.add_argument("--dump", type=Path, required=True) -args = ap.parse_args() - - -def record(): - if args.lerobot_src is not None: - sys.path.insert(0, str(args.lerobot_src)) - pkg = types.ModuleType("lerobot.policies") # see cosmos3_edge_reference.py - pkg.__path__ = [str(args.lerobot_src / "lerobot" / "policies")] - sys.modules["lerobot.policies"] = pkg - import torch - from lerobot.configs.policies import PreTrainedConfig - from lerobot.policies.cosmos3.modeling_cosmos3 import Cosmos3EdgePolicy, FlowState, MoTAttention, MoTDecoderLayer - - device = torch.device(args.device) - cfg = PreTrainedConfig.from_pretrained(str(args.ckpt)) - cfg.device, cfg.dtype = "cpu", torch.bfloat16 if args.dtype == "bf16" else torch.float32 - cfg.gradient_checkpointing = cfg.compile_model = False - policy = Cosmos3EdgePolicy.from_pretrained(str(args.ckpt), config=cfg) - policy.eval() - net = policy.model.network - del net.mot_backbone.model.visual, net.mot_backbone.model.projector, net.mot_backbone.lm_head, net.vae.decoder - policy.to(device) - - case = np.load(args.case) - ids = torch.from_numpy(case["input_ids"]).to(device) - mask = torch.from_numpy(case["attention_mask"]).to(device) - pv = (torch.from_numpy(case["canvas"]).float().to(device) / 127.5 - 1.0)[:, :, None] # [1, 3, 1, H, W] - frames = 1 + cfg.chunk_size // net.vae.config.scale_factor_temporal - lat_h, lat_w = case["canvas"].shape[2] * 0 + 10, 20 # the content grid of the 192x320 canvas - grid = torch.tensor([[frames, lat_h, lat_w]], device=device) - spg = torch.full((1,), net.vae.config.scale_factor_temporal / cfg.fps, device=device) - patch, z_dim = cfg.latent_patch_size, net.vae.config.z_dim - ppf = (lat_h // patch) * (lat_w // patch) - - rec = {} - layers = net.mot_backbone.model.language_model.layers - last = len(layers) - 1 - orig_attn = MoTAttention.two_way_attention - - def two_way(self, query, key, value, query_gen, key_gen, value_gen, am, amg, key_und_for_gen=None, **kw): - if "done" not in rec and self.layer_idx in (0, last): - rec[f"l{self.layer_idx}_key_und_for_gen"] = key_und_for_gen.float().cpu().numpy() - rec[f"l{self.layer_idx}_value"] = value.float().cpu().numpy() - if self.layer_idx == 0: - rec["l0_query_gen"] = query_gen.float().cpu().numpy() - return orig_attn(self, query, key, value, query_gen, key_gen, value_gen, am, amg, key_und_for_gen=key_und_for_gen, **kw) - - orig_layer = MoTDecoderLayer.forward - - def layer_fwd(self, h, hg, pe, peg, **kw): - if "done" not in rec and self is layers[0]: - rec["gen_emb"] = hg.float().cpu().numpy() - out = orig_layer(self, h, hg, pe, peg, **kw) - if "done" not in rec and self is layers[0]: - rec["l0_hidden_gen"] = out[1].float().cpu().numpy() - return out - - MoTAttention.two_way_attention = two_way - MoTDecoderLayer.forward = layer_fwd - - model = policy.model - with torch.no_grad(): - patches = torch.zeros(1, frames * ppf, patch * patch * z_dim) - patches[0, ppf:] = torch.from_numpy(case["video_noise"]) - vn = net.unpatchify(patches, torch.Size((1, z_dim, frames, lat_h, lat_w))).to(device) - an = torch.zeros(1, cfg.chunk_size, cfg.max_action_dim) - an[0, :, : cfg.original_action_dim] = torch.from_numpy(case["action_noise"]) - plan = model.build_sequence_plan(grid, cfg.chunk_size) - pos = net.get_rope_index(ids, grid, spg, num_actions=cfg.chunk_size, - action_start_frame_offset=plan.action_start_frame_offset, attention_mask=mask, - mm_token_type_ids=torch.zeros_like(ids, dtype=torch.int)) - clean = model.encode_clean(pv, grid, torch.zeros(1, cfg.chunk_size, cfg.max_action_dim, device=device), plan) - ones = torch.ones(1, device=device) - noisy = model.add_noise(clean, FlowState(vn, an.to(device)), ones, ones, plan) - t0 = model.make_scheduler(device).timesteps[0] - vel = model.mask_velocity(model.predict_velocity(noisy, t0.expand(1), t0.expand(1), plan, ids, pos, attention_mask=mask), plan) - rec["step0_vv"] = net.patchify(vel.video_latents)[0].reshape(frames * ppf, -1).float().cpu().numpy() - rec["step0_va"] = vel.actions[0, :, : cfg.original_action_dim].float().cpu().numpy() - rec["done"] = np.array(1) - np.savez(args.out, **rec) - print("saved", {k: v.shape for k, v in rec.items()}) - - -def compare(): - ref = np.load(args.ref) - n = ref["l0_key_und_for_gen"].shape[2] - last = max(int(k[1:].split("_")[0]) for k in ref.files if k.startswith("l") and k[1].isdigit()) - n_gen, hidden = ref["gen_emb"].shape[1:] - n_heads, _, head_dim = ref["l0_query_gen"].shape[1:] - n_kv = ref["l0_value"].shape[1] - - def eng(name, shape): - return np.fromfile(args.dump / f"{name}.f32", dtype=np.float32).reshape(shape) - - def cmp(label, a, b, rows=None): - if rows is not None: - a, b = a[rows], b[rows] - a, b = a.astype(np.float64), b.astype(np.float64) - d = np.abs(a - b).max() - print(f"{label:30s} max|d| {d:.3e} scaled {d / max(1e-9, np.abs(b).max()):.3e}") - - # ggml stores [head_dim, n, heads]: numpy [heads, n, head_dim], like torch's [1, heads, n, head_dim]. - cmp("prompt keys, layer 0", eng("kv_k0", (n_kv, n, head_dim)), ref["l0_key_und_for_gen"][0]) - cmp("prompt values, layer 0", eng("kv_v0", (n_kv, n, head_dim)), ref["l0_value"][0]) - cmp(f"prompt keys, layer {last}", eng("kv_k_last", (n_kv, n, head_dim)), ref[f"l{last}_key_und_for_gen"][0]) - cmp(f"prompt values, layer {last}", eng("kv_v_last", (n_kv, n, head_dim)), ref[f"l{last}_value"][0]) - cmp("generation embeddings", eng("step0_emb", (n_gen, hidden)), ref["gen_emb"][0]) - cmp("rotated queries, layer 0", eng("step0_q0", (n_heads, n_gen, head_dim)), ref["l0_query_gen"][0]) - cmp("hidden after layer 0", eng("step0_h0", (n_gen, hidden)), ref["l0_hidden_gen"][0]) - vv_ref = ref["step0_vv"] - ppf = int(np.flatnonzero(np.abs(vv_ref).max(axis=1))[0]) # the condition frame's rows are zero in the reference - cmp("video velocity, step 0 (noisy frames)", eng("step0_vv", vv_ref.shape), vv_ref, rows=slice(ppf, None)) - cmp("action velocity, step 0", eng("step0_va", ref["step0_va"].shape), ref["step0_va"]) - - -record() if args.cmd == "record" else compare() diff --git a/tests/py/cosmos3_edge_parity.py b/tests/py/cosmos3_edge_parity.py deleted file mode 100644 index f2f127bf..00000000 --- a/tests/py/cosmos3_edge_parity.py +++ /dev/null @@ -1,67 +0,0 @@ -"""Cosmos3-Edge through libvla against the PyTorch reference, one case. - -CASE.npz comes from tests/py/cosmos3_edge_reference.py (lerobot's policy on the same views, prompt and noise). -The engine gets the views, the token ids and the action noise through libvla, the video noise through -VLA_COSMOS3_VIDEO_NOISE, and dumps its canvas and latent for the stage checks. - - VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_parity.py --gguf M.gguf --case CASE.npz -""" -import argparse, os, sys, tempfile -import numpy as np - -here = os.path.dirname(os.path.abspath(__file__)) -sys.path.insert(0, os.path.join(here, "..", "..", "bindings", "python")) - -ap = argparse.ArgumentParser() -ap.add_argument("--gguf", required=True) -ap.add_argument("--case", required=True, help="CASE.npz of tests/py/cosmos3_edge_reference.py") -ap.add_argument("--save", help="write the engine's actions (both runs) to this .npz") -args = ap.parse_args() - -tmp = tempfile.mkdtemp() -case = np.load(args.case) -vn_path, canvas_path, z0_path = (os.path.join(tmp, f) for f in ("vn.f32", "canvas.f32", "z0.f32")) -np.ascontiguousarray(case["video_noise"], dtype=np.float32).tofile(vn_path) -os.environ["VLA_COSMOS3_VIDEO_NOISE"] = vn_path -os.environ["VLA_COSMOS3_DUMP_CANVAS"] = canvas_path -os.environ["VLA_COSMOS3_DUMP_Z0"] = z0_path - -import vla_cpp - -n = int(case["attention_mask"].sum()) -tokens = case["input_ids"][0, :n].tolist() -noise = case["action_noise"].astype(np.float32).ravel() -views = [np.ascontiguousarray(v, dtype=np.float32) for v in case["views"]] - -model = vla_cpp.load(args.gguf) -actions = model.predict(views, tokens, noise=noise, pixel_format=vla_cpp.PIXEL_F32_RGB_01, timing=1) -st = model.last_stats() -print(f"actions {actions.shape} total {st.ms_total:.0f} ms (vae {st.ms_vision:.0f}, prefill {st.ms_prefill:.0f}, " - f"denoise {st.ms_denoise:.0f})") - - -def err(a, b): - """Max absolute difference, scaled by the reference's magnitude (at least 1).""" - return float(np.abs(a - b).max() / max(1.0, np.abs(b).max())) - - -canvas = np.fromfile(canvas_path, dtype=np.float32).reshape(case["canvas"].shape) -diff = canvas != case["canvas"] -print(f"canvas: {int(diff.sum())} of {diff.size} pixels differ from lerobot's" - + (f", max |d| {np.abs(canvas - case['canvas']).max():.0f} levels" if diff.any() else " (identical)")) -z0 = np.fromfile(z0_path, dtype=np.float32).reshape(case["z0"].shape) -print(f"latent z0 (on the engine's canvas): scaled error {err(z0, case['z0']):.3e}") - -ref = case["actions"].reshape(actions.shape) -print(f"[two views, canvas built here] vs PyTorch: scaled error {err(actions, ref):.3e}, " - f"max |d| {np.abs(actions - ref).max():.3e}") - -# The same model on the canvas lerobot's processor made (one canvas-sized image): the engine alone. -lerobot_canvas = np.ascontiguousarray(np.transpose(case["canvas"][0], (1, 2, 0)).astype(np.uint8)) -actions2 = model.predict([lerobot_canvas], tokens, noise=noise, pixel_format=vla_cpp.PIXEL_U8) -z0b = np.fromfile(z0_path, dtype=np.float32).reshape(case["z0"].shape) -print(f"latent z0 (on lerobot's canvas): scaled error {err(z0b, case['z0']):.3e}") -print(f"[lerobot canvas passed in] vs PyTorch: scaled error {err(actions2, ref):.3e}, " - f"max |d| {np.abs(actions2 - ref).max():.3e}") -if args.save: - np.savez(args.save, actions=actions, actions_lerobot_canvas=actions2, z0=z0, z0_lerobot_canvas=z0b) diff --git a/tests/py/cosmos3_edge_reference.py b/tests/py/cosmos3_edge_reference.py deleted file mode 100644 index 6f506059..00000000 --- a/tests/py/cosmos3_edge_reference.py +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 2026 VinRobotics -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""The PyTorch reference of one Cosmos3-Edge call, for tests/py/cosmos3_edge_parity.py. - -Runs lerobot's Cosmos3 policy (lerobot with policies/cosmos3, commit 02655292 or later) on two camera views and -a task through its own processors, with seeded noise, and writes CASE.npz: - - views f32 [2, 256, 256, 3] in [0, 1] the camera views, as libvla takes them (PIXEL_F32_RGB_01) - canvas f32 [1, 3, 192, 320] the canvas in uint8 levels, as the processor composed it - input_ids i64 [1, n] attention_mask i64 [1, n] - video_noise f32 [200, 192] noise of the 4 predicted latent frames, 50 patches x (p, q, c) - action_noise f32 [16, 10] - z0 f32 [50, 192] the normalized latent of the canvas, patchified - actions_norm f32 [16, 10] the sampled chunk in the normalized action space - actions f32 [16, 10] the chunk unnormalized with the postprocessor's quantiles - - python tests/py/cosmos3_edge_reference.py --ckpt --lerobot-src \\ - --task "put the bowl on the plate" --seed 1 --out CASE.npz [--views a.png b.png] \\ - [--device cuda] [--dtype bf16|f32] [--slim] - -`--slim` drops the modules action inference never runs (the SigLIP tower and its projector, the language head, -the VAE decoder) before moving the policy to the device: the bf16 policy then fits a 12 GB GPU. -""" -import argparse -import sys -from pathlib import Path - -import numpy as np - -ap = argparse.ArgumentParser() -ap.add_argument("--ckpt", type=Path, required=True, help="checkpoint directory (config.json, model.safetensors, tokenizer/)") -ap.add_argument("--lerobot-src", type=Path, default=None, help="lerobot/src to import from (else the installed lerobot)") -ap.add_argument("--task", required=True) -ap.add_argument("--seed", type=int, required=True, help="seed of the views (without --views) and of both noises") -ap.add_argument("--views", nargs=2, default=None, help="two PNGs [third person, wrist]; random 256x256 views without") -ap.add_argument("--out", type=Path, required=True) -ap.add_argument("--device", default="cuda") -ap.add_argument("--dtype", default="bf16", choices=("bf16", "f32", "f32-stream"), - help="f32-stream: f32 arithmetic on the checkpoint's bf16 values, one decoder layer cast at a time (the " - "arithmetic libvla does with bf16 weights, and it fits a 12 GB GPU with --slim)") -ap.add_argument("--slim", action="store_true") -args = ap.parse_args() - -if args.lerobot_src is not None: - sys.path.insert(0, str(args.lerobot_src)) - # lerobot.policies' __init__ imports every policy, some of which want a newer transformers than Cosmos3 - # needs; take the package without running it. - import types - pkg = types.ModuleType("lerobot.policies") - pkg.__path__ = [str(args.lerobot_src / "lerobot" / "policies")] - sys.modules["lerobot.policies"] = pkg - -import torch # noqa: E402 -from safetensors import safe_open # noqa: E402 - -from lerobot.configs.policies import PreTrainedConfig # noqa: E402 -from lerobot.policies.cosmos3.modeling_cosmos3 import Cosmos3EdgePolicy, FlowState # noqa: E402 -from lerobot.policies.cosmos3.processor_cosmos3 import make_cosmos3_pre_post_processors_from_pretrained # noqa: E402 - -device = torch.device(args.device) -cfg = PreTrainedConfig.from_pretrained(str(args.ckpt)) -cfg.device = "cpu" # load on the host, then move what is left -cfg.dtype = torch.float32 if args.dtype == "f32" else torch.bfloat16 -cfg.gradient_checkpointing = False -cfg.compile_model = False -policy = Cosmos3EdgePolicy.from_pretrained(str(args.ckpt), config=cfg) -policy.eval() -net = policy.model.network -if args.slim: - del net.mot_backbone.model.visual - del net.mot_backbone.model.projector - del net.mot_backbone.lm_head - del net.vae.decoder -policy.to(device) -if args.dtype == "f32-stream": - # Everything but the decoder layers in f32 for good; each layer is cast to f32 for its forward and back to - # bf16 after (its values are bf16, so nothing is lost), and the token embeddings come out f32. - from lerobot.policies.cosmos3.modeling_cosmos3 import MoTDecoderLayer - lm = net.mot_backbone.model.language_model - for module in (net.vae, net.vae2llm, net.llm2vae, net.action2llm, net.llm2action, net.action_modality_embed, - lm.norm, lm.norm_gen): - module.float() - embed_forward = lm.embed_tokens.forward - lm.embed_tokens.forward = lambda ids: embed_forward(ids).float() - layer_forward = MoTDecoderLayer.forward - - def streamed(self, *a, **kw): - self.float() - try: - return layer_forward(self, *a, **kw) - finally: - self.to(torch.bfloat16) - - MoTDecoderLayer.forward = streamed -print(f"policy on {device} in {args.dtype}{' (slim)' if args.slim else ''}") - -pre, _ = make_cosmos3_pre_post_processors_from_pretrained( - cfg, str(args.ckpt), preprocessor_overrides={"device_processor": {"device": str(device)}}, - postprocessor_overrides={"device_processor": {"device": "cpu"}}) - -# --- the views and the batch --------------------------------------------------------------------------------- -g = torch.Generator().manual_seed(args.seed) -if args.views: - from PIL import Image - views = [torch.from_numpy(np.asarray(Image.open(p).convert("RGB"), dtype=np.float32) / 255.0).permute(2, 0, 1) - for p in args.views] -else: - views = [torch.rand(3, 256, 256, generator=g) for _ in range(2)] -cameras = list(cfg.image_features) -obs = {cameras[0]: views[0], cameras[1]: views[1], "observation.state": torch.zeros(8), "task": args.task} -batch = pre(obs) -pv, grid, spg = batch["pixel_values_videos_gen"], batch["video_grid_thw_gen"], batch["second_per_grid_ts_gen"] -ids, mask = batch["input_ids"], batch["attention_mask"] -n_text = int(mask.sum()) -print(f"prompt {n_text} tokens; canvas {tuple(pv.shape)}, latent grid {grid[0].tolist()}") - -# --- the noise, in libvla's layout ----------------------------------------------------------------------- -rng = np.random.default_rng(args.seed) -frames, lat_h, lat_w = (int(x) for x in grid[0].tolist()) -patch = cfg.latent_patch_size -z_dim = net.vae.config.z_dim -ppf = (lat_h // patch) * (lat_w // patch) # patches per latent frame -video_noise = rng.standard_normal(((frames - 1) * ppf, patch * patch * z_dim), dtype=np.float32) -action_noise = rng.standard_normal((cfg.chunk_size, cfg.original_action_dim), dtype=np.float32) -# The condition frame's noise is never read (its noise level is 0): zeros, then libvla's rows. -patches = torch.zeros(1, frames * ppf, patch * patch * z_dim) -patches[0, ppf:] = torch.from_numpy(video_noise) -vn = net.unpatchify(patches, torch.Size((1, z_dim, frames, lat_h, lat_w))).to(device) -an = torch.zeros(1, cfg.chunk_size, cfg.max_action_dim) -an[0, :, : cfg.original_action_dim] = torch.from_numpy(action_noise) -an = an.to(device) - -# --- the reference ------------------------------------------------------------------------------------------- -with torch.no_grad(): - z0 = net.encode_video(pv, grid) # [1, C, 1, h, w] normalized - z0_patches = net.patchify(z0)[0, 0].float().cpu().numpy() # [ppf, p*p*C] - actions_full, _ = policy.model.generate( - input_ids=ids, pixel_values_videos_gen=pv, video_grid_thw_gen=grid, second_per_grid_ts_gen=spg, - attention_mask=mask, mm_token_type_ids=batch.get("mm_token_type_ids"), noise=FlowState(vn, an)) -actions_norm = actions_full[0, :, : cfg.original_action_dim].float().cpu().numpy() - -# The postprocessor's unnormalizer: QUANTILES, (x + 1) / 2 * (q99 - q01) + q01. -post_meta = __import__("json").loads((args.ckpt / "policy_postprocessor.json").read_text()) -state_file = next(s["state_file"] for s in post_meta["steps"] if s["registry_name"] == "unnormalizer_processor") -with safe_open(str(args.ckpt / state_file), framework="pt") as f: - q01 = f.get_tensor("action.q01").float().numpy() - q99 = f.get_tensor("action.q99").float().numpy() -denom = np.where(q99 - q01 == 0, 1e-8, q99 - q01) -actions = (actions_norm + 1.0) * denom / 2.0 + q01 - -canvas = ((pv[0, :, 0].float().cpu() + 1.0) * 127.5).round().numpy()[None] # [1, 3, H, W] in levels -np.savez(args.out, views=np.stack([v.permute(1, 2, 0).contiguous().numpy() for v in views]), canvas=canvas, - input_ids=ids.cpu().numpy(), attention_mask=mask.cpu().numpy(), video_noise=video_noise, - action_noise=action_noise, z0=z0_patches, actions_norm=actions_norm, actions=actions.astype(np.float32)) -print(f"wrote {args.out}: actions[0] = {np.array2string(actions[0], precision=4)}") diff --git a/tests/py/cosmos3_edge_server_check.py b/tests/py/cosmos3_edge_server_check.py deleted file mode 100644 index 322d9289..00000000 --- a/tests/py/cosmos3_edge_server_check.py +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 2026 VinRobotics -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Cosmos3-Edge through a running vla-server. - -Start the server with the video noise of the case in a file, so that its answer is deterministic: - - VLA_COSMOS3_VIDEO_NOISE=vn.f32 ./build/vla-server --bind tcp://127.0.0.1:5599 cosmos3-edge-bf16-tok.gguf - -then (needs pyzmq, protobuf, torch, transformers, numpy and protoc): - - VLA_LIBRARY=build/libvla.so python tests/py/cosmos3_edge_server_check.py --addr tcp://127.0.0.1:5599 \\ - --gguf cosmos3-edge-bf16-tok.gguf --inputs CASE.npz.inputs.npz --seed 1 \\ - --task "turn on the stove" --tokenizer /tokenizer - -CASE.npz.inputs.npz and --seed are those of tests/py/cosmos3_edge_parity.py. Checks, in order: (1) the answer of -the server to a raw request is bit-identical to a direct libvla call on the same inputs; (2) VlaCppClient's tokens -for the task are the ids of the case; (3) its rot6d decode matches lerobot's on tests/data; (4) VlaCppClient.get_action -runs 16 steps through the server and returns finite LIBERO commands. -""" -import argparse, os, sys -from pathlib import Path - -import numpy as np - -root = Path(__file__).resolve().parents[2] -sys.path.insert(0, str(root / "bindings" / "python")) -sys.path.insert(0, str(root / "eval" / "client")) - -ap = argparse.ArgumentParser() -ap.add_argument("--addr", required=True) -ap.add_argument("--gguf", required=True) -ap.add_argument("--inputs", required=True) -ap.add_argument("--seed", type=int, required=True) -ap.add_argument("--task", required=True) -ap.add_argument("--tokenizer", required=True) -args = ap.parse_args() -os.environ.setdefault("VLA_COSMOS3_VIDEO_NOISE", "") # the direct call below needs the same file as the server's -if not os.environ["VLA_COSMOS3_VIDEO_NOISE"]: - raise SystemExit("set VLA_COSMOS3_VIDEO_NOISE to the file the server was started with") - -import torch -import vla_cpp -import vla_cpp_client as C - -inp = np.load(args.inputs) -n = int(inp["attention_mask"].sum()) -tokens = inp["input_ids"][0, :n].tolist() -noise = inp["action_noise"].astype(np.float32).ravel() -g = torch.Generator().manual_seed(args.seed) -views = [torch.rand(3, 256, 256, generator=g) for _ in range(2)] # CHW in [0, 1], as the env gives them -views_hwc = [v.permute(1, 2, 0).contiguous().numpy() for v in views] -fails = 0 - -# (1) raw request vs a direct call -pb = C._load_pb() -import zmq -sock = zmq.Context.instance().socket(zmq.REQ) -sock.setsockopt(zmq.RCVTIMEO, 600_000) -sock.connect(args.addr) -req = pb.PredictRequest() -req.request_id = 1 -for v in views_hwc: - im = req.images.add() - im.encoding = pb.Image.F32_RGB_01 - im.height, im.width = v.shape[:2] - im.data = v.tobytes() -req.lang_tokens.extend(tokens) -req.noise.extend(noise.tolist()) -sock.send(req.SerializeToString()) -resp = pb.PredictResponse() -resp.ParseFromString(sock.recv()) -assert not resp.error, resp.error -served = np.array(resp.action_chunk, dtype=np.float32).reshape(resp.chunk_size, resp.action_dim) -print(f"server: chunk {served.shape}, {resp.latency_ms_total:.0f} ms") - -model = vla_cpp.load(args.gguf) -direct = model.predict(views_hwc, tokens, noise=noise, pixel_format=vla_cpp.PIXEL_F32_RGB_01) -same = np.array_equal(served, direct) -print(f"(1) server vs direct libvla call: bit-identical {same}, max|d| {np.abs(served - direct).max():.3e}") -fails += not same - -# (2) the client's tokens, (3) its rot6d decode -client = C.VlaCppClient(args.addr, arch="cosmos3_edge", tokenizer_name=args.tokenizer, n_action_steps=16, - recv_timeout_ms=600_000, cosmos3_gguf=args.gguf) -mine = client._cosmos3_edge_prompt_ids(args.task) -ok_tok = mine == tokens -print(f"(2) client tokens for {args.task!r}: {len(mine)} ids, identical to the case's {ok_tok}") -fails += not ok_tok - -rows = [l.rstrip("\n").split("\t") for l in open(root / "tests" / "data" / "cosmos3_edge_rot6d.tsv")] -x = np.array([[float(t) for t in r[0].split()] for r in rows], dtype=np.float32) -want = np.array([[float(t) for t in r[1].split()] for r in rows], dtype=np.float32) -got = np.concatenate([C._cosmos3_edge_libero(x[i:i + 1]) for i in range(len(x))]) -d = float(np.abs(got - want).max()) -print(f"(3) client rot6d decode vs lerobot on {len(x)} rows: max|d| {d:.2e}") -fails += not d < 3e-6 - -# (4) get_action through the server, a whole chunk -obs = {"observation.images.image": views[0], "observation.images.image2": views[1], "task": args.task} -acts = [client.get_action(obs) for _ in range(16)] -a = np.stack(acts) -ok_run = a.shape == (16, 7) and bool(np.isfinite(a).all()) and bool((np.abs(a[:, 6]) <= 1.0).all()) -print(f"(4) get_action x16: {a.shape}, finite {np.isfinite(a).all()}, gripper in [-1, 1] {bool((np.abs(a[:, 6]) <= 1).all())}") -fails += not ok_run -print("PASS" if not fails else f"FAIL ({fails})") -sys.exit(1 if fails else 0) diff --git a/tests/py/make_cosmos3_edge_fixtures.py b/tests/py/make_cosmos3_edge_fixtures.py deleted file mode 100644 index 5f8ab50a..00000000 --- a/tests/py/make_cosmos3_edge_fixtures.py +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 2026 VinRobotics -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Reference data for tests/cosmos3_edge_prompt_check.cpp, made with lerobot and Hugging Face's tokenizer. - - python tests/py/make_cosmos3_edge_fixtures.py --policy-dir \\ - --lerobot-src --out tests/data - - cosmos3_edge_prompts.tsv hex(task) hex(caption) ids every LIBERO task + edge cases: the caption of - Cosmos3PromptProcessorStep and the ids Cosmos3TokenizerProcessorStep gives - cosmos3_edge_bpe.tsv hex(text) ids random ASCII and word mixes with special tokens - cosmos3_edge_rot6d.tsv 10 floats 7 floats Cosmos3LiberoActionProcessorStep -""" -import argparse, glob, json, random, sys -from pathlib import Path - -ap = argparse.ArgumentParser() -ap.add_argument("--policy-dir", type=Path, required=True) -ap.add_argument("--lerobot-src", type=Path, required=True) -ap.add_argument("--out", type=Path, required=True) -args = ap.parse_args() -sys.path.insert(0, str(args.lerobot_src)) - -import torch -from transformers import AutoTokenizer -from lerobot.policies.cosmos3.processor_cosmos3 import ( - START_OF_GENERATION, Cosmos3LiberoActionProcessorStep, Cosmos3PromptProcessorStep, make_cosmos3_pre_post_processors) - -cfg = json.loads((args.policy_dir / "config.json").read_text()) -tok = AutoTokenizer.from_pretrained(str(args.policy_dir / "tokenizer")) -step = Cosmos3PromptProcessorStep(view_description=cfg["view_description"], fps=cfg["fps"], - chunk_size=cfg["chunk_size"], use_state=cfg["use_state"]) -args.out.mkdir(parents=True, exist_ok=True) - -def chat(prompt): - msgs = [{"role": "user", "content": [{"type": "text", "text": prompt}]}] - return tok.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True) + tok.eos_token + START_OF_GENERATION - -# --- prompts: every LIBERO task ------------------------------------------------------------------------------ -from libero.libero import benchmark -tasks = [] -for suite in ("libero_spatial", "libero_object", "libero_goal", "libero_10"): - b = benchmark.get_benchmark_dict()[suite]() - tasks += [b.get_task(i).language for i in range(b.get_num_tasks())] -tasks += ["", " Turn on the stove ", "open the drawer!", "what?", 'say "hi" and\tgo'] # edge cases of the caption -with open(args.out / "cosmos3_edge_prompts.tsv", "w") as f: - for t in tasks: - cap = step.caption(t, 192, 320, 0, cfg["fps"]) - ids = tok(chat(cap), add_special_tokens=False)["input_ids"] - f.write(t.encode().hex() + "\t" + cap.encode().hex() + "\t" + " ".join(map(str, ids)) + "\n") -print(len(tasks), "prompts") - -# --- BPE stress ------------------------------------------------------------------------------------------------- -rnd = random.Random(0) -alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 \t\n.,;:!?'\"-_/\\()[]{}<>@#$%^&*+=~`|" -words = ["Hello", "world's", "can't", "I've", "they'll", "ROBOT", "camelCase", "snake_case", "x86_64", "3.14159", "1234567", - "end.\n\n", " spaced out ", "a\r\nb", "<|im_start|>", "<|im_end|>", "", "[INST]", "https://x.org/a?b=c&d=e", - "", "", "<|vision_start|>", "\x0b\x0c", "a \n b"] -texts = ["".join(rnd.choice(alpha) for _ in range(rnd.randint(1, 80))) for _ in range(400)] -texts += [" ".join(rnd.choice(words) for _ in range(rnd.randint(1, 12))) for _ in range(150)] -with open(args.out / "cosmos3_edge_bpe.tsv", "w") as f: - for t in texts: - f.write(t.encode().hex() + "\t" + " ".join(map(str, tok(t, add_special_tokens=False)["input_ids"])) + "\n") -print(len(texts), "bpe texts") - -# --- rot6d ------------------------------------------------------------------------------------------------------ -act = Cosmos3LiberoActionProcessorStep() -g = torch.Generator().manual_seed(0) -rows = [] -for k in range(60): - q, _ = torch.linalg.qr(torch.randn(3, 3, generator=g)) - if torch.det(q) < 0: - q[:, 0] = -q[:, 0] - r6 = torch.cat([q[:, 0], q[:, 1]]) - noise = [0.0, 0.01, 0.1, 0.3][k % 4] - r6 = r6 * (1.0 + 0.3 * torch.randn(1, generator=g)) + noise * torch.randn(6, generator=g) - rows.append(torch.cat([torch.randn(3, generator=g) * 0.3, r6, torch.rand(1, generator=g) * 1.4 - 0.2])) -rows.append(torch.tensor([0.1, -0.2, 0.3, 1, 0, 0, 0, 1, 0, 1.0])) # identity rotation -rows.append(torch.tensor([0.0, 0.0, 0.0, 0, 1, 0, 1, 0, 0, 0.0])) # a half turn about (1,1,0)/sqrt2 minus rounding -x = torch.stack(rows).float() -y = act.action(x) -with open(args.out / "cosmos3_edge_rot6d.tsv", "w") as f: - for a, b in zip(x.tolist(), y.tolist()): - f.write(" ".join(f"{v:.9g}" for v in a) + "\t" + " ".join(f"{v:.9g}" for v in b) + "\n") -print(len(rows), "rot6d rows") From 322e91eea6d6e6dfd52fce6fe8dd3b5154cf22cf Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 17:50:19 +0700 Subject: [PATCH 13/17] cosmos3_edge: fold the prompt builder and LIBERO decode into cosmos3_edge.cpp and drop the test code --- CHANGELOG.md | 2 +- CMakeLists.txt | 1 - docs/MODELS.md | 3 +- scripts/convert_cosmos3_edge_to_gguf.py | 2 +- src/models/cosmos3_edge.cpp | 485 ++++++++++++++- .../{cosmos3_edge_prompt.h => cosmos3_edge.h} | 3 +- src/models/cosmos3_edge_prompt.cpp | 500 ---------------- src/serving/vla-cli.cpp | 2 +- src/tokenizer.cpp | 2 +- tests/CMakeLists.txt | 9 - tests/cosmos3_edge_prompt_check.cpp | 176 ------ tests/data/cosmos3_edge_bpe.tsv | 550 ------------------ tests/data/cosmos3_edge_prompts.tsv | 45 -- tests/data/cosmos3_edge_rot6d.tsv | 62 -- tests/py/test_converters.py | 101 ---- 15 files changed, 489 insertions(+), 1454 deletions(-) rename src/models/{cosmos3_edge_prompt.h => cosmos3_edge.h} (94%) delete mode 100644 src/models/cosmos3_edge_prompt.cpp delete mode 100644 tests/cosmos3_edge_prompt_check.cpp delete mode 100644 tests/data/cosmos3_edge_bpe.tsv delete mode 100644 tests/data/cosmos3_edge_prompts.tsv delete mode 100644 tests/data/cosmos3_edge_rot6d.tsv diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d26230a..92d089ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke steps). `src/models/cosmos3_edge.cpp` writes the Wan2.2 VAE encoder and the two-stream Nemotron 3 backbone as ggml graphs after lerobot's `policies/cosmos3`, runs the UniPC solver on the host, and composes the canvas the model expects (two views side by side, bicubic with antialias, reflection padding). - `src/models/cosmos3_edge_prompt.cpp` builds the prompt from the instruction (JSON caption, chat template, + The same file builds the prompt from the instruction (JSON caption, chat template, a byte-level BPE read from the GGUF; ASCII text only) and decodes rot6d to LIBERO commands, so `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_edge_to_gguf.py` reads the checkpoint's safetensors (encoder, both streams, the LIBERO domain's action projections, statistics, tokenizer). diff --git a/CMakeLists.txt b/CMakeLists.txt index 515fc0d8..a4977369 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -260,7 +260,6 @@ add_library(vla_core ${VLA_CORE_LIB_TYPE} src/models/act.cpp src/models/octo.cpp src/models/cosmos3_edge.cpp - src/models/cosmos3_edge_prompt.cpp src/tokenizer.cpp ) target_include_directories(vla_core diff --git a/docs/MODELS.md b/docs/MODELS.md index 0f629e2c..748fd1de 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -139,8 +139,7 @@ transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. synthetic velocity field. One chunk takes 4.3 s on the 3060 (VAE 0.11 s, prompt 0.11 s, 30 steps 4.1 s) and 74 to 103 s on a 12-thread CPU. - *The prompt.* For the 40 LIBERO tasks and five edge cases the caption is byte-identical to lerobot's and - the ids to Hugging Face's, and 550 random ASCII and special-token texts tokenize identically - (`test_cosmos3_edge_prompt`, data in `tests/data`). llama.cpp's BPE (`b11223`, pre-tokenizer `tekken`, which uses + the ids to Hugging Face's, and 550 random ASCII and special-token texts tokenize identically. llama.cpp's BPE (`b11223`, pre-tokenizer `tekken`, which uses a rewritten approximation of the model's regex) gave the same ids on 607 of 607 texts, so the in-tree tokenizer was cross-checked against both. It implements the ASCII letter classes only, hence the ASCII limit. - *The action decode.* rot6d to axis-angle matches lerobot's to 7e-7 on 62 rows. diff --git a/scripts/convert_cosmos3_edge_to_gguf.py b/scripts/convert_cosmos3_edge_to_gguf.py index 3022b742..671831a6 100644 --- a/scripts/convert_cosmos3_edge_to_gguf.py +++ b/scripts/convert_cosmos3_edge_to_gguf.py @@ -27,7 +27,7 @@ - the timestep embedding, in f32 as the policy keeps it; - the latent statistics of the VAE, the action quantiles of the unnormalizer, the canvas layout of the policy's cameras, the caption settings of the prompt step and the byte-level BPE tokenizer (llama.cpp's - `tokenizer.ggml.*` keys), so `vla-cli --text` builds the prompt itself (src/models/cosmos3_edge_prompt.cpp). + `tokenizer.ggml.*` keys), so `vla-cli --text` builds the prompt itself (src/models/cosmos3_edge.cpp). GEMM weights keep the checkpoint's bf16 (the engine casts them to its matmul type at load), norms and biases are f32. diff --git a/src/models/cosmos3_edge.cpp b/src/models/cosmos3_edge.cpp index cec6d32e..a7f2bb3c 100644 --- a/src/models/cosmos3_edge.cpp +++ b/src/models/cosmos3_edge.cpp @@ -28,12 +28,14 @@ // // Input contract (docs/MODELS.md): two camera views in the order [third person, wrist], composed into the // 192x320 canvas here exactly as lerobot's Cosmos3VideoCanvasProcessorStep does (or one canvas the caller -// composed); the prompt as token ids, which src/models/cosmos3_edge_prompt.cpp builds from the instruction +// composed); the prompt as token ids, which Cosmos3Prompt (below) builds from the instruction // (vla-cli --text); `Inputs::noise` the 16x10 action noise (the video noise is drawn here from a seed that -// follows it). cosmos3_libero_action (the prompt file) decodes the chunk to LIBERO commands. +// follows it). cosmos3_libero_action decodes the chunk to LIBERO commands. The prompt builder, the tokenizer and +// the decode are the second half of this file. #include "arch.h" #include "backend.h" +#include "cosmos3_edge.h" #include "gguf_reader.h" #include "loader.h" #include "model.h" @@ -47,6 +49,7 @@ #include "ggml.h" #include "ggml-alloc.h" #include "ggml-backend.h" +#include "gguf.h" #if defined(GGML_USE_CUDA) && !defined(GGML_USE_HIP) #include @@ -1335,4 +1338,482 @@ std::unique_ptr cosmos3_edge_create(const std::string & mmproj_pa return m; } +// ------------------------------------------------------------------------------------------------ +// The prompt (lerobot's Cosmos3PromptProcessorStep and Cosmos3TokenizerProcessorStep) and the LIBERO action +// decode (Cosmos3LiberoActionProcessorStep), outside the graphs. See cosmos3_edge.h. +// ------------------------------------------------------------------------------------------------ + +namespace { + +constexpr const char * kConcatViewTemplate = "This video contains concatenated views from multiple camera perspectives."; + +// Chat template of the understanding stream (the Cosmos3 Edge template: an empty system turn, one user turn, +// the generation prompt with an empty think block) followed by the end-of-turn token and the token that starts +// the generation stream, as Cosmos3TokenizerProcessorStep.encode builds it. The pieces around the caption. +constexpr const char * kPromptHead = "\n<|im_start|>system\n<|im_end|>\n<|im_start|>user\n"; +constexpr const char * kPromptTail = "<|im_end|>\n<|im_start|>assistant\n\n<|im_end|><|vision_start|>"; + +// ---- ASCII classes of the pre-tokenizer ------------------------------------------------------------ +inline bool is_upper(unsigned char c) { return c >= 'A' && c <= 'Z'; } +inline bool is_lower(unsigned char c) { return c >= 'a' && c <= 'z'; } +inline bool is_digit(unsigned char c) { return c >= '0' && c <= '9'; } +inline bool is_letter(unsigned char c) { return is_upper(c) || is_lower(c); } +inline bool is_nl(unsigned char c) { return c == '\r' || c == '\n'; } +inline bool is_space(unsigned char c) { return c == ' ' || (c >= '\t' && c <= '\r'); } + +// The length of the pre-token that starts at `i`, for the Split regex of the tokenizer: +// [^\r\n\p{L}\p{N}]?[\p{Lu}...]*[\p{Ll}...]+ | [^\r\n\p{L}\p{N}]?[\p{Lu}...]+[\p{Ll}...]* | \p{N} +// | ?[^\s\p{L}\p{N}]+[\r\n/]* | \s*[\r\n]+ | \s+(?!\S) | \s+ +// restricted to ASCII, where the letter classes are A-Z and a-z. The first alternative that matches wins. +size_t pretoken_len(const std::string & t, size_t i) { + const size_t n = t.size(); + auto at = [&](size_t k) { return (unsigned char) t[k]; }; + + // 1 and 2: an optional leading symbol, then capitals and lower case letters. + for (int alt = 1; alt <= 2; alt++) { + for (int with_prefix = 1; with_prefix >= 0; with_prefix--) { + size_t p = i; + if (with_prefix) { + if (p >= n || is_nl(at(p)) || is_letter(at(p)) || is_digit(at(p))) + continue; + p++; + } + size_t u = p; + while (u < n && is_upper(at(u))) + u++; + size_t l = u; + while (l < n && is_lower(at(l))) + l++; + if (alt == 1 && l > u) + return l - i; // upper* lower+ + if (alt == 2 && u > p) + return l - i; // upper+ lower* + } + } + // 3: one digit. + if (is_digit(at(i))) + return 1; + // 4: an optional space, symbols, then newlines and slashes. + { + size_t p = i; + if (at(p) == ' ') + p++; + size_t s = p; + while (s < n && !is_space(at(s)) && !is_letter(at(s)) && !is_digit(at(s))) + s++; + if (s > p) { + while (s < n && (is_nl(at(s)) || at(s) == '/')) + s++; + return s - i; + } + } + // 5, 6 and 7: white space. \s*[\r\n]+ ends at the last line break of the run. + size_t run = i; + while (run < n && is_space(at(run))) + run++; + if (run == i) + return 1; // not reachable for ASCII; keeps the loop moving + for (size_t k = run; k > i; k--) + if (is_nl(at(k - 1))) + return k - i; + if (run == n) + return run - i; // \s+(?!\S) at the end of the text + if (run - i >= 2) + return run - i - 1; // \s+(?!\S) leaves the last space for the next token + return run - i; // \s+ +} + +// GPT-2's bytes_to_unicode: printable bytes stand for themselves, the others take 256 + n in order. +void byte_level_table(std::string out[256], int cp_of_byte[256]) { + int n = 0; + for (int b = 0; b < 256; b++) { + const bool printable = (b >= 33 && b <= 126) || (b >= 161 && b <= 172) || (b >= 174 && b <= 255); + const int cp = printable ? b : 256 + n++; + cp_of_byte[b] = cp; + std::string s; + if (cp < 0x80) { + s += (char) cp; + } else { // cp < 0x800 here + s += (char) (0xC0 | (cp >> 6)); + s += (char) (0x80 | (cp & 0x3F)); + } + out[b] = s; + } +} + +std::string json_string(const std::string & s) { // json.dumps(s) for ASCII s + std::string o = "\""; + for (unsigned char c : s) { + switch (c) { + case '"': o += "\\\""; break; + case '\\': o += "\\\\"; break; + case '\n': o += "\\n"; break; + case '\r': o += "\\r"; break; + case '\t': o += "\\t"; break; + case '\b': o += "\\b"; break; + case '\f': o += "\\f"; break; + default: + if (c >= 0x20 && c <= 0x7e) { + o += (char) c; + } else { + char b[8]; + std::snprintf(b, sizeof(b), "\\u%04x", c); + o += b; + } + } + } + return o + "\""; +} + +std::string strip(const std::string & s) { // str.strip() for ASCII + size_t a = 0, b = s.size(); + while (a < b && is_space((unsigned char) s[a])) + a++; + while (b > a && is_space((unsigned char) s[b - 1])) + b--; + return s.substr(a, b - a); +} + +bool ascii(const std::string & s) { + return std::all_of(s.begin(), s.end(), [](unsigned char c) { return c < 0x80; }); +} + +} // namespace + +// --------------------------------------------------------------------------------------------------- +// Loading +// --------------------------------------------------------------------------------------------------- + +bool Cosmos3Prompt::load(const gguf_reader & g) { + gguf_context * ctx = g.gctx; + const int64_t kt = gguf_find_key(ctx, "tokenizer.ggml.tokens"); + const int64_t kg = gguf_find_key(ctx, "tokenizer.ggml.token_type"); + const int64_t km = gguf_find_key(ctx, "tokenizer.ggml.merges"); + if (kt < 0 || kg < 0 || km < 0 || !g.has("cosmos3_edge.caption.view_description")) { + std::fprintf(stderr, "vla(cosmos3_edge): this GGUF has no tokenizer; convert with --policy-dir, or pass --tokens\n"); + return false; + } + if (gguf_get_arr_type(ctx, kt) != GGUF_TYPE_STRING || gguf_get_arr_type(ctx, km) != GGUF_TYPE_STRING || + gguf_get_arr_type(ctx, kg) != GGUF_TYPE_INT32) { + std::fprintf(stderr, "vla(cosmos3_edge): the tokenizer arrays have unexpected types\n"); + return false; + } + const size_t n = gguf_get_arr_n(ctx, kt); + if (n == 0 || gguf_get_arr_n(ctx, kg) != n) { + std::fprintf(stderr, "vla(cosmos3_edge): the token and token-type arrays disagree\n"); + return false; + } + int cp_of_byte[256]; + byte_level_table(byte_str_, cp_of_byte); + std::unordered_map byte_of_cp; + for (int b = 0; b < 256; b++) + byte_of_cp[cp_of_byte[b]] = b; + + const int32_t * types = (const int32_t *) gguf_get_arr_data(ctx, kg); + tokens_.resize(n); + vocab_.reserve(n * 2); + for (size_t i = 0; i < n; i++) { + tokens_[i] = gguf_get_arr_str(ctx, kt, i); + vocab_.emplace(tokens_[i], (int32_t) i); + // llama.cpp's token types: 3 control, 4 user defined. Both are matched as such in the text. + if (types[i] == 3 || types[i] == 4) { + std::string raw; // back from the byte-level spelling to bytes + bool ok = true; + for (size_t k = 0; k < tokens_[i].size();) { + const unsigned char c = (unsigned char) tokens_[i][k]; + int cp, len; + if (c < 0x80) { + cp = c; len = 1; + } else if ((c & 0xE0) == 0xC0 && k + 1 < tokens_[i].size()) { + cp = ((c & 0x1F) << 6) | ((unsigned char) tokens_[i][k + 1] & 0x3F); len = 2; + } else { + ok = false; + break; + } + const auto it = byte_of_cp.find(cp); + if (it == byte_of_cp.end()) { ok = false; break; } + raw += (char) it->second; + k += (size_t) len; + } + if (ok && !raw.empty()) { + specials_.emplace_back(raw, (int32_t) i); + special_first_[(unsigned char) raw[0]] = true; + } + } + } + std::stable_sort(specials_.begin(), specials_.end(), + [](const auto & a, const auto & b) { return a.first.size() > b.first.size(); }); + + const size_t nm = gguf_get_arr_n(ctx, km); + rank_.reserve(nm * 2); + for (size_t i = 0; i < nm; i++) + rank_.emplace(gguf_get_arr_str(ctx, km, i), (int32_t) i); + + view_description_ = g.str("cosmos3_edge.caption.view_description"); + aspect_ratio_ = g.str("cosmos3_edge.caption.aspect_ratio"); + fps_ = g.f32("cosmos3_edge.caption.fps"); + use_state_ = g.u32("cosmos3_edge.caption.use_state") != 0; + chunk_ = (int) g.u32("cosmos3_edge.chunk_size"); + canvas_h_ = (int) g.u32("cosmos3_edge.canvas_h"); + canvas_w_ = (int) g.u32("cosmos3_edge.canvas_w"); + if (fps_ <= 0.0 || chunk_ <= 0 || aspect_ratio_.empty()) { + std::fprintf(stderr, "vla(cosmos3_edge): the caption settings of the GGUF are incomplete\n"); + return false; + } + return true; +} + +// --------------------------------------------------------------------------------------------------- +// The caption and the chat text +// --------------------------------------------------------------------------------------------------- + +std::string Cosmos3Prompt::caption(const std::string & task_in) const { + std::string task = strip(task_in); + if (task.empty()) + return ""; + if (task.back() != '.' && task.back() != '!' && task.back() != '?') + task += "."; + const double duration = (double) (chunk_ + 1) / fps_; + const long rounded = (long) std::nearbyint(duration); // Python's round(): half to even + char time[48]; + std::snprintf(time, sizeof(time), "0:00-%ld:%02ld", rounded / 60, rounded % 60); + + std::string framing = kConcatViewTemplate; + const std::string vd = strip(view_description_); + if (!vd.empty()) + framing += " " + vd; + + std::string o = "{\"cinematography\": {\"framing\": " + json_string(framing) + "}, \"actions\": [{\"time\": " + + json_string(time) + ", \"description\": " + json_string(task) + ", \"idle_frame\": " + + json_string("0 out of " + std::to_string(chunk_ + (use_state_ ? 1 : 0)) + ".") + "}], \"duration\": " + + json_string(std::to_string((long) duration) + "s") + ", \"fps\": " + std::to_string((long) fps_) + + ".0, \"resolution\": {\"H\": " + std::to_string(canvas_h_) + ", \"W\": " + std::to_string(canvas_w_) + + "}, \"aspect_ratio\": " + json_string(aspect_ratio_) + "}"; + return o; +} + +std::string Cosmos3Prompt::chat_text(const std::string & task) const { + return std::string(kPromptHead) + caption(task) + kPromptTail; +} + +// --------------------------------------------------------------------------------------------------- +// BPE +// --------------------------------------------------------------------------------------------------- + +bool Cosmos3Prompt::bpe_segment(const std::string & text, std::vector & ids, std::string & err) const { + if (!ascii(text)) { + err = "non-ASCII text: this tokenizer implements the ASCII letter classes only"; + return false; + } + for (size_t i = 0; i < text.size();) { + const size_t len = pretoken_len(text, i); + std::string word; // the pre-token in the byte-level alphabet + for (size_t k = i; k < i + len; k++) + word += byte_str_[(unsigned char) text[k]]; + i += len; + + // ignore_merges: a pre-token that is a token is not merged. + const auto whole = vocab_.find(word); + if (whole != vocab_.end()) { + ids.push_back(whole->second); + continue; + } + // Merges by rank, the leftmost pair of the lowest rank first (the order of a priority queue). + std::vector sym; + for (size_t k = 0; k < word.size();) { + const size_t cl = ((unsigned char) word[k] < 0x80) ? 1 : 2; // byte-level characters are 1 or 2 bytes + sym.push_back(word.substr(k, cl)); + k += cl; + } + for (;;) { + int32_t best = INT32_MAX; + size_t at = 0; + for (size_t k = 0; k + 1 < sym.size(); k++) { + const auto it = rank_.find(sym[k] + " " + sym[k + 1]); + if (it != rank_.end() && it->second < best) { + best = it->second; + at = k; + } + } + if (best == INT32_MAX) + break; + sym[at] += sym[at + 1]; + sym.erase(sym.begin() + (long) at + 1); + } + for (const std::string & s : sym) { + const auto it = vocab_.find(s); + if (it == vocab_.end()) { + err = "a symbol is not in the vocabulary: " + s; + return false; + } + ids.push_back(it->second); + } + } + return true; +} + +bool Cosmos3Prompt::encode(const std::string & text, std::vector & ids, std::string & err) const { + size_t start = 0, i = 0; + while (i < text.size()) { + // A special token can start here only with a byte some special starts with (what the GGUF declares, + // whatever its spelling: '<' and '[' for the Cosmos3 tokenizer). + if (special_first_[(unsigned char) text[i]]) { + const std::pair * hit = nullptr; + for (const auto & sp : specials_) // longest first + if (text.compare(i, sp.first.size(), sp.first) == 0) { + hit = &sp; + break; + } + if (hit) { + if (i > start && !bpe_segment(text.substr(start, i - start), ids, err)) + return false; + ids.push_back(hit->second); + i += hit->first.size(); + start = i; + continue; + } + } + i++; + } + return start >= text.size() || bpe_segment(text.substr(start), ids, err); +} + +bool Cosmos3Prompt::tokens(const std::string & task, std::vector & ids, std::string & err) const { + ids.clear(); + // The caption is json.dumps of the task, which escapes non-ASCII as UTF-16 \u sequences: refuse it here + // instead of escaping bytes wrongly. + if (!ascii(task)) { + err = "non-ASCII instruction: only ASCII text is supported"; + return false; + } + return encode(chat_text(task), ids, err); +} + +// --------------------------------------------------------------------------------------------------- +// rot6d -> axis-angle +// --------------------------------------------------------------------------------------------------- + +namespace { + +// Eigen-decomposition of a symmetric 3x3 matrix by cyclic Jacobi rotations; eigenvalues descending, the +// eigenvectors as the columns of v. +void jacobi3(double a[3][3], double w[3], double v[3][3]) { + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + v[i][j] = i == j ? 1.0 : 0.0; + for (int sweep = 0; sweep < 50; sweep++) { + const double off = std::fabs(a[0][1]) + std::fabs(a[0][2]) + std::fabs(a[1][2]); + if (off < 1e-300) + break; + for (int p = 0; p < 2; p++) + for (int q = p + 1; q < 3; q++) { + if (std::fabs(a[p][q]) < 1e-300) + continue; + const double theta = (a[q][q] - a[p][p]) / (2.0 * a[p][q]); + const double t = (theta >= 0 ? 1.0 : -1.0) / (std::fabs(theta) + std::sqrt(theta * theta + 1.0)); + const double c = 1.0 / std::sqrt(t * t + 1.0), s = t * c; + for (int k = 0; k < 3; k++) { // columns p and q of a + const double akp = a[k][p], akq = a[k][q]; + a[k][p] = c * akp - s * akq; + a[k][q] = s * akp + c * akq; + } + for (int k = 0; k < 3; k++) { // rows p and q + const double apk = a[p][k], aqk = a[q][k]; + a[p][k] = c * apk - s * aqk; + a[q][k] = s * apk + c * aqk; + } + for (int k = 0; k < 3; k++) { + const double vkp = v[k][p], vkq = v[k][q]; + v[k][p] = c * vkp - s * vkq; + v[k][q] = s * vkp + c * vkq; + } + } + } + int order[3] = { 0, 1, 2 }; + std::sort(order, order + 3, [&](int x, int y) { return a[x][x] > a[y][y]; }); + double v2[3][3]; + for (int j = 0; j < 3; j++) { + w[j] = a[order[j]][order[j]]; + for (int i = 0; i < 3; i++) + v2[i][j] = v[i][order[j]]; + } + std::memcpy(v, v2, sizeof(v2)); +} + +} // namespace + +void cosmos3_libero_action(const float * a, float * out) { + const double f[3] = { a[3], a[4], a[5] }, s[3] = { a[6], a[7], a[8] }; + const double c[3] = { f[1] * s[2] - f[2] * s[1], f[2] * s[0] - f[0] * s[2], f[0] * s[1] - f[1] * s[0] }; + double m[3][3]; // columns: first, second, their cross product + for (int r = 0; r < 3; r++) { + m[r][0] = f[r]; + m[r][1] = s[r]; + m[r][2] = c[r]; + } + // The nearest rotation (the SVD projection onto SO(3)): U V^T, with the last singular direction flipped + // if that is a reflection. Singular values and V from the eigenproblem of M^T M. + double mtm[3][3]; + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + mtm[i][j] = m[0][i] * m[0][j] + m[1][i] * m[1][j] + m[2][i] * m[2][j]; + double w[3], v[3][3]; + jacobi3(mtm, w, v); + + double u[3][3] = {}; + const double smax = std::sqrt(std::max(w[0], 0.0)); + bool ok = smax > 0.0; + for (int j = 0; j < 3 && ok; j++) { + const double sj = std::sqrt(std::max(w[j], 0.0)); + if (sj <= 1e-12 * smax) { + if (j == 0) { ok = false; break; } + // A vanishing singular value: complete U to an orthonormal frame. + if (j == 1) { // pick any vector orthogonal to u0 + const double ax = std::fabs(u[0][0]), ay = std::fabs(u[1][0]), az = std::fabs(u[2][0]); + double t[3] = { 0, 0, 0 }; + t[ax <= ay && ax <= az ? 0 : (ay <= az ? 1 : 2)] = 1.0; + const double d = t[0] * u[0][0] + t[1] * u[1][0] + t[2] * u[2][0]; + double x[3] = { t[0] - d * u[0][0], t[1] - d * u[1][0], t[2] - d * u[2][0] }; + const double nx = std::sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]); + for (int r = 0; r < 3; r++) u[r][1] = x[r] / nx; + } else { + u[0][2] = u[1][0] * u[2][1] - u[2][0] * u[1][1]; + u[1][2] = u[2][0] * u[0][1] - u[0][0] * u[2][1]; + u[2][2] = u[0][0] * u[1][1] - u[1][0] * u[0][1]; + } + continue; + } + for (int r = 0; r < 3; r++) + u[r][j] = (m[r][0] * v[0][j] + m[r][1] * v[1][j] + m[r][2] * v[2][j]) / sj; + } + double R[3][3] = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } }; + if (ok) { + auto compose = [&]() { + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + R[i][j] = u[i][0] * v[j][0] + u[i][1] * v[j][1] + u[i][2] * v[j][2]; + }; + compose(); + const double det = R[0][0] * (R[1][1] * R[2][2] - R[1][2] * R[2][1]) - R[0][1] * (R[1][0] * R[2][2] - R[1][2] * R[2][0]) + + R[0][2] * (R[1][0] * R[2][1] - R[1][1] * R[2][0]); + if (det < 0) { + for (int r = 0; r < 3; r++) u[r][2] = -u[r][2]; + compose(); + } + } + // matrix_to_axis_angle (angles below pi), in double as lerobot does. + const double skew[3] = { R[2][1] - R[1][2], R[0][2] - R[2][0], R[1][0] - R[0][1] }; + const double sin_a = std::sqrt(skew[0] * skew[0] + skew[1] * skew[1] + skew[2] * skew[2]) / 2.0; + const double cos_a = (R[0][0] + R[1][1] + R[2][2] - 1.0) / 2.0; + const double angle = std::atan2(sin_a, cos_a); + const double scale = sin_a > 1e-8 ? angle / std::max(sin_a, 1e-8) : 1.0; + + out[0] = a[0]; + out[1] = a[1]; + out[2] = a[2]; + for (int r = 0; r < 3; r++) + out[3 + r] = (float) (skew[r] * scale / 2.0); + out[6] = std::min(1.0f, std::max(-1.0f, 1.0f - 2.0f * a[9])); +} + } // namespace vla diff --git a/src/models/cosmos3_edge_prompt.h b/src/models/cosmos3_edge.h similarity index 94% rename from src/models/cosmos3_edge_prompt.h rename to src/models/cosmos3_edge.h index 213d8d12..73df2e7f 100644 --- a/src/models/cosmos3_edge_prompt.h +++ b/src/models/cosmos3_edge.h @@ -12,14 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Cosmos3-Edge outside the graphs: the prompt (lerobot's Cosmos3PromptProcessorStep and +// Cosmos3-Edge outside the graphs (src/models/cosmos3_edge.cpp): the prompt (lerobot's Cosmos3PromptProcessorStep and // Cosmos3TokenizerProcessorStep) and the LIBERO action decode (Cosmos3LiberoActionProcessorStep). // // * The prompt is the JSON caption of the task in the chat template of the understanding stream, then the // end-of-turn token and <|vision_start|>. The tokenizer is the model's byte-level BPE (131,072 tokens), // read from the GGUF (`tokenizer.ggml.*`, the keys llama.cpp uses). It handles ASCII text only: its // pre-tokenizer splits on Unicode letter classes, which are not implemented here, so other text is refused. -// Checked against Hugging Face's tokenizer and llama.cpp's (pre-tokenizer "tekken") on every LIBERO task. // * rot6d -> axis-angle follows the lerobot step: the two columns and their cross product form a matrix that // is projected onto SO(3), then converted to a rotation vector, in double precision. diff --git a/src/models/cosmos3_edge_prompt.cpp b/src/models/cosmos3_edge_prompt.cpp deleted file mode 100644 index d55484dd..00000000 --- a/src/models/cosmos3_edge_prompt.cpp +++ /dev/null @@ -1,500 +0,0 @@ -// Copyright 2026 VinRobotics -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "cosmos3_edge_prompt.h" - -#include "ggml.h" -#include "gguf.h" - -#include -#include -#include -#include - -namespace vla { - -namespace { - -constexpr const char * kConcatViewTemplate = "This video contains concatenated views from multiple camera perspectives."; - -// Chat template of the understanding stream (the Cosmos3 Edge template: an empty system turn, one user turn, -// the generation prompt with an empty think block) followed by the end-of-turn token and the token that starts -// the generation stream, as Cosmos3TokenizerProcessorStep.encode builds it. The pieces around the caption. -constexpr const char * kPromptHead = "\n<|im_start|>system\n<|im_end|>\n<|im_start|>user\n"; -constexpr const char * kPromptTail = "<|im_end|>\n<|im_start|>assistant\n\n<|im_end|><|vision_start|>"; - -// ---- ASCII classes of the pre-tokenizer ------------------------------------------------------------ -inline bool is_upper(unsigned char c) { return c >= 'A' && c <= 'Z'; } -inline bool is_lower(unsigned char c) { return c >= 'a' && c <= 'z'; } -inline bool is_digit(unsigned char c) { return c >= '0' && c <= '9'; } -inline bool is_letter(unsigned char c) { return is_upper(c) || is_lower(c); } -inline bool is_nl(unsigned char c) { return c == '\r' || c == '\n'; } -inline bool is_space(unsigned char c) { return c == ' ' || (c >= '\t' && c <= '\r'); } - -// The length of the pre-token that starts at `i`, for the Split regex of the tokenizer: -// [^\r\n\p{L}\p{N}]?[\p{Lu}...]*[\p{Ll}...]+ | [^\r\n\p{L}\p{N}]?[\p{Lu}...]+[\p{Ll}...]* | \p{N} -// | ?[^\s\p{L}\p{N}]+[\r\n/]* | \s*[\r\n]+ | \s+(?!\S) | \s+ -// restricted to ASCII, where the letter classes are A-Z and a-z. The first alternative that matches wins. -size_t pretoken_len(const std::string & t, size_t i) { - const size_t n = t.size(); - auto at = [&](size_t k) { return (unsigned char) t[k]; }; - - // 1 and 2: an optional leading symbol, then capitals and lower case letters. - for (int alt = 1; alt <= 2; alt++) { - for (int with_prefix = 1; with_prefix >= 0; with_prefix--) { - size_t p = i; - if (with_prefix) { - if (p >= n || is_nl(at(p)) || is_letter(at(p)) || is_digit(at(p))) - continue; - p++; - } - size_t u = p; - while (u < n && is_upper(at(u))) - u++; - size_t l = u; - while (l < n && is_lower(at(l))) - l++; - if (alt == 1 && l > u) - return l - i; // upper* lower+ - if (alt == 2 && u > p) - return l - i; // upper+ lower* - } - } - // 3: one digit. - if (is_digit(at(i))) - return 1; - // 4: an optional space, symbols, then newlines and slashes. - { - size_t p = i; - if (at(p) == ' ') - p++; - size_t s = p; - while (s < n && !is_space(at(s)) && !is_letter(at(s)) && !is_digit(at(s))) - s++; - if (s > p) { - while (s < n && (is_nl(at(s)) || at(s) == '/')) - s++; - return s - i; - } - } - // 5, 6 and 7: white space. \s*[\r\n]+ ends at the last line break of the run. - size_t run = i; - while (run < n && is_space(at(run))) - run++; - if (run == i) - return 1; // not reachable for ASCII; keeps the loop moving - for (size_t k = run; k > i; k--) - if (is_nl(at(k - 1))) - return k - i; - if (run == n) - return run - i; // \s+(?!\S) at the end of the text - if (run - i >= 2) - return run - i - 1; // \s+(?!\S) leaves the last space for the next token - return run - i; // \s+ -} - -// GPT-2's bytes_to_unicode: printable bytes stand for themselves, the others take 256 + n in order. -void byte_level_table(std::string out[256], int cp_of_byte[256]) { - int n = 0; - for (int b = 0; b < 256; b++) { - const bool printable = (b >= 33 && b <= 126) || (b >= 161 && b <= 172) || (b >= 174 && b <= 255); - const int cp = printable ? b : 256 + n++; - cp_of_byte[b] = cp; - std::string s; - if (cp < 0x80) { - s += (char) cp; - } else { // cp < 0x800 here - s += (char) (0xC0 | (cp >> 6)); - s += (char) (0x80 | (cp & 0x3F)); - } - out[b] = s; - } -} - -std::string json_string(const std::string & s) { // json.dumps(s) for ASCII s - std::string o = "\""; - for (unsigned char c : s) { - switch (c) { - case '"': o += "\\\""; break; - case '\\': o += "\\\\"; break; - case '\n': o += "\\n"; break; - case '\r': o += "\\r"; break; - case '\t': o += "\\t"; break; - case '\b': o += "\\b"; break; - case '\f': o += "\\f"; break; - default: - if (c >= 0x20 && c <= 0x7e) { - o += (char) c; - } else { - char b[8]; - std::snprintf(b, sizeof(b), "\\u%04x", c); - o += b; - } - } - } - return o + "\""; -} - -std::string strip(const std::string & s) { // str.strip() for ASCII - size_t a = 0, b = s.size(); - while (a < b && is_space((unsigned char) s[a])) - a++; - while (b > a && is_space((unsigned char) s[b - 1])) - b--; - return s.substr(a, b - a); -} - -bool ascii(const std::string & s) { - return std::all_of(s.begin(), s.end(), [](unsigned char c) { return c < 0x80; }); -} - -} // namespace - -// --------------------------------------------------------------------------------------------------- -// Loading -// --------------------------------------------------------------------------------------------------- - -bool Cosmos3Prompt::load(const gguf_reader & g) { - gguf_context * ctx = g.gctx; - const int64_t kt = gguf_find_key(ctx, "tokenizer.ggml.tokens"); - const int64_t kg = gguf_find_key(ctx, "tokenizer.ggml.token_type"); - const int64_t km = gguf_find_key(ctx, "tokenizer.ggml.merges"); - if (kt < 0 || kg < 0 || km < 0 || !g.has("cosmos3_edge.caption.view_description")) { - std::fprintf(stderr, "vla(cosmos3_edge): this GGUF has no tokenizer; convert with --policy-dir, or pass --tokens\n"); - return false; - } - if (gguf_get_arr_type(ctx, kt) != GGUF_TYPE_STRING || gguf_get_arr_type(ctx, km) != GGUF_TYPE_STRING || - gguf_get_arr_type(ctx, kg) != GGUF_TYPE_INT32) { - std::fprintf(stderr, "vla(cosmos3_edge): the tokenizer arrays have unexpected types\n"); - return false; - } - const size_t n = gguf_get_arr_n(ctx, kt); - if (n == 0 || gguf_get_arr_n(ctx, kg) != n) { - std::fprintf(stderr, "vla(cosmos3_edge): the token and token-type arrays disagree\n"); - return false; - } - int cp_of_byte[256]; - byte_level_table(byte_str_, cp_of_byte); - std::unordered_map byte_of_cp; - for (int b = 0; b < 256; b++) - byte_of_cp[cp_of_byte[b]] = b; - - const int32_t * types = (const int32_t *) gguf_get_arr_data(ctx, kg); - tokens_.resize(n); - vocab_.reserve(n * 2); - for (size_t i = 0; i < n; i++) { - tokens_[i] = gguf_get_arr_str(ctx, kt, i); - vocab_.emplace(tokens_[i], (int32_t) i); - // llama.cpp's token types: 3 control, 4 user defined. Both are matched as such in the text. - if (types[i] == 3 || types[i] == 4) { - std::string raw; // back from the byte-level spelling to bytes - bool ok = true; - for (size_t k = 0; k < tokens_[i].size();) { - const unsigned char c = (unsigned char) tokens_[i][k]; - int cp, len; - if (c < 0x80) { - cp = c; len = 1; - } else if ((c & 0xE0) == 0xC0 && k + 1 < tokens_[i].size()) { - cp = ((c & 0x1F) << 6) | ((unsigned char) tokens_[i][k + 1] & 0x3F); len = 2; - } else { - ok = false; - break; - } - const auto it = byte_of_cp.find(cp); - if (it == byte_of_cp.end()) { ok = false; break; } - raw += (char) it->second; - k += (size_t) len; - } - if (ok && !raw.empty()) { - specials_.emplace_back(raw, (int32_t) i); - special_first_[(unsigned char) raw[0]] = true; - } - } - } - std::stable_sort(specials_.begin(), specials_.end(), - [](const auto & a, const auto & b) { return a.first.size() > b.first.size(); }); - - const size_t nm = gguf_get_arr_n(ctx, km); - rank_.reserve(nm * 2); - for (size_t i = 0; i < nm; i++) - rank_.emplace(gguf_get_arr_str(ctx, km, i), (int32_t) i); - - view_description_ = g.str("cosmos3_edge.caption.view_description"); - aspect_ratio_ = g.str("cosmos3_edge.caption.aspect_ratio"); - fps_ = g.f32("cosmos3_edge.caption.fps"); - use_state_ = g.u32("cosmos3_edge.caption.use_state") != 0; - chunk_ = (int) g.u32("cosmos3_edge.chunk_size"); - canvas_h_ = (int) g.u32("cosmos3_edge.canvas_h"); - canvas_w_ = (int) g.u32("cosmos3_edge.canvas_w"); - if (fps_ <= 0.0 || chunk_ <= 0 || aspect_ratio_.empty()) { - std::fprintf(stderr, "vla(cosmos3_edge): the caption settings of the GGUF are incomplete\n"); - return false; - } - return true; -} - -// --------------------------------------------------------------------------------------------------- -// The caption and the chat text -// --------------------------------------------------------------------------------------------------- - -std::string Cosmos3Prompt::caption(const std::string & task_in) const { - std::string task = strip(task_in); - if (task.empty()) - return ""; - if (task.back() != '.' && task.back() != '!' && task.back() != '?') - task += "."; - const double duration = (double) (chunk_ + 1) / fps_; - const long rounded = (long) std::nearbyint(duration); // Python's round(): half to even - char time[48]; - std::snprintf(time, sizeof(time), "0:00-%ld:%02ld", rounded / 60, rounded % 60); - - std::string framing = kConcatViewTemplate; - const std::string vd = strip(view_description_); - if (!vd.empty()) - framing += " " + vd; - - std::string o = "{\"cinematography\": {\"framing\": " + json_string(framing) + "}, \"actions\": [{\"time\": " + - json_string(time) + ", \"description\": " + json_string(task) + ", \"idle_frame\": " + - json_string("0 out of " + std::to_string(chunk_ + (use_state_ ? 1 : 0)) + ".") + "}], \"duration\": " + - json_string(std::to_string((long) duration) + "s") + ", \"fps\": " + std::to_string((long) fps_) + - ".0, \"resolution\": {\"H\": " + std::to_string(canvas_h_) + ", \"W\": " + std::to_string(canvas_w_) + - "}, \"aspect_ratio\": " + json_string(aspect_ratio_) + "}"; - return o; -} - -std::string Cosmos3Prompt::chat_text(const std::string & task) const { - return std::string(kPromptHead) + caption(task) + kPromptTail; -} - -// --------------------------------------------------------------------------------------------------- -// BPE -// --------------------------------------------------------------------------------------------------- - -bool Cosmos3Prompt::bpe_segment(const std::string & text, std::vector & ids, std::string & err) const { - if (!ascii(text)) { - err = "non-ASCII text: this tokenizer implements the ASCII letter classes only"; - return false; - } - for (size_t i = 0; i < text.size();) { - const size_t len = pretoken_len(text, i); - std::string word; // the pre-token in the byte-level alphabet - for (size_t k = i; k < i + len; k++) - word += byte_str_[(unsigned char) text[k]]; - i += len; - - // ignore_merges: a pre-token that is a token is not merged. - const auto whole = vocab_.find(word); - if (whole != vocab_.end()) { - ids.push_back(whole->second); - continue; - } - // Merges by rank, the leftmost pair of the lowest rank first (the order of a priority queue). - std::vector sym; - for (size_t k = 0; k < word.size();) { - const size_t cl = ((unsigned char) word[k] < 0x80) ? 1 : 2; // byte-level characters are 1 or 2 bytes - sym.push_back(word.substr(k, cl)); - k += cl; - } - for (;;) { - int32_t best = INT32_MAX; - size_t at = 0; - for (size_t k = 0; k + 1 < sym.size(); k++) { - const auto it = rank_.find(sym[k] + " " + sym[k + 1]); - if (it != rank_.end() && it->second < best) { - best = it->second; - at = k; - } - } - if (best == INT32_MAX) - break; - sym[at] += sym[at + 1]; - sym.erase(sym.begin() + (long) at + 1); - } - for (const std::string & s : sym) { - const auto it = vocab_.find(s); - if (it == vocab_.end()) { - err = "a symbol is not in the vocabulary: " + s; - return false; - } - ids.push_back(it->second); - } - } - return true; -} - -bool Cosmos3Prompt::encode(const std::string & text, std::vector & ids, std::string & err) const { - size_t start = 0, i = 0; - while (i < text.size()) { - // A special token can start here only with a byte some special starts with (what the GGUF declares, - // whatever its spelling: '<' and '[' for the Cosmos3 tokenizer). - if (special_first_[(unsigned char) text[i]]) { - const std::pair * hit = nullptr; - for (const auto & sp : specials_) // longest first - if (text.compare(i, sp.first.size(), sp.first) == 0) { - hit = &sp; - break; - } - if (hit) { - if (i > start && !bpe_segment(text.substr(start, i - start), ids, err)) - return false; - ids.push_back(hit->second); - i += hit->first.size(); - start = i; - continue; - } - } - i++; - } - return start >= text.size() || bpe_segment(text.substr(start), ids, err); -} - -bool Cosmos3Prompt::tokens(const std::string & task, std::vector & ids, std::string & err) const { - ids.clear(); - // The caption is json.dumps of the task, which escapes non-ASCII as UTF-16 \u sequences: refuse it here - // instead of escaping bytes wrongly. - if (!ascii(task)) { - err = "non-ASCII instruction: only ASCII text is supported"; - return false; - } - return encode(chat_text(task), ids, err); -} - -// --------------------------------------------------------------------------------------------------- -// rot6d -> axis-angle -// --------------------------------------------------------------------------------------------------- - -namespace { - -// Eigen-decomposition of a symmetric 3x3 matrix by cyclic Jacobi rotations; eigenvalues descending, the -// eigenvectors as the columns of v. -void jacobi3(double a[3][3], double w[3], double v[3][3]) { - for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - v[i][j] = i == j ? 1.0 : 0.0; - for (int sweep = 0; sweep < 50; sweep++) { - const double off = std::fabs(a[0][1]) + std::fabs(a[0][2]) + std::fabs(a[1][2]); - if (off < 1e-300) - break; - for (int p = 0; p < 2; p++) - for (int q = p + 1; q < 3; q++) { - if (std::fabs(a[p][q]) < 1e-300) - continue; - const double theta = (a[q][q] - a[p][p]) / (2.0 * a[p][q]); - const double t = (theta >= 0 ? 1.0 : -1.0) / (std::fabs(theta) + std::sqrt(theta * theta + 1.0)); - const double c = 1.0 / std::sqrt(t * t + 1.0), s = t * c; - for (int k = 0; k < 3; k++) { // columns p and q of a - const double akp = a[k][p], akq = a[k][q]; - a[k][p] = c * akp - s * akq; - a[k][q] = s * akp + c * akq; - } - for (int k = 0; k < 3; k++) { // rows p and q - const double apk = a[p][k], aqk = a[q][k]; - a[p][k] = c * apk - s * aqk; - a[q][k] = s * apk + c * aqk; - } - for (int k = 0; k < 3; k++) { - const double vkp = v[k][p], vkq = v[k][q]; - v[k][p] = c * vkp - s * vkq; - v[k][q] = s * vkp + c * vkq; - } - } - } - int order[3] = { 0, 1, 2 }; - std::sort(order, order + 3, [&](int x, int y) { return a[x][x] > a[y][y]; }); - double v2[3][3]; - for (int j = 0; j < 3; j++) { - w[j] = a[order[j]][order[j]]; - for (int i = 0; i < 3; i++) - v2[i][j] = v[i][order[j]]; - } - std::memcpy(v, v2, sizeof(v2)); -} - -} // namespace - -void cosmos3_libero_action(const float * a, float * out) { - const double f[3] = { a[3], a[4], a[5] }, s[3] = { a[6], a[7], a[8] }; - const double c[3] = { f[1] * s[2] - f[2] * s[1], f[2] * s[0] - f[0] * s[2], f[0] * s[1] - f[1] * s[0] }; - double m[3][3]; // columns: first, second, their cross product - for (int r = 0; r < 3; r++) { - m[r][0] = f[r]; - m[r][1] = s[r]; - m[r][2] = c[r]; - } - // The nearest rotation (the SVD projection onto SO(3)): U V^T, with the last singular direction flipped - // if that is a reflection. Singular values and V from the eigenproblem of M^T M. - double mtm[3][3]; - for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - mtm[i][j] = m[0][i] * m[0][j] + m[1][i] * m[1][j] + m[2][i] * m[2][j]; - double w[3], v[3][3]; - jacobi3(mtm, w, v); - - double u[3][3] = {}; - const double smax = std::sqrt(std::max(w[0], 0.0)); - bool ok = smax > 0.0; - for (int j = 0; j < 3 && ok; j++) { - const double sj = std::sqrt(std::max(w[j], 0.0)); - if (sj <= 1e-12 * smax) { - if (j == 0) { ok = false; break; } - // A vanishing singular value: complete U to an orthonormal frame. - if (j == 1) { // pick any vector orthogonal to u0 - const double ax = std::fabs(u[0][0]), ay = std::fabs(u[1][0]), az = std::fabs(u[2][0]); - double t[3] = { 0, 0, 0 }; - t[ax <= ay && ax <= az ? 0 : (ay <= az ? 1 : 2)] = 1.0; - const double d = t[0] * u[0][0] + t[1] * u[1][0] + t[2] * u[2][0]; - double x[3] = { t[0] - d * u[0][0], t[1] - d * u[1][0], t[2] - d * u[2][0] }; - const double nx = std::sqrt(x[0] * x[0] + x[1] * x[1] + x[2] * x[2]); - for (int r = 0; r < 3; r++) u[r][1] = x[r] / nx; - } else { - u[0][2] = u[1][0] * u[2][1] - u[2][0] * u[1][1]; - u[1][2] = u[2][0] * u[0][1] - u[0][0] * u[2][1]; - u[2][2] = u[0][0] * u[1][1] - u[1][0] * u[0][1]; - } - continue; - } - for (int r = 0; r < 3; r++) - u[r][j] = (m[r][0] * v[0][j] + m[r][1] * v[1][j] + m[r][2] * v[2][j]) / sj; - } - double R[3][3] = { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } }; - if (ok) { - auto compose = [&]() { - for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - R[i][j] = u[i][0] * v[j][0] + u[i][1] * v[j][1] + u[i][2] * v[j][2]; - }; - compose(); - const double det = R[0][0] * (R[1][1] * R[2][2] - R[1][2] * R[2][1]) - R[0][1] * (R[1][0] * R[2][2] - R[1][2] * R[2][0]) + - R[0][2] * (R[1][0] * R[2][1] - R[1][1] * R[2][0]); - if (det < 0) { - for (int r = 0; r < 3; r++) u[r][2] = -u[r][2]; - compose(); - } - } - // matrix_to_axis_angle (angles below pi), in double as lerobot does. - const double skew[3] = { R[2][1] - R[1][2], R[0][2] - R[2][0], R[1][0] - R[0][1] }; - const double sin_a = std::sqrt(skew[0] * skew[0] + skew[1] * skew[1] + skew[2] * skew[2]) / 2.0; - const double cos_a = (R[0][0] + R[1][1] + R[2][2] - 1.0) / 2.0; - const double angle = std::atan2(sin_a, cos_a); - const double scale = sin_a > 1e-8 ? angle / std::max(sin_a, 1e-8) : 1.0; - - out[0] = a[0]; - out[1] = a[1]; - out[2] = a[2]; - for (int r = 0; r < 3; r++) - out[3 + r] = (float) (skew[r] * scale / 2.0); - out[6] = std::min(1.0f, std::max(-1.0f, 1.0f - 2.0f * a[9])); -} - -} // namespace vla diff --git a/src/serving/vla-cli.cpp b/src/serving/vla-cli.cpp index b651967a..0c49eb92 100644 --- a/src/serving/vla-cli.cpp +++ b/src/serving/vla-cli.cpp @@ -27,7 +27,7 @@ #include "model.h" #include "options.h" #include "serving/hf_fetch.h" -#include "models/cosmos3_edge_prompt.h" +#include "models/cosmos3_edge.h" #include "tokenizer.h" #define STB_IMAGE_IMPLEMENTATION diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 043324d7..8ea57d9d 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -13,7 +13,7 @@ // limitations under the License. #include "tokenizer.h" -#include "models/cosmos3_edge_prompt.h" +#include "models/cosmos3_edge.h" #ifdef VLA_USE_SPM #include "sentencepiece_processor.h" diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 2ef9afc3..e23196b4 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -177,12 +177,3 @@ if(GGML_SYCL AND NOT GGML_CUDA) target_link_options(test_fused_sycl_ops PRIVATE -fsycl) add_test(NAME fused_sycl_ops COMMAND test_fused_sycl_ops) endif() - -# Cosmos3-Edge's prompt (caption, chat template, byte-level BPE) and rot6d decode against lerobot and Hugging Face -# data (tests/data, made with lerobot and Hugging Face's tokenizer). The rot6d part always runs; the prompt part -# needs a GGUF made with --policy-dir (VLA_COSMOS3_EDGE_GGUF) and is skipped without one. -add_executable(test_cosmos3_edge_prompt cosmos3_edge_prompt_check.cpp) -target_include_directories(test_cosmos3_edge_prompt PRIVATE ${CMAKE_SOURCE_DIR}/src) -target_link_libraries(test_cosmos3_edge_prompt PRIVATE vla_core) -target_compile_options(test_cosmos3_edge_prompt PRIVATE -Wall -Wextra) -add_test(NAME cosmos3_edge_prompt COMMAND test_cosmos3_edge_prompt ${CMAKE_SOURCE_DIR}/tests/data) diff --git a/tests/cosmos3_edge_prompt_check.cpp b/tests/cosmos3_edge_prompt_check.cpp deleted file mode 100644 index 25cafd68..00000000 --- a/tests/cosmos3_edge_prompt_check.cpp +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright 2026 VinRobotics -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Cosmos3-Edge's prompt and action decode against reference data made with lerobot and Hugging Face's -// tokenizer (tests/py/make_cosmos3_edge_fixtures.py): -// * rot6d -> LIBERO command, always; -// * caption, chat template and BPE ids, when a Cosmos3-Edge GGUF made with --policy-dir is given -// (argv[2] or VLA_COSMOS3_EDGE_GGUF); otherwise that part is skipped. -// -// test_cosmos3_edge_prompt [model.gguf] - -#include "models/cosmos3_edge_prompt.h" - -#include -#include -#include -#include -#include -#include -#include - -using namespace vla; - -namespace { - -std::vector split(const std::string & s, char sep) { - std::vector out; - std::string cur; - for (char c : s) { - if (c == sep) { out.push_back(cur); cur.clear(); } else { cur += c; } - } - out.push_back(cur); - return out; -} - -std::string unhex(const std::string & h) { - std::string o; - for (size_t i = 0; i + 1 < h.size(); i += 2) - o += (char) std::strtol(h.substr(i, 2).c_str(), nullptr, 16); - return o; -} - -std::vector ints(const std::string & s) { - std::vector v; - std::istringstream is(s); - int x; - while (is >> x) - v.push_back(x); - return v; -} - -std::vector floats(const std::string & s) { - std::vector v; - std::istringstream is(s); - float x; - while (is >> x) - v.push_back(x); - return v; -} - -std::vector lines(const std::string & path) { - std::ifstream f(path); - std::vector out; - for (std::string l; std::getline(f, l);) - if (!l.empty()) - out.push_back(l); - return out; -} - -int fails = 0; - -void check(bool ok, const char * what, const std::string & detail = "") { - if (!ok) { - fails++; - std::fprintf(stderr, "FAIL %s %s\n", what, detail.c_str()); - } -} - -} // namespace - -int main(int argc, char ** argv) { - if (argc < 2) { - std::fprintf(stderr, "usage: %s [model.gguf]\n", argv[0]); - return 2; - } - const std::string dir = argv[1]; - - // ---- rot6d -> LIBERO command -------------------------------------------------------------------- - { - const auto rows = lines(dir + "/cosmos3_edge_rot6d.tsv"); - double worst = 0; - for (const auto & l : rows) { - const auto cols = split(l, '\t'); - const auto in = floats(cols.at(0)), want = floats(cols.at(1)); - float got[7]; - cosmos3_libero_action(in.data(), got); - for (int i = 0; i < 7; i++) - worst = std::fmax(worst, std::fabs((double) got[i] - (double) want[(size_t) i])); - } - std::printf("rot6d: %zu rows, max |d| %.2e\n", rows.size(), worst); - check(!rows.empty() && worst < 3e-6, "rot6d decode", "max |d| " + std::to_string(worst)); - } - - // ---- caption, chat template, BPE ----------------------------------------------------------------- - const char * gguf_path = argc > 2 ? argv[2] : std::getenv("VLA_COSMOS3_EDGE_GGUF"); - if (!gguf_path || !*gguf_path) { - std::printf("prompt: skipped (no GGUF: pass one, or set VLA_COSMOS3_EDGE_GGUF)\n"); - return fails ? 1 : 0; - } - gguf_reader g("cosmos3_edge"); - if (!g.open(gguf_path)) { - std::fprintf(stderr, "cannot open %s\n", gguf_path); - return 2; - } - Cosmos3Prompt p; - if (!p.load(g)) - return 2; - - { - const auto rows = lines(dir + "/cosmos3_edge_prompts.tsv"); - int bad = 0; - for (const auto & l : rows) { - const auto cols = split(l, '\t'); - const std::string task = unhex(cols.at(0)), want_caption = unhex(cols.at(1)); - const auto want_ids = ints(cols.at(2)); - std::vector ids; - std::string err; - const bool ok_tok = p.tokens(task, ids, err); - const std::string cap = p.caption(task); - const bool same_cap = cap == want_caption || (want_caption.empty() && cap.empty()); - if (!ok_tok || !same_cap || ids != want_ids) { - bad++; - std::fprintf(stderr, "FAIL prompt for task \"%s\": tokenized %d, caption %s, ids %s %s\n", task.c_str(), - (int) ok_tok, same_cap ? "same" : "DIFFERENT", ids == want_ids ? "same" : "DIFFERENT", err.c_str()); - } - } - std::printf("prompts: %zu tasks, %d differ (caption text and ids)\n", rows.size(), bad); - check(!rows.empty() && bad == 0, "prompts"); - } - { - const auto rows = lines(dir + "/cosmos3_edge_bpe.tsv"); - int bad = 0; - for (const auto & l : rows) { - const auto cols = split(l, '\t'); - const std::string text = unhex(cols.at(0)); - std::vector ids; - std::string err; - if (!p.encode(text, ids, err) || ids != ints(cols.at(1))) { - bad++; - if (bad <= 3) - std::fprintf(stderr, "FAIL bpe text of %zu bytes %s\n", text.size(), err.c_str()); - } - } - std::printf("bpe: %zu texts, %d differ\n", rows.size(), bad); - check(!rows.empty() && bad == 0, "bpe"); - } - // Text this tokenizer must refuse rather than get wrong. - { - std::vector ids; - std::string err; - check(!p.tokens("caf\xc3\xa9 au lait", ids, err), "non-ASCII task is refused"); - } - std::printf(fails ? "FAILED\n" : "OK\n"); - return fails ? 1 : 0; -} diff --git a/tests/data/cosmos3_edge_bpe.tsv b/tests/data/cosmos3_edge_bpe.tsv deleted file mode 100644 index 1054c09a..00000000 --- a/tests/data/cosmos3_edge_bpe.tsv +++ /dev/null @@ -1,550 +0,0 @@ -3166482e205a4d39545f420a724b727c6d5b473a2628734e6d3d6a245138276d54334f297b413f39342c48683f626c2b5a26 1049 1102 1072 1046 2163 1077 1057 1084 8037 1010 1114 79441 1124 1109 1091 1071 1058 1038 1040 1115 90104 1061 1106 1036 1081 1056 4525 1084 1051 1079 24342 1065 1063 1057 1052 118121 1104 1063 2970 1043 1090 1038 -29 1041 -51463d502669792243457321356c6b4f2e206e4d3f4c26703f512141283f2f4b346c5c584f2d454c78797865293e4838696c237c7174656b5e212459263b4a2c 1081 1070 1061 1080 1038 5077 1034 9158 1115 1033 1053 30623 1079 1046 1308 1077 1063 1076 1038 1112 1063 1081 1033 1065 102810 1047 1075 1052 1108 1092 1088 1079 1045 11213 8731 17264 49442 1072 1056 1318 1035 1124 1113 17848 1094 129081 1089 1038 1059 1074 1044 -42232f315f4a35093e7d5e546b50296f202f5d517946633d496f2643567651 1066 1035 1047 1049 80611 1053 1009 1062 29009 1084 1107 1080 1041 1111 1987 1093 1081 1121 1070 1099 1061 51483 1038 34456 1118 1081 -686d735e43662d7b3a28246a64707b79282d70596c566f65286379782a7039413d68236321325b6d4869436a7d4d533378680a37665c6d 1104 2943 68454 1102 113356 1058 3186 1106 28384 41057 11398 1112 1089 1108 1086 16122 5164 70653 111510 1057 1065 1061 1104 1035 1099 1033 1050 52468 37133 1067 1106 1125 7985 1051 1120 1104 1010 1055 1102 1092 1109 -7a48543d3822765e234168237575523b47705c34407762382430222e4e3c54583e4774272562367e6b517e66214a7245395429 1122 8395 1061 1056 1034 1118 1094 1035 37696 1035 47583 1082 1059 1071 1112 1092 1052 1064 78020 1056 1036 1048 3871 1078 11652 1088 1062 1071 1116 1039 1037 1098 1054 1126 1107 1081 1126 1102 1033 1074 1114 1069 1057 1084 1041 -23542f7b5b712a4e5860313c6b615c795e517545437b355726232231655a5e22313e266676 1035 1084 25546 1091 1113 107066 1088 1096 1049 1060 3002 1092 1121 1094 6605 13275 1123 1053 1087 16466 1034 1049 1101 1090 1094 1034 1049 21751 1102 1118 -69485e75353b2027287c616509504e376731793f7b6b2b71625a23314f6142622a7c61233b296d7970283c7a4d4a25786d38595d6b634a356f47 1105 1072 1094 1117 1053 1059 1576 60476 10539 1009 28666 1055 1103 1049 1121 1063 1123 1107 1043 1113 1098 1090 1035 1049 1079 1097 1066 1098 1042 1124 1097 1035 123872 1109 2493 71082 1122 1077 1074 121406 1109 1056 1089 1093 28417 1074 1053 1111 1071 -3c2c3c7d536f744a636666412448274f5522 1060 1044 1060 1125 1083 1360 65650 1609 1065 1036 1072 17282 1085 1034 -605e283c092a 1096 58924 1060 1009 1042 -7b33563a7741572f4c627274495152562a6c525b65664975745f4c55593f714c6f393d45674e772c3d6a4d5a514d316e6d273938525270396f5e09 1123 1051 1086 77794 1065 1087 15288 3285 1116 108372 1086 1042 1108 1082 1091 2263 1073 1341 11876 1085 1089 92404 10793 1057 1061 122689 1078 1119 1044 1061 1106 1077 1090 1081 1077 1049 36406 1039 1057 1056 60853 1112 1057 1111 1094 1009 -654d517e2474765d22577b6c696b7a60436858626d59272c4c35205f2a2342326b5643485f763379546f695e643b357c237a7009594741 1101 94031 1126 1036 44117 59805 1087 1123 7719 1122 1096 2814 1088 23704 1089 2096 1076 1053 1957 1042 1035 1066 1050 1107 1086 7247 11221 1051 1121 2892 1105 1094 1100 1059 1053 1124 1035 1122 1112 1009 1089 19454 -425b736e7a36 1066 1091 44515 1122 1054 -5521746e5c2073225a7b24322c09235009097b407a212943625226604f50653b73472874575f4c2a2638696b2c66694371 1085 1033 4829 1092 1265 1034 1090 49399 1050 1044 1009 1035 1080 1009 1009 1123 1064 1122 47905 98779 1082 1038 1096 14748 1101 108622 1071 4039 1087 11876 1042 1038 1056 1552 1044 16198 1067 1113 -4d6235517574 98413 1053 1081 1341 -560a573b0a652d6c232c5c6a60327c414c3a5c313958282f44633e617e784d0a2247516909484d30585868757d71454b3d51686539317320282a6b 1086 1010 1087 1365 1101 3217 1035 5217 1106 1096 1050 1124 4286 13249 1049 1057 1088 47264 1068 1099 1062 1097 1126 1120 1077 1010 1034 1071 90148 1009 103147 1048 18860 17279 126674 82787 1061 1081 1268 1057 1049 1115 3052 1107 -54306529375836676d387463655c5b715d506e5e 1084 1048 1101 1041 1055 1088 1054 127241 1056 1116 1368 6524 1113 1093 1080 1110 1094 -3c537958206f68295e37295d523c70242a5b4c71584c6024702c79655934567c7936545d6a66662047642c40222d42446c5d0a5e3b310a4e6f733222326b6e31696d31743d6435 1060 70017 1088 12447 26397 1055 19322 1082 20711 1036 1042 1091 1076 1113 113479 1096 1036 1112 1044 6857 1089 1052 1086 1124 1121 1054 1084 1093 1106 1609 85830 105936 57829 18704 1108 2820 1094 1059 1049 1010 64602 1050 1034 1050 6754 1049 1329 1049 1116 97316 1053 -24316409502b476b546a705425645353776244556a5c734161413e233d7060614c56256428447378366f395326487164415551384c4c3f7b 1036 1049 1100 1009 1080 1043 1071 1107 1084 1106 1112 1084 52071 4290 78020 33674 1106 84891 1065 1097 1065 1062 1035 1061 1112 1096 1097 51489 52071 24803 1115 1120 1054 1111 1057 1083 1038 1072 125482 117778 1081 1056 23947 1063 1123 -782f6b6e3a5f4e75577371434f2e46457c784c56313e66715c63596a5e6a71314d3f317e732f324d7b54 1120 1047 6754 36777 69249 81187 1113 9335 6350 1069 1124 1120 51489 1049 1062 1102 1113 1092 1099 1089 1106 1094 118757 1049 1077 1063 1049 1126 1115 1047 1050 1077 35865 -46345d567b3b6857306231 1070 1052 1093 1086 1123 1059 1104 1087 1048 1098 1049 -3441564c386c786e4a6f272825745e355a783133774636522c7354375d7b6c397c414c615e355b376142 1052 29970 1076 1056 106372 1110 32870 1039 36805 1116 1094 1053 1090 1120 1049 1051 1119 1070 1054 1082 34361 1084 1055 20079 1108 1057 1124 1065 3453 1094 1053 1091 1055 1097 1066 -6f5d4d21287432267c386c230944215a4a5d63704940666147593b5f2659346e6047544b7c237a 1111 1093 1077 31881 1116 1050 1038 1124 1056 1108 1035 130610 1033 1090 1074 1093 21097 1073 1064 7918 1071 1089 1059 1095 1038 1089 1052 1110 1096 35985 1075 1124 1035 1122 -6b656a484e3a52703b467569314c4b2c722d2c5d413a6e307b215a7e4a4c3456225d7275705e70575a2f377227404d545d386031423920250a4f093c68344d736009675b4264543859623b6924 51662 1072 1078 1058 1082 1112 1059 1070 2386 1049 1076 1075 47086 18532 1093 1065 24082 1048 1123 1033 1090 1126 1074 1076 1052 1086 4964 21001 1094 1112 1087 1090 1047 1055 1114 1039 1064 15901 1093 1056 1096 1049 1066 1057 45352 1079 1009 28932 1052 35201 1096 28706 1091 1066 1100 1084 1056 1089 1098 16430 1036 -247e40596155666f5b6149 1036 1126 1064 53881 1085 2751 44697 1073 -3d44737c2d4b796e33362a51587651317d2433733526733b4f7141783453583220583d437a34 1061 46723 1124 1045 1075 2249 1051 1054 1042 1081 1088 1118 1081 1049 5521 1051 1115 1053 1038 1115 1059 1079 1113 82928 1052 1083 1088 1050 2628 82063 1122 1052 -2f26675865447b6b785568607b237744294d296c262e7c4b543036 1047 1038 1103 1088 1101 1068 38399 1120 1085 1104 1096 105191 1119 1068 1041 1077 1041 1108 1038 1046 1124 81092 1048 1054 -5d5e2c403c3f7e 1093 31789 1064 6780 1126 -5f36204726384252496666677553614c3c61726932244328592743367952286e286b4f503a365047642c6679566b413b53797a47233d7e4d 1095 1054 1461 1038 1056 1066 8707 1609 3394 34610 1076 1060 1859 1050 1036 1067 62180 1039 1067 1054 1121 1082 4990 16026 14748 1058 1054 54406 1100 48315 1121 1086 1107 1065 1059 1083 7354 1071 1035 1061 1126 1077 -2c584739532a45664e3f6a6236092b346730093634706b6b456d74304234296a32277c5966784620 35784 1071 1057 1083 1042 1069 1102 1078 1063 1106 1098 1054 1009 1043 1052 1103 1048 1009 1054 1052 1112 13775 5969 1116 1048 1066 1052 1041 1106 1050 1039 1124 1089 25790 1070 1032 -714a544f336e274b29217a2a4c342e28373a7b4849446370292a6d773d 1113 1074 9197 1051 1110 1039 1075 85188 1122 1042 1076 1052 26667 1055 43529 1072 3084 21097 7394 1109 1119 1061 -46424b7e3e617e3a2e326770587d49707e225444232a26213e4b437e45692c4e235044565d394b5f7672623f0a50555f7b6471597477 62311 1075 1126 1062 1097 1126 70511 1050 127398 1088 1125 46895 1126 1034 30975 1035 1042 1038 1033 1062 120387 1126 1069 1105 45730 1035 9315 1086 1093 1057 1075 11221 20907 9551 81208 1746 1100 1113 1089 28895 -6a724109225e42453d71445854282f715d096e29643b5c5420364e6243273c753e097e39214f266b4872285a26794f4c586841654f2b60465234402b3e3e43485340 1106 1114 1065 1009 1034 1094 34817 1061 1113 1068 32225 47264 1113 1093 51893 117175 27076 1084 1032 1054 90279 1067 96726 1117 1062 1009 1126 1057 1033 1079 11049 1072 1114 80724 1038 1121 8568 1088 1104 1065 1101 1079 107285 53744 1052 1064 1043 8424 7247 1083 1064 -4e63542d21683d5d745463205d6864456662433c50 1078 1099 1084 1045 1033 1104 1061 1093 1116 102514 12750 19173 1069 45568 1067 1060 1080 -68533e327242353373 1104 1083 1062 1050 1114 1066 1053 1051 1115 -4e773c513d6030576230483a3a7e242637662270305876610a725b3e2e3d5e736b514577466376602427762a6b32 1078 1119 1060 1081 60303 1048 1087 1098 1048 1072 66356 1036 1038 1055 1102 1034 1112 1048 1088 2940 1010 1114 1091 42552 1061 1094 2728 1081 1069 1119 1070 56625 1096 1036 1039 1118 124944 1050 -6e5b5d36267429286647527e3d57645d65096c544c407436450a54757e7c5a52490959624e3b4b3f38653a2d3f48246536592b705a53096763497e654724245f5e4c24413b2c525847416f2251 1110 4344 1054 1038 1116 9731 1102 32874 1126 1061 1087 1100 1093 1101 41983 35570 1064 1116 1054 1069 1010 31155 1126 1124 1090 8707 1009 1089 1098 1078 1059 1075 1063 1056 1101 38053 1063 1072 1036 1101 1054 1089 89856 1090 1083 28706 1099 1073 1126 1101 1071 19587 1095 1094 1076 1036 1065 1059 1044 130864 19454 1111 1034 1081 -2f232b3a245475745160625f67227453554c5d4c50095a5c3376617322663471 47667 1043 57366 1084 1341 1081 1096 1098 11898 1034 1116 1083 4614 1093 28547 1009 1090 1092 1051 7797 1034 1102 1052 1113 -622b39403e47602979693f324a773b76693e7b755f6f0a5d2128587c33494e4b62322a4a483a3b3f4f527926 1098 1043 1057 1064 1062 1071 32891 15958 1063 1050 1074 1119 1059 2719 17965 1117 55925 1010 1093 31881 1088 1124 1051 57142 1098 1050 1042 1074 1072 1058 1059 1063 3749 1121 1038 -73617c2e743e5e225855376527307b294463553b7524795d545d5e09633d7e462d454a78316a2d3545602a352e266d79763469327b594947 7839 1124 1046 1116 1062 1094 1034 1088 1085 1055 1101 1039 1048 54690 1068 1099 1085 1059 1117 1036 1121 1093 1084 102121 6622 1061 1126 1070 12145 1074 1120 1049 1106 1045 1053 1069 1096 1042 1053 1046 1038 3933 1118 1052 1105 1050 82514 4351 -7c5429506c4e640962477a5958337b5d23585e655f3754227122264a506459382c72666b2253556169792a6f402138664f644f59717b4a30 1124 1084 1041 4444 1078 1100 40796 1071 1122 1089 1088 1051 111201 1035 1088 1094 1101 1095 1055 1084 1034 1113 1034 1038 72267 1100 1089 1056 1044 31601 1107 1034 50885 2464 1121 1042 1111 1064 1033 1056 1102 42956 1079 1089 1113 96460 1048 -5c735a4e2e6875717239267d2a2b663d2c6627 84891 1090 1078 3628 77139 1114 1057 1038 68793 1043 1102 1061 1044 1102 1039 -78535f6b6b2777487a48505e2647482c36747c353f74655d5f777d2e657c4f6a797d362945362c7526513c72382768216b2c 1120 1083 1095 13775 1039 1119 12160 13719 1094 1038 96633 1044 1054 1116 1124 1053 1063 1400 113650 1119 14522 1101 1124 1079 1106 1121 1125 1054 1041 1069 1054 79647 1038 1081 1060 1114 1056 6782 1033 1107 1044 -616b6e322854223551572e557b70724f63783d716352287966307d685e4e58675c2a76546a30673454285b7c 1489 1110 1050 14621 1034 1053 1081 1087 25251 1123 1553 1079 87703 1061 1113 1099 1082 16367 1102 1048 109669 1094 1078 1088 1103 1092 1042 1118 1084 1106 1048 1103 1052 1084 9038 1124 -234e22363078643648795869546d70645363775a29253c6250363f602509386b67 1035 1078 1034 1054 1048 72401 1054 54901 108124 77059 1100 5492 1119 1090 59909 1060 1098 1080 1054 1063 1096 1037 1009 1056 10096 -5a48647d2c6d6b51546d3865742c5d4b65615752753f5e737577757b24465b5164395d23596643457b4b5176455443753137552272582262755f6124582a77746364502e61 1090 1072 1100 4179 75583 1081 1084 1109 1056 1304 124866 13958 1097 44407 1117 1063 1094 6453 123679 49399 1070 1091 1081 1100 1057 1093 1035 1089 1102 9158 55681 1081 1118 4321 21988 1049 1055 1085 1034 1114 1088 1034 3991 17202 1036 1088 1042 22075 5979 1080 15664 -676f2d2973 2762 39210 1115 -23576431332224512a4672552e423a5a6a713022 1035 1087 1100 1049 1051 128379 1081 1042 27897 1085 7138 1058 1090 118757 1048 1034 -6d33334638574359457d39595f69474a3b562163282938454a662950595d6e3a67732a5964313d59336e2a3628 1109 1051 1051 1070 1056 61778 1089 1069 1125 1057 1089 13755 1071 1074 1059 1086 1033 1099 1690 1056 1069 1074 1102 1041 45242 1093 1110 1058 6735 1042 1089 1100 1049 1061 1089 1051 1110 1042 1054 1040 -7576523830752f4b0a6f5653735d54385d2c7c677a47772b5f504c577b664c3f3365243049573d415372716f29547664332d59376a7d2626246a3221 5786 1082 1056 1048 1117 54888 1010 1111 73553 1115 1093 1084 1056 3605 1124 78976 1071 1119 1043 1095 24520 1087 41548 1076 1063 1051 1101 1036 1048 1073 1087 1061 6003 1114 1113 1111 1041 1084 52866 1051 32401 1055 1106 23283 1038 1036 1106 1050 1033 -727674417644643b7209545b7e4b2a512470304875525d0a513a2573577e60274e45575358382e4e30306d247473615f5c7b262c6e5e7d5e415c7d282e6f49253d2976576b6562 17750 1116 17039 1068 1100 1059 1114 83080 1091 1126 1075 1042 1081 1036 1112 1048 68667 1082 2820 1081 31007 1115 1087 1126 93080 29156 20266 1088 1056 8787 1048 1048 1109 1036 2392 1097 1095 38732 1038 1044 1110 1094 29009 1065 1092 4709 1046 1111 1073 20096 1041 1118 1087 1965 1098 -552b394f6e2335565f5e4740204475 1085 1043 1057 3680 1035 1053 1086 1095 1094 1071 1064 8415 -3f6a2e76647d762c30283e413426245a48632f725876342267576c7d2f5a51440a3666395b6e490a203f7d59384878442155754d287336696939592230276c4839446f4c73556d72 1063 1106 10246 1100 86469 1044 1048 1040 1062 1065 1052 1038 1036 1090 1072 1099 24020 1088 1118 1052 1034 1103 1087 1108 9657 1090 1081 1068 1010 1054 1102 1057 25501 1073 1010 3082 1125 1089 1056 1072 1120 1068 1033 1085 1117 1077 3848 1054 4743 1057 1089 1034 1048 54297 1072 1057 9476 111268 35877 1114 -40722f277a61655a 1064 1114 41117 2712 1101 1090 -5e7c28202a256e382753526d24614544094e4a436209542e526c6a4e2d32437e565773444b7a60393e544b582971705a540a38443c26565d54334a545a2a4b6e394c703574534660 1094 1124 1040 1364 1037 1110 1056 1039 21967 1109 92411 7051 1009 1078 1074 98779 83080 6047 26186 1078 1045 1050 1067 1126 1086 81187 49329 1122 1096 1057 1062 105765 1088 1041 123033 1090 1084 1010 1056 1068 1060 1038 1086 1093 1084 1051 1074 1084 1090 1042 76194 1057 1076 1112 1053 1116 28036 1096 -5209446f245858372e37225b43235a0a4e20444f2c24616c 1082 1009 9476 1036 18860 1055 1046 1055 1034 1091 1067 1035 1090 1010 1078 21478 15985 1279 -4f594433672d66306c487a2b50776f785e5564446662573a61716f28287a6b7e377a612c5b31693a77444431573861334157662949645f532656522336 1079 1089 1068 1051 1103 3421 1048 1108 12160 1043 1080 2054 1120 1094 1085 1100 1068 45568 1087 1058 56014 1111 4564 13552 1126 1055 2712 28741 1049 1105 77794 27789 1049 1087 1056 1097 1051 1065 1087 1102 1041 2406 5618 1038 56994 1035 1054 -5c2c6c476e2a6e496425735b3e7257412d3e 10380 1108 1071 1110 61415 2406 54315 1091 1062 1114 32111 1941 -7a312e0a70276e2538702e353877363f52713147576b220a5144364653393064352b613f5a35433245 1122 1049 1626 1112 14362 1037 1056 1112 1046 1053 1056 1119 1054 1063 1082 1113 1049 102348 1107 2241 1081 1068 1054 21313 1057 1048 1100 1053 63389 1063 1090 1053 1067 1050 1069 -39387344344b553c205c742c246c794d2c5d237068745265515b75375823793009 1057 1056 1115 1068 1052 1075 1085 1060 1617 1116 15985 1405 1077 124866 1035 1112 1478 2596 1081 81696 1055 1088 1035 1121 1048 1009 -76596752242c792b50782c212a5c5f33747b255b093e2d425c 1118 1089 1103 1082 10933 1121 1043 120346 1044 27278 28178 1051 1116 54389 1091 1009 93242 1066 1092 -654620284f273d7a6166687246342329433e246e7c2c327d7b4b2452092479755627542a3459343e4f376973437c6f7c745937262141562666 1101 1070 1319 1079 1039 1061 2712 1102 2551 1070 1052 1035 1041 1067 81942 1110 1124 1044 1050 3483 1075 1036 1082 1009 1036 105451 1086 1039 1084 1042 1052 1089 1052 1062 1079 1055 1275 1067 1124 1111 1124 1116 1089 1055 1038 1033 29970 1038 1102 -5a416c 1090 3635 -5f223021417b6140723b7d204e57213a696b283d097c624131297c554e6b60634529642f2e567437486f2f354a435758600a52442f 48349 1048 1033 1065 26827 1064 1114 1059 1125 91124 98977 1552 1040 1061 1009 1124 1098 1065 1049 38547 8929 1107 1096 1099 1069 117175 22735 1086 1116 1055 45258 1047 1053 1074 1067 1087 1088 10632 50289 1047 -6c66744f5d5f2220693b39334f583d646f33284072736470263346655d4948586f53 1108 1846 1079 1093 48349 1623 1059 1057 1051 60261 1061 3846 1051 14303 7311 28384 1038 1051 11204 1093 1073 1072 1088 1111 1083 -56297b7960212168522e3f627509637b485172536d29273169472d6e2c6a2f7120652c43536d 1086 24342 1121 1096 7290 1104 1082 1046 1063 3991 6622 35069 1081 1114 18848 42347 1049 1105 1071 6603 22916 53643 1324 1044 13754 1109 -264277253e445a7a285e60345375492b533f7a42374f714a2740616b3e504e2650656b29624c6f762a4a7a2e3f53356c310a3a30706b2f3750774c455d33235e4b6563627b496a3e 38019 1119 1037 1062 1068 1090 1122 1040 1094 1096 1052 7352 1073 1043 1083 1063 1122 1066 1055 1079 1113 1074 1039 1064 1489 1062 28666 116011 2166 1041 1098 1076 1539 1042 1074 1122 1046 1063 1083 1053 1108 1049 1010 1058 1048 64312 1047 1055 1080 1119 3561 1093 1051 1035 1094 1075 2025 1098 50642 1106 1062 -4f3f3c4b672646252c72485c6858314a5f43474f3a203526703256762c674426395864456b4e6d7871 1079 1063 1060 1075 1103 1038 1070 8630 1114 1072 1092 1104 1088 1049 1074 4598 28649 1058 1032 1053 1038 1112 1050 1086 1118 68141 1068 1038 1057 1088 1100 98678 1078 52132 1113 -627c553b30703b46094b495a33385e6876263b547a4674434d73783f47216478442b3126754627715f247660463b4d267e632b367a68307657 1098 1124 1085 1059 1048 1112 1059 1070 1009 1075 15152 1051 1056 1094 51701 1038 1059 1084 1122 1070 1116 1067 35201 1120 1063 1071 1033 19903 1068 1043 1049 1038 1117 1070 1039 1113 1095 1036 1118 1096 1070 1059 1077 1038 1126 1099 1043 1054 25434 1048 1118 1087 -5842583a3b096e716c3a626b626046605935234a30533e59482b6a752f467e4166672e6925354635263e725c5d2e4c625c73534054554d0a7d25477263393d7a28 1088 1066 1088 1058 1059 51893 4765 1058 1098 82524 1096 1070 1096 1089 1053 1035 1074 1048 1083 1062 1089 1072 1043 5517 28546 1126 1065 18968 25610 1037 1053 1070 1053 1038 1062 1114 1092 3077 1076 1098 84891 1083 1064 1084 11458 1010 1125 1037 1071 2908 1057 1061 1122 1040 -52384d3472384c5e51537b2857595f5a5e0a4d237c2245793342482e762e725c2c7c3a0a7d385248334d363c3b673d79473625 1082 1056 1077 1052 1114 1056 1076 1094 1081 1083 22485 1087 1089 62446 1094 1010 1077 1035 1124 1034 1069 1121 1051 1066 1072 10246 5950 10380 1124 1877 1125 1056 82104 1051 1077 1054 1060 1059 1103 74951 1071 1054 1037 -637a5c6e476142785b 5206 6250 54074 1066 1120 1091 -3e55294962233e636328764e4559097e55546c5f336f5e 1062 1085 1041 1073 1098 83059 1666 14097 29156 1089 1009 1126 5489 1108 1095 1051 1111 1094 -77625c3a 78020 1092 1058 -547e41587a4f7877093e74292f0a302f5d4461673328657d7d7d720a6b314e517b5d5b 1084 1126 13339 1122 58596 1119 1009 1062 1116 12982 1010 1048 1047 1093 1068 1393 1051 6680 31700 1114 1010 1107 1049 1078 1081 1123 5371 -2a6852724f3e604a20392851497d6a367c756e2e48272a5a28 1042 1104 1082 1114 1079 27051 1074 1032 1057 25403 1073 1125 1106 1054 1124 1384 12015 23545 1090 1040 -314075283171243e6f5f6f7860394c243d6d2432484a6f7b542e3a6a626628627270305839644f5d726b5e597d5f604367413064675c5a71273d 1049 1064 1117 1040 1049 1113 1036 1062 1111 1095 3155 1096 1057 1076 1036 1061 1109 1036 1050 1072 32870 35865 14223 1106 5551 1040 3285 1112 1048 1088 1057 1100 1079 1093 112739 1094 1089 32796 1096 1067 1103 1065 1048 1100 1103 1092 1090 1113 1039 1061 -305a21686035217327717d412f766c2d384b4947425a24627b673b69627b4b74730a726f51617e 1048 1090 1033 1104 1096 1053 1033 1115 1039 1113 63360 11801 1108 1045 1056 1075 4351 1066 1090 1036 1098 52444 1059 1612 55681 2392 1010 1291 1081 1097 1126 -73515f7c696c56414735512420383a3b6b6b4f34585a21393f322c6a43737d5a2e4f736a737465587d22 1115 1081 1095 1124 1318 1086 6970 1053 1081 1036 1032 1056 1058 1059 13775 1079 1052 1088 1090 1033 1057 1063 1050 22916 38360 1125 1090 1046 18570 1106 2969 1088 27024 -40693b49224d54403d395a2f4f6040 1064 1105 1059 1073 1034 15901 1064 1061 1057 1090 33338 1096 1064 -372e53440a652b5855522e61462d6a386f56335b4621642c0a6f662254665578524920397c31617d453c3c39602b53242b75667e393b3e76585e4b245f39426426365b5c407729344f5f5033225d732e 1055 3051 1068 1010 1101 1043 1088 5553 15664 1070 17895 1056 1111 1086 1051 1091 1070 1033 1100 1520 2935 1034 1084 1102 1085 1120 8707 1032 1057 1124 1049 1097 107740 12130 1057 1096 1043 1083 1036 1043 3676 1126 1057 1059 1062 1118 1088 1094 1075 57994 1057 1066 1100 1038 1054 23233 1064 1119 1041 1052 1079 5482 1051 4964 1115 1046 -594556574c454247453a2f5636455c525b7b73504673473f773a26265c6f35394125785c542846266c2109414c58492e7a54304f3d6366 1089 66703 1087 3561 1066 19527 25771 1086 1054 1069 1092 1082 57096 1115 1080 53843 1071 1063 1119 1058 30004 1092 1111 1053 1057 1065 121406 1092 1084 34510 60846 1033 1009 4286 107321 24145 1084 1048 1079 1061 23074 -7a287527366b470a4b2520314f23605e5e58676f6851754929 1122 24952 1039 1054 1107 1071 1010 1075 1037 1032 1049 1079 1035 1096 48697 1088 1103 2523 6605 1073 1041 -344e3f31395643236c2b6b5d6c0a633e5f2e513d5c6d224563666d3d4e6c2f5926712d293b7a4a4c75782f4372714448094d737e2949416b723e30787a2f63533a3e3923717c7e49 1052 1078 1063 1049 1057 20500 1035 1108 75577 1093 1108 1010 1099 1062 9220 1081 4762 1109 1034 1069 23074 1109 105493 1108 111616 130208 1045 3455 1122 1074 1076 2428 14787 1114 1113 47909 1009 35201 33141 20501 28156 1062 1048 1120 1122 5938 1083 1058 1062 1057 1035 1113 1124 1126 1073 -2b5e5b254a5c7e43617341 14914 87914 1074 1092 1126 68073 1065 -2361317173203a660a4f434077364f4034443c7b3d4a2326796d532049543a2f4b424b3f596977576f2f3c6d2c722a367332483d3a79777e69483450572e6753587e2b583f71262a2122 1035 1097 1049 55485 1737 1102 1010 11815 1064 1119 1054 1079 1064 1052 1068 1060 1123 1061 1074 1035 1038 2360 1083 22784 25771 60305 1075 1063 1089 114919 70007 75263 1109 47086 1042 1054 1115 1050 1072 120271 16852 68887 1072 1052 109996 3596 1083 1088 1126 1043 1088 92404 1038 1042 17405 -3c654e29342c2d31413741596c6d3a5a700a2337 1060 1101 1078 1041 1052 20879 1049 1065 1055 25698 56383 1058 1090 1112 1010 1035 1055 -657a44456d5c5730693f423b7a42206c796d2e712879 8019 5088 1109 1092 1087 1048 1105 1063 1066 1059 1122 1066 1295 2360 60920 16367 -2d2c7b5b335c597d4823387b5d28645353415e7d657a34422c244261734536386c284a3c4c59517e2b402a4d406c29700956295b3c6c4472304563204b732c7b567e23736f2e50 18532 72036 1051 1092 1089 40673 1035 1056 1123 4015 1100 4290 1065 1094 1125 8019 1052 1066 15985 44125 1069 1054 1056 1108 43504 1060 38180 1081 1126 1043 1064 1042 1077 1064 1108 102356 1009 1086 20760 1060 1108 16236 1048 108976 1550 1115 91651 1086 1126 1035 1778 6565 -242b6a55797a4c2c5e323c2b7e57596573346a4b5d3e743b79282053745f742d32487e426f7572343a 1036 1043 1106 1085 7354 1076 1044 1094 1050 1060 1043 1126 1087 16860 1052 1106 1075 93748 1116 1059 1121 1040 1757 2480 1045 1050 1072 1126 1066 1479 1052 1058 -77654d7c382d6b24557d6d6d09462c666426242f6c37487e5f475e275775455d70235f3d2c75093c5d46624373265c23737b742f5b7769 1808 1077 1124 1056 11167 1036 1085 1125 8383 1009 1070 1044 34788 1038 112888 1108 1055 1072 1126 1095 1071 1094 1039 119515 1069 1093 1112 1035 1095 1061 1044 1117 1009 1060 1093 1070 1098 38360 37134 1035 1115 37876 95540 19559 -4a6d495b372d485f3166266a7335 1074 1109 1073 1091 1055 8005 1095 1049 1102 1038 6519 1053 -5351477b3058634c 1083 1081 1071 1123 1048 1088 1099 1076 -426c2f2b73462c42354f6247315f2c3f7126512a223c3a587a4d6d343c7b49 5855 114182 1115 1070 41778 1053 8944 1071 1049 5880 1063 1113 1038 1081 21808 1060 1058 1088 1122 1077 1109 1052 1060 1123 1073 -7d484e6b56733564587d35675d4b2e5b32372922602c797561496e5826477a 40673 1078 1107 38472 1053 1100 1088 1125 1053 1103 1093 1075 8925 1050 1055 18881 7273 1121 4037 1785 1088 126003 1122 -38482e5a7128094977256241524826266e3e64334e505b2b795130717d7046542b3834772454323330555f6e6c2735716d623b5e583c3945597b2b6d316823 1056 1072 45798 1113 1040 1009 1073 1119 1037 1098 3905 1072 30004 1110 1062 1100 1051 26640 1091 1043 1121 1081 1048 1113 74631 17310 1043 1056 1052 1119 1036 1084 1050 1051 1048 1085 4883 1108 1039 1053 1113 14192 1059 1094 1088 1060 1057 1069 1089 1123 1043 1109 1049 1104 1035 -5c764d4a3b70274023526173616c527c52357a4656402d37482176355a626e616e512b414e21 116348 1077 1074 1059 1112 1039 1064 1035 1082 66475 1082 1124 1082 1053 1122 1070 1086 1064 1045 1055 1072 1033 1118 1053 1090 1098 26836 1081 1043 5010 1033 -0a4d6c6e21294b7e68466f24763476 1010 1077 4876 47905 1075 1126 1104 1070 1111 1036 1118 1052 1118 -3748257634262d64275763706d4e6b5d5741472b5844 1055 1072 1037 1118 1052 73000 1100 1039 1087 1099 6411 1078 1107 1093 1087 6970 1043 1088 1068 -7d5c0a275678327b622f3128444b532e4f385d7e37602a47534975784337507d6356385b5e4b2346636e363d2c787a585e28513f7265203037345662 2380 1010 1039 1086 1120 1050 21623 1047 1049 24803 110718 20740 1056 1093 1126 1055 1096 1042 1071 27239 2428 1067 1055 1080 70206 1086 1056 1091 1094 1075 1035 1070 18170 1054 1061 1044 1120 1122 1088 58924 1081 1063 1273 1032 1048 1055 1052 1086 1098 -22416920713e6c2b2c25403f5a294a416b326321392a60527e61 1034 70466 4367 1062 1108 1043 38667 1064 1063 1090 1041 1074 70745 1050 1099 1033 1057 102676 1082 1126 1097 -294c3135262e5e4b69656c53577d30577d5e7b444b205a3f615d 1041 1076 1049 1053 1038 1046 1094 1075 1907 74938 1125 1048 1087 3161 49329 2163 1063 1097 1093 -7b4b2320745a2333592a2f2b5c4d383f564d315f7d7653653234344e692444514457645b52747809696d772865443c77623c2c2333233377 55681 1035 1257 1090 1035 1051 1089 10212 11428 1077 1056 1063 30569 1049 99743 1118 3201 1050 1052 1052 46519 1036 1068 1081 1068 1087 1100 1091 1082 14413 1009 1329 1119 6680 1068 1060 78020 1060 116638 1051 1035 1051 1119 -59344e3a657539756e3e6f383d4b3d4e4d59652f49513769683c2a4c43367b4e3f4157693266 1089 1052 1078 1058 15955 1057 1384 1062 1111 1056 1061 1075 1061 99056 42414 45517 1081 1055 4183 1060 1042 13515 1054 35361 1063 1065 77774 1050 1102 -6c56614c4e68 1108 68032 1076 51852 -65 1101 -66745c76383c6b5f72636027726e6a2669283e6f7a6d20336b6f382a350a3d76216e72563d322e716b5d0a653d3f466d3d57563b50275e2d21594e4522256c74285a557e4b540a5663626173477e2425 1846 116348 1056 1060 1107 1095 2908 93080 1114 26066 1038 1105 1040 1062 5665 1109 1032 1051 3505 1056 1042 1053 1010 120125 1033 76536 1086 1061 1050 60920 1107 2820 1101 92294 1070 1109 1061 1087 1086 1059 1080 1039 42280 1033 1089 29156 125684 3234 80724 1085 1126 81092 1010 1086 1099 13753 1071 1126 1036 1037 -3c72786f207e3940714a487266773e5360507a5d6d0a09735d4750 1060 1114 43101 7849 1057 1064 1113 1074 1072 31601 1119 1062 1083 1096 1080 1122 1093 1109 1010 13293 1093 31714 -7b6f5b402546545a6e4a582754657b514459657c313a497548 78366 34238 1037 17310 68905 1074 1088 1039 9510 52173 1068 42414 1124 1049 1058 1073 1117 1072 -60492b6b513c 1096 1073 75577 1081 1060 -612349443c267747563b7b6f76097a22292f6a304b252366486164287551775a445f3f7a657d217c7936213e352f5b5153556f633155 1097 1035 3084 1060 1038 1119 109488 1059 1123 1539 1009 1122 4428 1047 1106 1048 1075 1037 1035 1102 111045 24952 1081 1119 1090 1068 1095 1063 2343 119020 1124 1121 1054 1033 1062 1053 95540 1081 50885 1453 1049 1085 -39442b243d7b602b5d585c624079296009307c5975742332 1057 1068 1043 1036 37375 1043 1093 1088 1092 1098 1064 1121 17783 1009 1048 1124 1089 1341 1035 1050 -347e2b7d604247695e7522614d60786d74477759472c7d31503a3d3220377047284f47472b4b57282e63097d2e0a7a3249 1052 1126 1043 14483 1066 42435 1094 1117 1034 1097 1077 1096 1120 6578 1071 1119 1089 1071 78036 1049 1080 50144 1050 1032 1055 1112 1071 1040 48368 1071 1043 1075 1087 37206 1099 1009 62853 1122 1050 1073 -2b656331276b4a2a64640923583a533f383b3427603d26385f782f7c642854414e3369436d7628365d71094f34257420472052263b 1043 2025 1049 1039 1107 1074 1042 2805 1009 1035 1088 1058 1083 1063 1056 1059 1052 69066 74113 1056 12454 1047 1124 1100 14621 5010 1051 1105 1067 111053 1040 1054 1093 1113 1009 1079 1052 1037 1116 1461 1434 1038 1059 -66552e48593a3c5c6d4e710a7273695279666420386a2d3b67725d3722 1102 1085 12015 1089 1058 44129 1109 1078 1113 1010 1114 5822 1082 1121 34788 1032 1056 1106 1045 1059 1870 1093 1055 1034 -22486b4d5471375666516e6d5b236f4e3e4e 1034 1072 1107 15901 1113 1055 1086 1102 1081 36406 1091 1035 1111 1078 1062 1078 -5578613e7c385a5a7b426c31492033400957733241325d79496a723750554c35524675377126524309746d3a2f28343d4f776c3e4f7549543e2a6f6f5750504e5161793e3c4d7b78762775 1085 28674 1062 1124 1056 105156 1123 5855 1049 1073 1032 1051 1064 1009 81187 1050 1065 1050 1093 1121 1073 1106 1114 1055 1080 4614 1053 43456 1117 1055 1113 1038 22805 14133 1109 25771 1040 1052 1061 1079 130450 1062 110084 4778 85029 12078 1087 11388 1078 1081 1417 4812 1077 17222 1118 40439 -456b2a3b48266e6757606c5937203e732673686f745d705a286d4b6b2d5f6d42604d5a773b355e49525d777d5a4877752b6b427b2c54237e363e6c512c 98678 18146 1072 1038 1716 1087 1096 1108 1089 1055 3006 1115 1038 17947 1093 1112 1090 5239 1075 1107 73924 1109 1066 1096 1077 76109 1059 1053 1094 9474 1093 1119 1125 1090 1072 123679 75577 1066 1123 1044 1084 1035 1126 1054 1062 1108 1081 1044 -4d3668725377094344697134336d557c437050727a45293f4f3e09522f7b390a3e494c635b245b78497a0a3f266f4e34776f67363b3b27 1077 1054 2551 17705 1009 8584 36926 1052 1051 1109 1085 1124 119568 5240 1122 1069 36036 1079 1062 1009 1082 25546 1057 1010 1062 9387 1099 16337 1091 1120 88814 1010 1063 1038 1111 1078 1052 1119 1500 1054 52100 1039 -22217e3e57314f2852445109732c2b7e647e3972616b2763726f68504e4079692367443d7755583c3b5b23563141592b665c7e432261357e6231747a695f7b714f7c4a4c35523b302051492c4d343a 1034 1033 1126 1062 1087 1049 1079 8334 1068 1081 13293 1044 1043 1126 1100 1126 1057 8041 1039 61014 1104 28666 1064 15958 1035 1103 1068 1061 1119 82838 1060 1059 1091 1035 1086 1049 25698 1043 1102 1092 1126 1067 1034 1097 1053 1126 1098 1049 1116 4606 1746 1113 1079 1124 1074 1076 1053 1082 1059 1048 2466 1073 84592 1052 1058 -5a40515a7c4a5e62422a377c4d5a327e7e2471773979765b796a490a0a752f783e2070394633786f672c65 1090 1064 1081 1090 1124 1074 1094 1098 1066 1042 1055 1124 1077 1090 1050 26385 1036 1113 1119 1057 33983 1091 37094 1073 1267 1117 27432 1062 1274 1057 1070 1051 1120 1500 67672 -602b6d2f727322417d54556d 1096 1043 1109 1047 7311 93192 78522 35877 -572071512d2c4128435c223428 1087 4367 1081 18532 1065 16366 17931 1052 1040 -6d72316d60792a717725494a235076352652216d7c6c5962687952334651322f7051693928 61373 1049 1109 1096 1121 1042 1113 1119 1037 1073 1074 1035 1080 1118 1053 125903 1033 1109 53326 1089 1098 16713 1082 1051 1070 1081 1050 8273 90148 1057 1040 -4d46582a685351766c274a36615b5d75737e27225224603625695849374b645a64366f714d514d287420346128507431644d772d756b317c2e353a7d72315271 1077 75215 1042 1104 1083 1081 32064 1039 1074 1054 1097 4344 1374 1126 38416 1082 1036 1096 1054 129955 107321 1055 1075 1100 1090 1100 1054 105357 94031 1077 4039 1032 1052 1097 26071 1116 1049 1100 1077 1119 1045 2699 1049 1124 1046 1053 1058 1125 1114 1049 1082 1113 -552f766b6c466f7a392a3c7964575148542f47342c60654e3533437c7e6038622c5c3d592a524222534c75772b2a4a7a70547e57744d47265b765a64406a7858306b6a2322463a69 1085 11801 4904 1070 5665 1057 1042 1060 3282 1087 1081 8395 38484 1052 1044 1096 1101 1078 1053 1051 1067 1124 1126 1096 1056 1098 5217 1061 1089 1042 84165 1034 27893 43754 1043 1042 1074 1122 1112 1084 1126 1087 1116 64937 1038 1091 1118 1090 1100 1064 1106 1120 1088 1048 89773 1035 1034 1070 55350 -506035272a286d7675282f28673448423a68096a633c675c7976097c 1080 1096 1053 1039 19197 1109 22786 1040 30875 1103 1052 68291 126067 56663 1099 1060 1103 1092 33983 1009 1124 -2c4c2d7e226c745621615b513c4e21435f4d622d30546a514a53 80377 1045 1126 1034 3234 1086 1033 1097 1091 1081 124549 1033 1067 6911 1098 1045 1048 1084 1106 1081 32452 -4d227454652b627d5c5a623344 1077 1034 1116 9510 41058 2380 1090 1098 1051 1068 -22374c6177252d363a697d6240666c7159585c773d433c3f6e6466595a4b765764404f5d312c7a2e545c46236531092e5d677a52363d7822 1034 1055 60057 32002 1054 55350 72532 1064 2444 1113 1089 1088 1092 1119 82063 6780 1298 1102 1089 1090 1075 1118 1087 1100 1064 1079 1093 1049 45065 6847 1092 1070 1035 1101 1049 1009 68129 78976 1082 1054 50098 1034 -42657a704c7c50513d4e73782d2b314a68576f7c220975574330 5934 1122 1112 1076 1124 1080 1081 1061 47794 1120 1045 1043 1049 1074 1104 70007 1124 1034 61429 61778 1048 -71275d345b2555667d293b44422e5a20432d3d6b216f74764d644f6f715b7b3b5b78213147625572662e422a344029493168 1113 2963 1052 87914 1085 1102 75204 12223 45798 1359 1045 1061 1107 1033 1360 1118 104644 1079 105357 57096 1059 1091 1120 1033 1049 1071 1098 1085 31601 7138 1042 1052 1064 1041 1073 1049 1104 -2f497952406e254920564c68485e6e544b795244457a792457703a4740765359 45517 1121 1082 1064 1110 1037 1073 115941 1104 1072 48550 105765 1121 1082 5088 3520 1036 1087 1112 1058 1071 73661 101289 -3a40663a 24609 1102 1058 -246f47267a2e4d7e6b6e0a32233f547773704b3d7e4c77204c463a5f25456a3979543249506e72375d530a7169365a394f294e39734b6630 1036 1111 1071 1038 1122 4700 1126 6754 1010 1050 1035 1063 35132 2308 1075 1061 1126 1076 1119 85540 36777 1037 126699 1057 1121 1084 1050 9918 76536 1055 1093 1083 1010 24026 1054 1090 1057 1079 1041 1078 1057 1115 1075 1102 1048 -372f77696f59444c5d 1055 13001 1655 1089 42559 1093 -325d5f4c216422675a7e303b5644 1050 113650 1076 1033 1100 1034 1103 1090 1126 1048 1059 10566 -753c3c6e6f3a28734c54202e4633745c5c7852783e6351746e2e4f28466e7e60 1117 12130 2649 16992 1115 71905 2247 1070 1051 1116 8093 1120 81616 1062 1099 1081 4829 20740 34510 1110 1126 1096 -6e7e24392c295e094b51296c41667b5a482e2652432f52482b605e69357165406d34264a51473463523d507b46543d55542a577a63595d5f3a4e5a286321704f6433736c71673e27 1110 1126 1036 1057 1044 26397 1009 1075 1081 1041 1108 52895 40999 1072 1046 1038 22805 30403 1072 107285 1094 1105 1053 1113 1101 1064 1109 1052 1038 1074 1081 1071 1052 1099 1082 1061 1080 1123 17310 1061 5489 1042 1087 1122 1099 1089 1093 32045 88653 5164 1033 1112 42956 1051 7950 1113 1103 33820 -7a7c3c5546226b4340334f7d7b5e5d4b6369364a5d5742752b35627561762d24676c56674043 1122 1124 1060 52359 1034 1107 1067 1064 1051 1079 3483 1094 1093 1075 2253 1054 1074 1093 1087 4551 1043 1053 3991 1430 77960 3779 1086 1103 1064 1067 -09474e22567e3c3a4f3c5e09290a6746717e42446d726e665c276c2f2b 1009 123165 1034 1086 1126 1060 1058 1079 1060 1094 1009 1456 1103 1070 1113 1126 18704 61373 107295 60878 1108 114182 -33363c3559627e297b3b5d4f262c4171294d3f4c235a5c2c7c67362d22465948273e4e7e704f2d26475e2e4935356e2f4e50256a2a335260616e2a512f6e277a2d23406163634e60376f2c4063097e 1051 1054 1060 1053 1089 1098 1126 24342 1059 1093 1079 1038 1044 1065 1113 1041 1077 1063 1076 1035 1090 10380 1124 1103 1054 76880 1070 1089 1072 19686 1078 1126 1112 1079 1045 1038 1071 42232 1073 1053 1053 1110 1047 26640 1037 1106 1042 1051 1082 1096 1271 1042 1081 23409 93964 1045 1035 1064 4679 1078 1096 1055 1111 105936 1099 1009 1126 -4a2e4d487a605a2835394e51622d285c4c6e52256c74583648534a5b246043 1074 4700 12160 1096 1090 1040 1053 1057 1078 1081 1098 1045 6169 114892 1082 1037 3234 1088 1054 30316 1074 16337 1096 1067 -3f363748386d6b24773f674755515568584052774b386621 1063 1054 1055 1072 1056 75583 1036 1119 1063 1103 1071 1085 27289 1104 1088 1064 1082 1119 1075 1056 1102 1033 -4d4f495b5d4f6a5363355b7754294c2548206135754653446f7d675734577d5c65506423623647425e77376e5e7e5a2768486e72686247323b3e5f4b6951395f52 28497 1073 4344 1079 1106 5492 1053 1091 1119 1084 1041 1076 1037 1072 1261 1053 1117 21313 9476 95976 1087 1052 1087 2380 1101 130885 1035 1098 1054 12737 1094 1119 1055 1110 1094 1126 1090 6782 1072 1110 32177 1098 1071 1050 1059 1062 1095 69056 1081 1057 14138 -5144677e2c45342c266323574f663b7a2a7e6f2746643d3a4f742a452d0921093378 1081 1068 1103 23928 1069 1052 52977 1099 1035 1087 5162 1059 1122 1042 1126 1111 1039 1070 1100 120271 81222 1042 1069 1045 1009 1033 1009 1051 1120 -48776555234c7e525d4a44596168246d725c51227663663a755f746b72743f78305863564b532263452f625656526c2d23245655693079552d47 1072 1808 1085 128177 1126 1082 1093 1074 1068 1089 1816 1036 61373 1092 1081 1034 22160 1102 1058 1117 2480 1107 5185 1063 1120 1048 1088 1099 1086 110718 1034 1099 1069 15836 1086 56994 1108 1045 1035 1036 1086 47430 1048 1121 1085 7491 -423b785c720a6f4f5f5f275d5b6d297654473748 1066 1059 1120 18980 1010 1111 1079 3308 39768 1109 1041 1118 118593 1055 1072 -785931556d4f74487752356b5656493e547430417a755f365c323e2f2646615572643430226d67584c5b257a33612629445a2920095c325a5a68 1120 1089 1049 35877 81222 1072 1119 1082 1053 1107 1086 31416 1062 1084 1116 1048 1065 8966 1095 1054 1092 1050 55190 1038 50056 1085 7989 1052 1048 1034 21495 113479 87914 1122 1051 1097 1038 1041 1068 1090 1041 1032 1009 1092 1050 105156 1104 -777650700a5b35752d58442a714763364f39532e7c434e2264205e72494156624b5b333d44614328 1119 1118 1080 1112 1010 1091 1053 1117 24860 1068 1042 1113 125561 1054 1079 1057 1083 1046 1124 47271 1034 1100 12032 1114 20501 1086 1098 1075 1091 1051 1061 19927 1067 1040 -72472b7b2d3f7a7158223e7e39552338292a7264605c593e32534e734c094859265c45377a25780936657e7e307a3b4c2532 1114 1071 1043 39450 1063 1122 1113 1088 2571 1126 1057 1085 1035 1056 7394 7989 1096 1092 1089 1062 1050 1083 47794 1076 1009 1072 1089 37134 1069 1055 1122 121406 1009 1054 1101 26385 1048 1122 1059 1076 1037 1050 -4e4975747c414e717553412d2f75 42859 1341 1124 5010 1348 11941 63586 1117 -6e71472d4b4b7868 1110 1113 1071 10451 1075 1120 1104 -2d566e3048512a5c273b5d486e27276864523d3228394f402f44703231406b2f4721532b 11422 1110 1048 1072 1081 127689 27249 1093 1072 1110 20040 19173 1082 1061 1050 1040 1057 1079 1064 1047 1068 1112 1050 1049 1064 1107 38484 1033 1083 1043 -66627158556456512c2f2f5a212a6f6e5b3f7942 45568 1113 1088 1085 1100 1086 1081 1044 1555 1090 27278 1263 1091 1063 1121 1066 -7d275a73666b657b54413022257d6f3041526c6e2b7c7249453e7e764258337a41622c4a312a422e6e7c 40751 1090 21695 1965 1123 12887 1048 125684 1125 1111 1048 3905 4876 1043 1124 1114 20851 1062 1126 1118 1066 1088 1051 1122 10746 122617 1049 1042 1066 6019 1124 -557b51472e44095f422267223e6e48337d6d656d50516f5b4b6d454d2d696d5939745043714572662a226737393f3f453246425b6d51772a4c6e35357a3c384839793540752842225a533348587671 1085 52173 1071 5226 1009 8037 1034 1103 2571 1110 1072 1051 1125 27274 1080 97038 1091 1075 1109 15187 38787 1089 1057 1116 9793 1113 3859 1102 21808 1103 1055 1057 45509 1069 1050 62311 52468 1081 1119 1042 114892 1053 1053 1122 1060 1056 1072 1057 1121 1053 1064 1117 19608 1034 1090 1083 1051 1072 1088 1118 1113 -21206f45285324224a614e354259434c5f4f645565323d7c642d5d3f63606767305b4d35517d6427576e314a7e66526668533c233e705b2560625d3b5d6d2d7c2165422f5f304a6d6e7870743f 1033 1281 1069 13977 1036 1034 39488 1078 1053 82317 8534 10820 1100 1085 1101 1050 1061 1124 1100 1045 1093 1063 1099 1096 2867 1048 1091 1077 1053 1081 76554 1039 1087 1110 1049 1074 1126 1102 1082 115256 1083 1060 83059 1112 87914 1096 1098 18290 1093 1109 1045 1124 1033 1101 1066 35143 1048 1074 80209 1120 1515 1063 -443928485a41672c3b206a447159253e366946447074332320314728793f65 1068 1057 38917 1090 19068 1044 1059 1475 1068 1113 1089 1037 1062 1054 1105 61930 1515 1051 1035 1032 1049 1071 16367 1063 1101 -5e4058745e097e2d72674e585f3940365c6031517b3a44694d3a0a45522b4d452e33494c5750604f416d4d4d796e46303a754f423137464a2c5559695f3834236d767b703b4948 1094 1064 1088 1116 1094 1009 48724 19345 1078 1088 1095 1057 1064 1054 1092 1096 1049 1081 1123 1058 20609 1077 1877 2794 1043 5180 1046 1051 9387 64557 1096 1079 8459 20451 2249 1070 1048 1058 1117 53045 1049 1055 1070 1074 1044 1085 1089 1105 1095 1056 1052 1035 111053 29529 1059 1073 1072 -5859 50706 -64287568313251322b576649383e2d2f626c6574292745762b51 1100 1040 6786 1049 1050 1081 1050 1043 1087 1102 1073 1056 1062 63586 1098 2186 42347 48572 1043 1081 -720a4c7c20467b6a49735b794672622a64344a4d3d3b635737293c7665763c622c5a546c4f6423372b2e4448576833352076425d6f212c 1114 1010 1076 1124 1439 97992 5356 56010 1070 20907 1042 1100 1052 1074 1077 1061 1059 1099 1087 1055 65667 1672 1118 87794 1044 1090 126347 42956 1035 1055 116667 47909 3237 1051 1053 1330 1066 1093 1111 45949 -3b425d2a7e275a504a447e5c68 1059 1066 33666 1126 1039 1090 1080 1074 1068 104333 1104 -234a6c265c5f786e36633954473377652a3b777533602a263d7a4d283a5f676744642d407c5647362b 1035 1074 1108 1038 28178 1120 1110 1054 1099 1057 118593 1051 1808 18146 123679 1051 1096 1042 108401 1122 1077 17350 1095 2867 1068 1100 1045 1064 1124 122406 1054 1043 -4b4a3b515671697d343a6f3d6d74765231423a472b545d54470a7e622c693e313e6f2d2631366a606d2b365d73577e7830276553324a4b736b7b2234214f5c792740403e6643347e2b5d0a30723f21 1075 1074 1059 1081 1086 24026 1125 1052 1058 1111 1061 6578 1118 1082 1049 1066 1058 1071 1043 1084 1093 118593 1010 1126 1098 29668 1062 1049 1062 1111 1045 1038 1049 1054 1106 1096 1109 1043 1054 1093 1115 1087 1126 1120 1048 11424 1083 1050 92274 2728 19227 1052 1033 1079 1092 1121 1039 93023 1062 1102 1067 1052 1126 1043 2820 1048 1114 74206 -2b7a4b2741 105892 1075 6494 -682e55253d4b587165795b4d41354c616632333f25622576236e553144495a0a5422 1104 25251 20096 1075 1088 1113 3566 1091 8900 1053 3453 1102 1050 1051 1063 1037 1098 1037 1118 1035 1110 1085 1049 1068 15152 1010 1084 1034 -2b6c5042406659574a51790a2a7c45222f226520 115052 76628 1064 1102 1089 1087 1074 1081 1121 1010 1042 1124 1069 10681 1034 1101 1032 -414a75783544666b445959325d7c6473294b264e3c6622414d20576f29232553 1065 1074 2428 1053 1068 129777 1068 28131 1050 100741 15988 1041 1075 1038 1078 1060 1102 1034 6758 18739 102110 1037 1083 -403655435b5f666d543e3779 1064 1054 24859 61377 110302 1084 1062 1055 1121 -4c7e6d61694028337a09412027233d5a2c387574613b366a305d5e4f3d776b222952365b792a2023 1076 1126 31948 1064 1040 1051 1122 88974 17244 1061 1090 1044 1056 7734 1059 1054 1106 1048 102121 1079 1061 1119 1107 4428 1082 1054 56010 1042 2569 -6775474c3a4c40332f613c0969384c2b37243f55395b693c4e417c313754347d7325395569477d22412f72403b4b3c6b773d61275f3d 3394 17899 1058 1076 1064 1051 22139 1060 36533 1056 1076 1043 1055 1036 1063 1085 1057 3755 1060 3251 1124 1049 1055 1084 1052 77633 1037 1057 47430 1071 27024 1065 24020 1064 1059 1075 1060 24928 54265 119421 1061 -3627394a78617d33544d33675e656646323c6c6657385c416f49637738286769634773347542457d43213e6368352051747d6a683e5c67687b445a486209486d27746b562b 1054 1039 1057 1074 28674 1125 1051 40139 1051 1103 1094 2263 1070 1050 1060 29492 1087 1056 1092 72531 1073 1099 1119 1056 15244 1290 40232 1052 1117 34817 52520 1033 1062 1331 1053 28606 1125 1106 1104 25867 1834 39058 1090 111757 1009 1072 1109 2405 1107 1086 1043 -5d2c3c7a3a23295b42272e4d3b46757854696d4b31322e473b746f565970786730276422493e602d3d 3605 1060 1122 40048 20760 1066 9528 1077 1059 1070 2428 33111 1075 1049 1050 8130 1059 1611 1086 1089 3654 1103 1048 6813 14834 27051 1045 1061 -457c6368656344506f5d7e3c5e6c4b4737686e324448492f5c3d247e6f722170565549556769304c55 1069 1124 1837 1099 1068 10488 1093 1126 1060 1094 1108 99414 1055 7014 1050 47909 1073 24547 13907 1126 1270 1033 1112 1086 8442 1085 6216 1048 73275 -6172205143416a32533a3e6a75777b5b443f6c4b260a57685d5442372f227a370a6e347a 1277 2466 9467 1106 1050 1083 1058 1062 5517 1119 72036 1068 116105 1075 1038 1010 3237 1093 64833 1055 17294 1122 1055 1010 1110 1052 1122 -284f522a5e285b64327c7d3d6e4f583256457156575826274b262540794169574178796752573c696e283f5b66 1040 3749 1042 1094 9038 1100 1050 1124 7055 1110 60261 1050 16578 1113 1086 1087 1088 1038 1039 1075 1038 1037 1064 1121 70466 32111 8731 1103 1082 1087 1060 1259 102810 1091 1102 -7476543731524d4c50327e763523723e377230215d544f706426735e54504041702a4c5529676d5e347b3f7b294463 44117 1084 1055 1049 1082 6243 1080 1050 1126 1118 1053 1035 1114 1062 1055 1114 1048 1033 1093 9197 45110 1038 1115 1094 8426 1064 8952 1042 73275 125055 1109 1094 1052 1123 1063 54690 1068 1099 -3869456a41417d5c7a5456614d254a2362525b685376306b3d40333f25733e36383a407d4f6256636b37202661463b68236e576d3071392d224d2d 1056 1105 126699 14229 2380 1122 11488 1097 1077 1037 1074 1035 1098 1082 1091 1104 86592 1048 1107 1061 1064 1051 1063 1037 1115 1062 1054 1056 24609 1125 8944 1086 1800 1055 1748 1097 1070 1059 1104 1035 1110 1087 1109 1048 1113 1057 76880 1077 1045 -613a652d42765c7737773579620a662e382058493c7c36522929213c7b6d762d233c2b3c6635203949324366653d7e505720 1097 92655 5630 1118 1092 1119 1055 1119 1053 27362 1010 1102 1046 1056 27146 1060 1124 1054 1082 2798 1033 1060 1123 111053 1045 1035 1060 1043 1060 1102 1053 1032 1057 1073 1050 1067 3070 1061 1126 109996 1032 -282f633a5d7a22517925744c3a3a5e78335b6e5e475842692956597423303a 47264 1099 90370 1122 1034 1081 1121 1037 1116 1076 2164 1094 1120 1051 25501 1094 1071 1088 39903 1041 1086 1089 1116 1035 1048 1058 -6e483254555a5430404861413655426c4f625731412f32463c5d3d5e7d40314f6f63417b4d6a424d6b4175452d5e337b504c75453c2c09617c71207d5b6961 1110 1072 1050 1084 1085 1090 1084 1048 1064 36161 1065 1054 1085 5855 8944 1087 1049 1065 1047 1050 1070 1060 18652 1094 1125 1064 1049 1079 1453 1065 41573 1106 20195 1107 19452 1069 1045 1094 1051 1123 24520 1117 1069 1060 1044 44056 1124 1113 1495 1091 1485 -342b497a2e21725d24524e7278505a264c53353931775c364148313c3320685220525d675009557d 1052 1043 88814 1046 1033 1114 53148 109334 52915 1080 1090 1038 18369 1053 1057 1049 1119 1092 1054 91939 1049 1060 1051 1310 1082 1434 1093 1103 1080 1009 1085 1125 -696c603a4b3c4c5b33523c7d366f5323357d3021655921537b6154632f380a293243242a684e2e3a79283a42246f0a5a703f67484f52673524 1318 49431 1075 1060 1076 1091 1051 1082 1060 1125 1054 1111 1083 1035 1053 1125 1048 1033 1101 1089 1033 1083 26827 102514 1047 1056 1010 1041 1050 1067 1036 1042 1104 1078 14223 1121 17350 1066 1036 1111 1010 1090 1112 1063 1103 1072 3749 1103 1053 1036 -2e2f635c3c282930473949297e3a23434c75467a 5384 1099 1092 1060 1690 1048 1071 1057 1073 56202 40048 8534 1117 1070 1122 -7e46464953792d2a507469587941292841577520254d296b606d2a4e426467536c354c4e09574a432327563b286e5d505956703a735b38292f583b53493a74 1126 7762 6673 1121 35450 1080 4464 1088 1121 1065 9731 1065 119515 2545 1077 1041 1107 1096 1109 1042 46713 1100 1103 12863 1053 1076 1078 1009 1087 1074 1067 1035 1039 1086 1059 1040 1110 1093 45242 1086 1112 43235 1091 1056 12982 1088 1059 27239 1058 1116 -6a746c4766257d433c0a543d5827537e6e5e 26082 1108 1071 1102 1037 1125 1067 100335 1084 1061 1088 44161 1126 1110 1094 -265f3d38647a2130633040322f3f27466e6b52313a4e3c420937775d7d405f2f4b2c2138556d2b61525336743a4a67693578093c4d7b2e74752f6a23450a242675 1038 1095 1061 1056 17602 1033 1048 1099 1048 1064 1050 10361 1039 46047 1107 1082 1049 94507 1060 1066 1009 1055 1119 16474 1064 121099 1075 1044 1033 1056 35877 63389 19693 1054 1116 1058 1074 6216 1053 1120 1009 1060 1077 1123 1046 17391 5298 1035 1069 1010 1036 1038 1117 -65702c547c513253446f3060202b285f2e6c2d282a2f374d64523a39703e40272b4d6e2956665f784e3e7852394357525d263a6256522235413631 2003 61868 1124 1081 1050 1083 9476 1048 1096 1867 121227 1108 14283 10212 1055 104644 1082 1058 1057 1112 1062 1064 29157 65984 1041 1086 1102 12454 1078 1062 1120 1082 1057 1067 44407 1093 1038 1058 1098 56994 1034 1053 1065 1054 1049 -7e2d4f3332397975396779660961756e752c42247e6f247032793b637557757031512e432336686f6f7a3b6e6e272a6b5b6b627847365f3b734e3e4c2d222943504a713d7b09765140 48724 1079 1051 1050 1057 105451 1057 2891 1102 44056 21583 41778 1036 1126 1111 1036 1112 1050 1121 1059 7296 1087 1982 1049 1081 4358 1035 1054 2621 5665 1059 39681 23545 1107 24321 82061 1071 1054 49109 1115 1078 1062 1076 1045 4428 13943 1074 1113 3181 29285 1081 1064 -4571605b593857682f7828634b6d67326574424e6a4079632d35 49695 1096 1091 1089 1056 3237 27432 5164 1075 21495 1050 1304 90805 1106 1064 26163 1045 1053 -334038414a25236a2a5420325129633e656f2f5c38347a25350a61474666447c4f2b0a4a7c655955254146794f635b2a6e 1051 1064 1056 1065 1074 1037 1035 1106 1042 1084 1032 1050 1081 1041 1099 1062 58633 24547 1056 1052 1122 1037 1053 1010 1097 10624 1102 1068 1124 1079 44065 1074 1124 1101 1089 1085 77685 1121 1079 1099 94610 1110 -6c43545c2b6e3a 1108 4061 36501 1110 1058 -495d7a78343536432f6c0a3f782570525f786a26482a7c334d41726e24467b414e47676e7321094826726b6f7a5b0a46437135 1073 1093 1122 1120 1052 1053 1054 1067 23857 1010 1063 1120 1037 1112 1082 12454 1106 1038 1072 1042 1124 1051 1077 91133 1036 1070 1123 38866 5891 1115 1033 1009 1072 1038 1114 103404 33966 10858 1113 1053 -095b096e5532217761307d2d29712f26715e58562b3b217a2a41 1009 1091 51893 1085 1050 1033 4761 1048 9299 1041 1113 1047 1038 1113 1094 1088 1086 1043 1059 1033 1122 64586 -435b097b67302824376621507a4f756450206a27295a4e2d3a77434063386f5e2a41354c2f4d4c6126295349406c 1067 1091 1009 52444 1048 3186 1055 1102 1033 1080 1122 1079 1501 1080 1475 4576 1090 1078 1045 1058 1119 1067 1064 1099 1056 1111 97307 1065 1053 1076 17124 3453 1038 1041 27239 1064 1108 -5c64 115373 -67746b68474e3d6a696b432f29655d4f51282837643a23283d203d5a4c296445545350763179596764492821424d745c622b5a47466366297760355c 6834 33453 123165 1061 1106 1552 1067 44280 1101 1093 1079 1081 4564 1055 1100 40048 1040 1061 1376 1090 1076 117175 4321 8504 1118 1049 1121 1089 86164 1073 14069 20195 1116 1092 1098 1043 1090 10624 23074 1041 1119 1096 1053 1092 -43293d514d3c590a5e6a2e3843494865552d4d22 1067 8429 1081 1077 1060 1089 1010 1094 1106 1046 1056 15466 3452 1085 5036 1034 -445e4e513b4c4a57206f5e6a317a3c772423414a563c3b347d345e5b3041213452 1068 1094 1078 1081 1059 1076 1074 1087 1281 1094 1106 1049 1122 1060 1119 1036 1035 1065 1074 1086 1060 1059 1052 1125 1052 81287 1048 1065 1033 1052 1082 -7e4229394e2f7c6e63656a235e 1126 1066 1041 1057 1078 1047 1124 1110 39343 1035 1094 -3f323c500a6d6c394c2b0937684e213c3f38565b38714021437b67352245 1063 1050 1060 1080 1010 3027 1057 1076 1043 1009 1055 1104 1078 1033 6780 1056 1086 1091 1056 1113 1064 1033 1067 52444 1053 1034 1069 -2f4423654b6f58523153732f5836713175446556373e366f2451485c713d264d 18392 1035 1101 77767 1088 1082 1049 1083 1115 77533 1054 1113 1049 1117 3761 1086 1055 1062 1054 1111 1036 1081 1072 1092 1113 74113 1077 -7a3b4c4845 1122 1059 1076 7626 -366f3a206050784e0a6e61 1054 1111 1058 2000 120346 1078 1010 2302 -43553a775651444e797b2e682357474c58496b5d68615f71442761 97829 77794 1086 1081 57310 1121 1123 1046 1104 1035 1087 17899 107321 1107 1093 3230 44749 1068 8490 -2b712f5b4b3e77755f20653c095c4e3f45232a245470414374744a2c394e354c795241723739752e4333584a42533c4e3723715e335735303d42296747222c60673e392d6730 1043 1113 95540 1075 1062 123679 1095 1324 1060 1009 1092 1078 1063 1069 1035 1042 1036 1084 1112 5193 2132 1074 1044 1057 1078 1053 83664 1082 2995 1055 1057 1117 4358 1051 1088 1074 7814 124549 1055 1035 1113 1094 1051 1087 1053 1048 1061 1066 125055 1071 1897 1096 1103 1062 1057 5243 1048 -5c7764625c47776965495163264d596e57307e517c412546762834584f353a7e73226d7e4b355b6f724d3a463c0a5223302d51695509626f737240474a7145755352240a437c452f662e407921205677 1092 1119 7959 1092 1071 20373 1073 1081 1099 1038 61997 1110 1087 1048 1126 1081 1124 1065 1037 130533 1040 1052 1088 1079 1053 130417 1115 1034 1109 1126 1075 1053 1091 1270 1077 1058 1070 100335 1082 1035 1048 40713 1105 1085 40796 1346 1114 1064 1071 1074 1113 50324 21967 38471 1067 1124 1069 14751 1046 1064 1121 1033 1581 1119 -3809413521585e4d44702c3d37315b3d494f6c6d747d43093a786836783b6039716445787a5c655253394e512251506b4d7b5a 1056 88974 1053 1033 1088 1094 14534 1112 1044 1061 1055 1049 1091 1061 11364 1108 6578 52520 1009 80560 1104 1054 1120 64047 1057 125482 2763 1122 1092 1101 19693 1057 1078 1081 1034 1081 122605 1077 40999 -25205b7b4f2f53336d60 1037 42800 1079 14327 1051 1109 1096 -2463743a225545646b276e3e4e32584c 1036 1316 10762 1085 6208 1107 14362 1062 1078 1050 113479 -396845495e513050686b6a664f227260674d2f485c3d433c2c503f42417229355726746b48602b2b5750 1057 1104 1069 1073 1094 1081 1048 6996 89773 1102 1079 1034 1114 1096 1103 1077 35840 1092 1061 1067 1060 1044 1080 1063 1066 2995 1041 1053 1087 1038 26716 1072 1096 1670 64557 -4c7b33517d795d637d32734f6a71443b71394e5f66342a3421733c0a586b282845367b313f50274366634a 1076 1123 1051 1081 63679 1093 1099 1125 1050 1115 1079 118757 1068 1059 1113 1057 1078 3557 1052 1042 1052 1033 1115 100335 1088 1107 4564 1069 1054 1123 1049 1063 1080 1039 1067 35091 1074 -5a257343447d5b315c0a777340677e456d2f61455f6f693c667946744252303b306b562f6c4f7d58702e50676a674c4d2665766e56544b76363e327c793c7e466c703175092f2c3621253b77612a6d 1090 54315 8584 26013 1049 28335 11954 1064 1103 1126 5969 22139 1069 1095 5317 1060 81120 1070 1116 35846 1048 1059 1048 1107 1086 23857 1079 81525 1112 6565 67890 1103 45623 1038 9568 1110 96527 1075 1118 1054 1062 1050 1124 1121 1060 1126 20961 1112 1049 1117 1009 38154 1054 1033 24169 4761 112191 -397441 1057 1116 1065 -2d676b0a2c4771485132707e5925613d4b3f254d31284f09264e6763092b71703e65414744705d2c432a79 5243 1107 1010 121613 1113 1072 1081 1050 1112 1126 1089 1037 1097 1061 1075 1063 1037 1077 1049 60850 1009 1038 36149 1099 1009 1043 123033 1062 1101 6970 1068 1112 3605 1067 110448 -4c334c372b395b602d31424123612642557e764e4265273330215242714c6c71685167713c693b6f6f2b67707357294e64346e79283d282e27624476622d34484c 1076 1051 1076 1055 1043 1057 1091 73839 1049 10574 1035 1097 38019 1085 1126 1118 1078 5934 1039 1051 1048 1033 84165 1113 1076 1108 1113 1104 1081 1103 1113 71099 1059 12078 1043 1103 1822 1087 1041 1078 1100 1052 3491 1040 14592 13287 1098 1068 1118 1098 1045 1052 46862 -28782e5c594f6e76703f7338746228654d427048483520434923282733364d34435c21316e31597a707e555d3c3c22463e7e630a2369632a30547a2a4151336e662b20334e4958284a585f745d 4790 11556 1089 3680 96871 1063 1115 1056 88133 6680 21291 1112 79438 1053 12877 1035 2021 1051 1054 1077 1052 1067 21400 1049 1110 1049 1089 1122 1112 1126 1085 1093 29841 1070 1062 1126 1099 1010 1035 1290 1042 1048 1084 1122 64586 1081 1051 107295 1043 1032 1051 1078 10445 43504 1088 2480 1093 -636977664f28553b37337a5a6854230a58 2253 1119 1102 1079 50750 1059 1055 1051 1122 1090 1104 1084 28656 1088 -225c5a22475c2f6f7b774b767b3e3f5f60215a47723c2d6b4e334d7c335b6109413b4b7a627c28232e4e6d307e7c553d57552b283d57414f62686e 57051 1090 1034 1071 34309 1111 63637 1075 1118 1123 1062 109585 1096 1033 1090 20560 84430 1107 1078 1051 1077 1124 1051 44697 88974 1059 1075 20027 1124 96958 1046 90104 1048 1126 1124 1085 1061 1087 1085 41939 1061 32111 8944 7014 -0a5e7b3c316f31525d435251265356734f526b47523d7b4a7b4b74305f5943286e4449355d714b724a67624555513e5d6f25357b684a74204244516c6e4820374e3160555f21786c70715a496b212f26 1010 1952 1060 1049 1111 1049 1082 1093 12540 1081 1038 24592 1115 3749 1107 32874 3181 1074 55681 1116 1048 41706 1067 4990 29951 1053 1093 1113 79441 1074 45702 78963 1081 1062 1093 1111 1037 1053 69464 1074 1116 39728 1081 4876 1072 1032 1055 1078 1049 1096 1085 1095 1033 35871 1112 1113 1090 120823 1033 1047 1038 -2c7626383146564a497c517748426d4c585a52373d6d406927467636795f557c496572615e56 42129 1038 1056 1049 1070 1086 1074 1073 1124 1081 1119 68291 1109 1076 1088 1090 1082 1055 83278 1064 1105 1039 130533 1054 1121 24097 1124 1073 2901 1094 1086 -4b3e7c224e5e5d51773e625f4c756434347033405e7d386b6537232a33434a712f39356c7d545e31214e0938354f224e6b6f6e6a4625323469 1075 1062 1124 1034 1078 1094 1093 1081 1119 1062 1098 11876 1501 1052 1052 1112 1051 1064 1094 1125 1056 1965 1055 1035 1042 1051 1067 1074 1113 1047 1057 1053 1108 78522 1094 1049 1033 1078 1009 1056 1053 1079 1034 1078 13024 1106 1070 1037 1050 1052 1105 -377d632177733e3027245176255175463959766d5575366d2a745165256f4d4e4a775f404159382a2763495d5a226f4d56213f574b4c6b355e434c386345636f635132734d666e6d4e374e7e 1055 70206 1033 11954 1062 1048 79435 1081 1118 1037 6605 1070 1057 1089 31274 1085 1117 1054 1109 85274 1081 1101 1037 1111 113464 1074 1119 1095 1064 25698 1056 31780 1099 1073 1093 1090 1034 1111 54258 8937 79469 1076 1107 1053 1094 8534 1056 1099 108976 1453 1081 1050 1115 1077 28117 1109 1078 1055 1078 1126 -3247554831315f2c4e2d393345265d774036 1050 1071 1085 1072 1049 1049 5880 1078 1045 1057 1051 1069 1038 1093 1119 1064 1054 -726d227871474b4a6e4f6f617a692d254f3b6649283c2032707647242679445c4f78656761 3650 1034 1120 1113 1071 1075 1074 1110 1079 1111 15589 35884 1079 1059 1102 1073 71082 1032 1050 1112 1118 1071 1036 1038 1121 1068 1092 58596 13987 -6d2b2467096c4e7a0a542a5d327545260a25275f7636587a673b 1109 1043 1036 1103 41983 1078 1122 1010 1084 75650 1050 1117 1069 1038 1010 94710 1095 1118 1054 1088 44445 1059 -5b32222a097430292e2e246a772d764f5b752930557d29323e314c415a305f310a26432b366b6224242f383b65505250397b2a2d4b2d3b6a68695e4c78496046406c6d2d79654d33476b2e2865637e71 1091 1050 24878 14133 1048 1577 10775 1106 1119 9332 1079 81696 1041 1048 1085 4672 1050 1062 1049 10265 1090 1048 1095 1049 1010 1038 1067 1043 1054 82524 19587 1047 1056 1059 1101 17554 1080 1057 1123 13975 1075 1045 1059 1106 8101 1094 1076 1120 1073 1096 1070 1064 56383 101398 1077 1051 1071 1107 26667 2025 1126 1113 -6b3271262f6028536a414438226c2c432e377536285646726f4e200a402a 1107 1050 1113 1038 76901 1040 1083 1106 5516 1056 1034 1108 55434 1046 1055 1117 1054 1040 28198 1291 1078 1032 1010 1064 1042 -5a4233362f717c58 1090 1066 1051 1054 53643 1124 1088 -27610a463a5f 8490 1010 1070 36777 -64716c3b6e435e26765856416a307a2a732a443829304d54757e2b4a4d5e59564546267a303e5d725a4b7c4176664f 1100 4765 121982 1067 1094 1038 1118 1088 15725 1106 1048 1122 89117 1042 1068 1056 1041 1048 15901 1117 1126 1043 1074 1077 1094 1089 16578 1070 1038 1122 1048 1062 1093 1114 1090 1075 1124 17039 1102 1079 -402824654c7920727d6626762741563632443b717823393b29732a635c665a71687a2322574239615a3b2170 1064 3186 1101 83664 1382 45553 1038 1118 6494 1086 1054 1050 1068 1059 1113 1120 1035 1057 123872 1115 1042 1099 1092 1102 1090 1113 1104 1122 1035 1034 126602 1057 1097 1090 1059 1033 1112 -37674f396720725e7225295436503e686b7a2f407e3d616b3049416f524551392759 1055 1103 1079 1057 1103 1382 1094 1114 6879 1084 1054 1080 1062 103245 1122 59962 1126 1061 1489 1048 20501 1111 3609 1081 1057 1039 1089 -7944596a202063347a617a444e282c766c207c5c59597764686a6d095c6d6a4159504a687c287b0a5f23382c216023507d6d3e52486349683e655a536138225378467e782e5c29 1121 1068 1089 1106 1032 1272 1052 1122 1955 57310 1040 1044 32064 96241 28131 18213 1104 61139 1009 1092 1109 1106 25698 1080 1074 1104 1124 6637 1095 1035 1056 1044 1033 1096 1035 1080 100729 1062 82104 1099 1073 1104 1062 1101 1090 34610 1056 1034 1083 1120 1070 1126 1120 1046 1918 -4a243436724249785e703e43726b493538533c62737a 1074 1036 1052 1054 1114 17782 1120 1094 1112 1062 25238 1107 1073 1053 1056 1083 1060 5136 1122 -5e46666347782d653448545f6e5d3c5749505a5257544f793b4d3e26202b7a67664a54755b605f384d58466474 1094 1070 35091 1071 1120 7058 1052 8395 4883 110501 1087 9918 1090 1082 1087 9197 1121 1059 1077 21751 1867 44445 1102 1074 31155 1091 1096 1095 1056 115032 1070 15651 -49775a4d294048632b536e225524522c2650265c432b600a4547632e764f262c60415b48534659532157505140335a4c447d3a5e6e4a6b5236733a20216b4742757049503f6352 1073 1119 1090 1077 1041 1064 1072 1099 1043 40311 1034 1085 1036 1082 52977 1080 37134 1067 1043 10632 17238 1099 10246 1079 1038 1044 1096 1065 1091 1072 28036 61300 1033 64557 1081 1064 1051 1090 20008 28748 1094 1110 1074 1107 1082 1054 1115 1058 2662 1107 12737 1982 9918 1063 1099 1082 -617455396e5c4658404448676128533a2224494f640a28612d5845362440394c7158644244323e696c234e6a522671326f6f426e77797a3a566b3b463e234a2a7a 1269 1085 1057 1110 1092 75215 1064 47909 3577 13977 10762 1036 11364 1100 1010 8897 24860 1069 1054 1036 1064 1057 1076 1113 1088 1100 18704 1050 1062 1318 1035 1078 1106 1082 130208 1050 12078 1066 1110 1119 7354 1058 1086 1107 1059 1070 1062 1035 1074 1042 1122 -794a6b42295e5e39456a2f53612f4e3e7741633a3c5e376026297b3b5329435a60725c552e2e75096a41095538605c3147777e613c2048666a5c3c3d6553273933 1121 1074 1107 1066 26397 1094 1057 126699 14327 1097 37921 1062 1119 17502 99441 1094 1055 1096 1038 24342 1059 1083 1041 1067 1090 1096 1114 1092 1085 1791 1117 56663 1065 1009 1085 1056 1096 1092 1049 1071 1119 1126 1097 1060 1443 1102 1106 1092 28944 1101 1083 1039 1057 1051 -7b20707a3e67565848533b5c52725174703d546c49535a6e4f5f73580a4b47547522686f79386c4f43473476325d413f2c3f3678205e713839273d552429230a5e65417669264f570959 1123 1274 1122 1062 1103 1086 1088 30316 27076 1082 1114 1081 54049 1061 126347 6673 68905 1079 3134 1088 1010 99414 31155 1034 1104 2340 1056 1108 11815 1071 1052 1118 1050 1093 1065 39191 1063 1054 1120 12032 1113 1056 1057 1039 1061 1085 67036 28656 1094 1101 1065 2719 1038 12381 1009 1089 -3b5a652f4f7375487b5e755f76376d5c7e53295b433a7b295a50725f2c28343b6e59574c5134223e7b4f58366e7109393477427e77266f5d265d53712d2c785f7d273443432730387b78665b3b494c0a 1059 60575 33338 6453 1072 1123 1094 1117 11221 1055 1109 1092 1126 1083 20760 1067 43529 1041 1090 5240 5880 1040 1052 121982 1089 130049 1081 1052 44186 60261 1054 1110 1113 1009 1057 1052 1119 1066 1126 1119 1038 1111 1093 1038 1093 1083 1113 18532 1120 1095 40751 1052 7619 1039 1048 1056 17222 1102 1091 1059 9387 1010 -63204a32662a47396621387c39 1099 1507 1050 1102 1042 1071 1057 1102 1033 1056 1124 1057 -3b523c243832214a5b656a6c4479424a7d7d4f3c3a77215a44462e6c635562784e5a3868734025555c704e7358405e313e2038502b227646534f5b762d306057515060213073346b3c254d 1059 1082 62556 1056 1050 1033 1074 1091 9472 1108 1068 1121 119492 2821 1079 1060 1058 1119 1033 1090 28562 2656 1099 1085 82061 88653 1056 22145 1064 1037 1085 1092 1112 47794 1088 1064 1094 1049 1062 1032 1056 1080 21658 1118 1070 19124 66105 1045 1048 1096 1087 1081 1080 1096 1033 1048 1115 1052 1107 61998 1077 -7a64252c34434e623e624c2961685c452e5155536b2e5f4a637268693f516a2f3d4973535d5f7d465c613321523260592458 11869 8630 1052 47271 1098 1062 1098 1076 1041 1816 1092 1069 33169 5507 1107 4443 1074 15196 8101 1063 1081 1106 1047 1061 5356 1083 1093 99743 1070 1092 1097 1051 1033 1082 1050 1096 1089 1036 1088 -236f3b613448236f546a20513b59576d3a5b6177307d5a5365687e29755477364c29393c2a4f4d3c6d557709655e3633495679615646293b6f41584e 1035 1111 1059 1097 1052 1072 1035 1111 1084 1106 2466 1059 1089 1087 1109 29077 3026 1048 1125 1090 3201 1104 33141 1117 35132 1054 1076 1041 1057 1060 1042 11135 1060 1109 1085 1119 32635 1094 1054 1051 6217 4263 28198 3455 1111 13339 1078 -643129562936775f304c79273e49537b284f575c5c5e 1100 1049 1041 1086 1041 1054 1119 1095 1048 83664 19686 6673 22485 12381 8093 1094 -312b6f5741652541203e7e520a44276046207c2a7e39466f72743d494f716622242d260a57765737664737565d4e5829332c693138604d4663314c28352d2f395824513d532871534e2d36 1049 1043 1111 32111 1101 16310 3006 1126 1082 1010 1068 69066 1070 1312 1042 1126 1057 49839 1061 11364 1113 1102 1034 37583 1038 1010 1087 1118 1087 1055 1102 1071 1055 1086 1093 1078 1088 1041 1051 29668 1049 1056 1096 96790 1099 1049 1076 1040 1053 63586 1057 1088 1036 1081 1061 1083 36476 54061 1045 1054 -2c414e6b3672476f76552e26395f663f5c7823 1044 5010 1107 1054 1114 1071 1539 1085 1046 1038 1057 3557 1063 1092 1120 1035 -7b7a49625d2f53613e7b4f516d7d796c215766582a2d4b4671276d53274125793c7c602c307d75337c7b634a476b61354c4a55663165 54226 1073 1098 28530 34610 17965 1079 1081 1109 1125 2776 1033 1087 1102 1088 13975 1075 1070 1113 4525 1083 6494 1037 1121 1060 1124 7273 1048 66241 1051 1124 1123 1099 1074 1071 3002 1053 1076 1074 1085 1102 1049 1101 -667a2861736c7a2e7d59305e4f6e6d7d454f6b5d77773a4526203b29286c33222e442e2a51492e57346e22613c7c306b534c217e686756786d46542c657c513f452d434f6c237c6b686d5009585d255a 1102 1122 106667 1108 1122 91145 1089 1048 1094 3680 1109 107740 22496 1093 3837 1058 1069 1038 4295 9731 1108 1051 3871 1068 5993 1081 1073 6235 1052 1110 1034 1097 1060 1124 1048 1107 27893 1033 1126 1104 1103 1086 1120 1109 17310 67672 1124 1081 1063 1069 5849 43574 1035 1124 1107 11950 1080 1009 1088 1093 1037 1090 -52545d6671356c2152723052653430297754373745545f5b62232d43216a466c2877313445234d2940296e61097b686374257d60672639727933737b66417627 19891 1093 1102 1113 1053 1108 1033 1082 1114 1048 2596 1052 1048 1041 1119 1084 1055 1055 4321 37953 1098 1035 1045 1067 1033 1106 20961 15333 1049 1052 1069 1035 1077 1041 1064 1041 2302 1009 69464 1316 1037 14483 1103 1038 1057 1938 1051 1115 41548 17039 1039 -416974 1065 1276 -617a5a7b7e263f3e2b3d39255b622a372c5a496334263d77207a6a79376450587024597858293d217e324e77303f493c3b70317e3d6c537b6221394c3d5822347b0954390a 1955 1090 1123 1126 1038 59827 33159 1057 1037 1091 1098 1042 1055 1044 1090 1073 1099 1052 108401 1119 1554 1106 1121 1055 1100 1080 1088 1112 1036 1089 1120 1088 8429 1033 1126 1050 1078 1119 1048 1063 1073 1060 1059 1112 1049 1126 1061 1108 1083 21623 1033 1057 1076 1061 1088 1034 1052 1123 83080 1057 1010 -46645544464e4733334a4b71644572290941273f3e090968293e3f3866635e2b5b6d24442d6a21457432223e3c2b4d737b3c4248292d364c4a732447433f2a3141 1070 1100 23855 1070 16705 1051 1051 92274 125482 3859 1041 88974 1039 59827 1009 73240 49442 1063 1056 35091 1094 1043 1091 1109 1036 1068 17895 1033 24030 1050 8970 1043 35201 1123 1060 1066 1072 8537 1054 1076 51790 1036 16497 41376 1049 1065 -23662e724a2f5543484360633b28266a094921426454573134275632262b484a 1035 1102 5950 1074 126395 7247 1067 1096 1099 1059 9208 1106 1009 1073 1033 1066 1100 1084 1087 1049 1052 1039 1086 1050 1038 1043 1072 1074 -4c23522d4c613d61552a7057545c0939265527747563592f466e727a4d4a375c2b48434d682c73445c54513e227a396f7b09477a5930663368576a37417d40506373340a3d36 1076 1035 1082 52294 54265 1085 111510 38315 1092 1009 1057 1038 1085 2405 2359 1089 28546 1110 15600 1077 1074 1055 36501 24093 1077 1104 34361 1068 1092 1084 1081 30486 1122 1057 1111 1123 1009 1071 1122 1089 1048 1102 1051 1104 1087 1106 1055 1065 1125 1064 1080 10359 1052 1010 1061 1054 -0a65717443207c6a66693a646121503e69556642383f6a5f7a607c4e4e6443207b7745535d67687d354f3a5766662c63783f6a452023 1010 22134 1116 1067 1312 1106 16198 1058 3190 1033 1080 1062 1105 1085 1102 1066 1056 1063 1106 45874 1096 1124 35756 1100 1067 1445 1119 5548 1093 1834 1125 1053 1079 1058 1087 1609 30134 1120 1063 1106 1069 2569 -3f0a4568433462717c66763545386d402a3d4f233a337d2d3422454669493d5739593e784b264c28486142434437616c59506909622a55353e09674a2223497a775c2747472e6c 9551 124710 1067 1052 1098 1113 1124 1102 1118 1053 1069 1056 1109 1064 114192 1079 1035 1058 1051 9299 1052 1034 1069 30893 1073 1061 1087 1057 1089 1062 1120 1075 1038 1076 1040 36161 6535 1068 1055 1279 31130 1105 40796 1042 1085 1053 1062 28706 1074 1034 1035 1073 12503 60878 67199 2656 -30573b69537d5b48483235353030 1048 1087 16430 1083 26013 79438 1050 1053 1053 1048 1048 -476e74213b27295f3126634f785a2b253b2a4d655e50236062646246557a6a4166427d5c2f78533f214a316e2509257432286154772f 1071 1684 1033 1059 4576 1095 1049 1038 1099 58596 1090 11862 1059 1042 9180 1094 1080 1035 1096 1098 7959 1070 1085 1122 1106 52895 1066 2380 1047 1120 1083 74206 1074 1049 1110 1037 1009 1037 1116 1050 8897 35132 1047 -51616149413b2d3f7c772a59283822207a4356392f5521332c4c33474b20286d7e5e67617c49582c3c7d59793c2a68572d3b3e632323500946553a513c2f 1081 17498 20501 1059 1045 1063 1124 1119 1042 1089 1040 1056 1034 1554 34456 1057 126395 1033 1051 80377 1051 1071 1075 1319 1109 127529 3577 1124 10445 1044 1060 1125 1089 1121 1060 1042 1104 1087 1045 1059 1062 1099 1358 1080 1009 1070 1085 1058 1081 1885 -682665433430093d4a4b5c6c63476c6e453a602d50447620307054676c74706e582058774f09643a26794e51242f3c4576580a2f4c496e582c3c536b2b4856412f2433237c536c615d39257e64466a3c 1104 1038 1101 1067 1052 1048 1009 1061 92274 1092 77335 1071 4876 1069 41867 1045 9315 1118 1032 1048 1112 1084 1103 3234 61662 1088 2628 1119 1079 20757 1058 1038 1121 1078 1081 1036 75263 48572 1088 1010 15288 1785 1088 1044 1060 23844 96084 15725 43914 1051 1035 1124 1083 2584 1093 1057 1037 1126 1100 1070 1106 1060 -236f22473367476e5e2a2d57413a5641743669215760700a782c6f3541773d604f7e755c615e 1035 1111 1034 1071 1051 1103 1071 1110 1094 13975 32111 1058 1086 5629 1054 1105 1033 1087 1096 1112 1010 1120 1044 1111 1053 55315 60303 1079 1126 1117 1092 1097 1094 -33316679276a09777e4436252b3762596f48425f58796c6d705a603d2b414e626f553b43226458 1051 1049 81120 1039 1106 65062 1126 1068 1054 1037 1043 1055 1098 57025 68291 31733 2776 3524 1090 1096 1061 1043 5010 2363 1085 1059 1067 1034 1100 1088 -726e72256a 62551 1114 1037 1106 -56425b76252624496b3c2431502a4c3c4f223f6f2445795a30735c6a6045434c2a60334b30675d6859594a645a6e616f22634b6663583f5b2773 103461 66105 1037 1038 1036 120823 62556 1049 1080 1042 1076 1060 1079 69235 1111 1036 1069 1121 1090 1048 1115 1092 1106 1096 1069 8534 102676 1051 1075 1048 1103 1093 1104 28131 1074 1100 1090 2302 1111 1034 1099 1075 35091 1088 1063 3024 1115 -6d6c2d6730414645616a6d3e7e423c4134563a5226533d402a29623358572f393150746142415a59716020493e7d272166315079633150776f3c45604f5923 3027 5243 1048 110896 2146 1109 1062 1126 1066 78014 1052 1086 1058 1082 1038 1083 1061 1064 4371 1098 1051 1088 1087 1047 1057 1049 1080 2083 10574 1090 1089 1113 1096 1362 1062 40751 1033 1102 1049 1080 26163 1049 1080 2054 96682 1096 1079 1089 1035 -4f78792f46576e582f275d5c46607c4d62782f4d55502e522f307e3478536b465523557a65502e257b 1079 8731 28546 1087 1110 1088 1047 2963 1092 1070 1096 1124 1077 82061 17124 15401 6047 1047 1048 1126 1052 1120 23844 1070 1085 1035 1085 2343 1080 62672 1123 -5647225d646b4a72344a4c6a3a 122406 4964 18830 1074 1114 1052 1074 1076 1106 1058 -5c722f70693a465c6871 18980 1047 3861 1058 1070 1092 1104 1113 -52256d6a727c2d775372483b383c2a4a465e3a614c42537a57095047625c7348444d4d72465074276c6e0952296b4440234c75664a62646b4e483e4f3231723c4029253b7d6f5c31 1082 1037 1109 1106 1114 1124 1045 1119 88498 1072 1059 1056 1060 1042 1074 1070 1094 1058 1097 1076 7814 1122 1087 1009 54406 1098 84891 26205 20451 1114 31994 1116 1039 4876 1009 1082 1041 1107 1068 1064 1035 1076 3676 1074 1098 18830 19644 1062 1079 1050 1049 1114 1060 1064 1041 24169 1125 1111 1092 1049 -544d2d386e3425326f336e4e35487659287122307972752c6c4479554d4c36200a5c66524a4c332627092f634b3263792b256b454b7d0a3c4363 40139 1045 1056 1110 1052 1037 1050 1111 1051 1110 1078 1053 1072 1118 1089 36476 1034 1048 1121 1649 61248 1068 1121 1085 6243 1054 1032 1010 1092 1102 1082 1074 1076 1051 1038 1039 1009 5938 1075 1050 8453 11862 1107 82787 2002 1060 1067 1099 -6b2f3b436b48406d5f5740265770356c624975540945424c547974733c0942097874504a246274485d6a5d342e3a45326045357d3a68 1107 1047 1059 1067 1107 1072 1064 1109 13618 1064 1038 1087 1112 1053 43611 1073 1117 1084 1009 1069 30631 59389 2392 1060 1009 1066 1009 1637 1080 1074 1036 9599 1072 1093 1106 1093 1052 14223 1069 1050 1096 1069 1053 28748 1104 -6e324a225f697d0953796c7869643370522f506f2475514d3b6f217252305d78257366524e7a464b34612c473a705b7b 1110 1050 1074 88587 1105 1125 1009 1083 2776 25162 1051 1112 1082 1047 10488 1036 1117 1081 1077 1059 1111 1033 1114 1082 1048 1093 1120 1037 21695 109334 1122 66480 1052 1097 121613 98091 57096 -4178 82928 -306471357c5a342e364f3d2c403d2334396c4969327b7a2b7d6b6b536b5825592a31795209664f0a724e4c2d2b25627168763f4a505a28475a2a447a51397b5077647c49737c49433d2e 1048 1100 1113 1053 1124 1090 1052 1046 1054 1079 1061 105936 1061 1035 1052 1057 1108 1073 1105 1050 54226 73583 13775 23844 1088 1037 1089 1042 1049 1121 1082 10135 1079 1010 1114 70818 1045 11862 1098 1113 51701 1063 72267 1090 29746 1090 1042 1068 1122 1081 1057 30925 18213 1124 5356 1124 6048 57736 -3e5a40703136343040306c62424e61445f247b24717857767a322b5b3b66776365285e724a4a495c307a6a6b634d423a3b406340505e3b693a504429216a3539393f2d2a5d2234222d37455f 1062 1090 1064 1112 1049 1054 1052 1048 1064 1048 43611 1066 14589 1068 1095 6707 1036 1113 1120 1087 1118 1122 1050 1043 1091 1059 72770 1368 1040 1094 1114 1074 1074 1073 1092 1048 1122 1106 28417 21291 1058 1059 1064 1099 1064 1080 1094 1059 1105 1058 9315 85188 1106 1053 1057 1057 1063 35450 59805 1052 57829 1055 1069 1095 -213f675c7d656832283039416450 8937 1103 86062 12687 1050 1040 1048 1057 5448 1080 -33 1051 -41095f6c2d6e4a5b3071264b792564607e78333f435e56236840735936596d584d68494473572d3e7750432e68555a3064456a563e75207e216d2a216d392c55383c63753b7734415e097132 1065 1009 3445 6603 1074 1091 1048 1113 1038 115795 52071 1096 1126 1120 1051 1063 1067 1094 1086 1035 1104 1064 1115 1089 1054 1089 1109 1088 1077 1104 50708 1087 1941 1119 9793 3628 1085 1090 1048 1100 126699 1086 1062 1117 7849 1033 1109 1042 1033 1109 1057 1044 1085 1056 1060 7296 1059 1119 1052 1065 1094 108865 1050 -0a68377679206a71582d6e4330094d3c4d3b706a2b34322560577972536a63482525444f6b7340 1010 1104 1055 18952 123372 1088 6603 1067 1048 1009 1077 1060 1077 1059 112124 1043 1052 1050 1037 1096 1087 6345 1083 1106 1099 1072 33615 24151 3096 1064 -0a30674b616a5c325c69573b273f662b29696f796925312b295f7e2d65 1010 1048 1103 1075 2146 1092 1050 1092 1105 1087 116739 1063 1102 48340 1655 15958 1037 1049 1043 45477 48724 1101 -4f2f26583e61203a4d56382a6847614c4b46773e4d43276d24797b4435316f612e71766d78583f3f3e7a34397a44694d72296832 1079 1047 1038 1088 1062 1097 1737 54258 1056 1042 1104 54074 1076 1075 1070 1119 1062 16126 4525 1036 1121 39058 1053 1049 19374 60920 31274 1120 1088 45509 1062 1122 1052 1057 1122 20609 27118 1041 1104 1050 -4c3b27493f5b23385926473f5257402b2a6a602f6d386971515569305e4a2b5a784e2e4d 1076 116739 1073 1063 1091 1035 1056 1089 126003 1063 1082 1087 1064 1043 1042 1106 1096 1047 1109 1056 36926 27289 1105 1048 1094 1074 1043 1090 1120 1078 4700 -682c4e2c743879337b40662625414c5f4a6a3d7b2d35607525284a6b50687677325251626a733c40552a543264555e692d5f533c5c5273366e7e5e60245b3f35713d355739274e3d60233c 1104 45730 26201 1056 1121 1051 1123 1064 1102 1038 1037 4286 80611 1106 3181 1045 1053 1096 1117 99431 1074 1107 6996 72308 1050 1082 1081 1098 6519 1060 1064 1085 1042 1084 1050 1100 1085 1094 1105 73924 1083 44129 47850 1054 1110 127529 1096 1036 1091 1063 1053 1113 1061 1053 1087 1057 1039 1078 60303 1035 1060 -42324f64203073284c4f426f7a713d2f30665d3d2023527e49515d396e6164567d4a31245f4458432d5e692f6d3c492f63594c26565a785557285f2a707e27 1066 1050 42956 1032 1048 1115 1040 49519 5665 1113 49104 1048 1102 18652 2569 1082 1126 1073 1081 1093 1057 46290 1086 1125 1074 1049 57994 52885 1067 1045 1094 1105 3766 53884 5938 1089 1076 1038 1086 1090 1120 1085 1087 11030 1042 1112 1126 1039 -5148516d5b773445796d355e7661235b78547e687e4e45756b3a7e5039296b2d5f506466506f6e3139572d534a282d2265457b497a403e 1081 1072 1081 1109 1091 1119 1052 1069 2360 1053 1094 2940 42352 1120 1084 1126 1104 1126 29156 2699 130417 1080 1057 1041 1107 73924 101420 1080 1263 1049 1057 1087 5624 1074 11398 1034 1101 1069 50642 1122 1064 1062 -61605d2c093e610a64616a777d5536093f6d5a753f3d7e377856377569376437585b6b67375f6b6f2d743e34753d2265706633565270563109296e687970773662093121725c5d 1097 1096 3605 1009 1062 1097 1010 1100 2146 1119 1125 1085 1054 1009 1063 1109 58963 1063 1061 1126 1055 1120 1086 1055 2386 1055 1100 1055 1088 1091 10096 1055 1095 3505 2848 1062 1052 1117 1622 2003 1102 1051 56994 1112 1086 1049 1009 1041 3556 2493 1119 1054 1098 1009 1049 1033 1114 20872 -3d725e 87851 1094 -6f700a3a4426465c646f406b663c295079556f4f714f432f67243b21206d5f713e242f5039740a77207d5372662576254a535246 1484 1010 1058 1068 1038 1070 1092 3846 1064 1107 1102 1060 1041 45527 1085 1111 1079 1113 11815 13126 1036 1059 1033 1283 44749 81942 1047 1080 1057 1116 1010 1119 1495 1083 31601 1037 1118 1037 1074 21967 1070 -5f304b7d4f5b633d3e384c7424487963204e2b7c38626d563d46287d274558793c586d 1095 1048 1075 26132 40902 9947 1056 1076 1116 1036 1072 26163 1464 1043 1124 1056 23704 1086 1061 1070 1040 40751 10164 1121 1060 1088 1109 -476d4b7627722d7e3630583144276b3d6c324f4e09317c 1071 1109 1075 1118 37985 1045 1126 1054 1048 1088 1049 1068 1039 1107 1061 1108 1050 2918 1009 1049 1124 -535a385946656f4b503b674f4d50206a292d716529266e5946614c444e6d3d58314a695e62434b27636a2a2e2f49744341454b696b 1083 1090 1056 1089 11204 1111 1075 1080 1059 1103 1079 7690 1475 8537 1113 1101 61176 1110 1089 50056 20008 90104 1061 1088 1049 95742 1094 1098 17131 1039 1099 1106 3583 1047 2757 9467 82787 1552 -376963207c717c5432573c513772297d28617a33423c6a4a2c6f284d37 1055 1290 1312 1113 1124 1084 1050 1087 1060 1081 1055 1114 81547 1955 1051 1066 1060 1106 1074 1044 1111 14299 1055 -267957466e3067694f514e2476715b64455d5e7d3e6c4c654477337b2d3124517d70385c6a3e577d387e28676e76385e307c 1038 1121 1087 46047 1048 6216 1079 1081 1078 1036 1118 1113 86186 1069 102121 28219 1108 3277 1068 1119 1051 39450 1049 1036 1081 74631 1056 1092 1106 1062 1087 1125 1056 59602 5891 1118 1056 1094 1048 1124 -425e314e766b6d367b634c5e757b715874445e6f587479752056225b6e635e586430 1066 1094 1049 1078 1118 12055 1054 28717 1076 1094 1117 58460 1088 1116 1068 1094 1111 1088 2760 1117 1581 1034 1091 35800 1094 1088 1100 1048 -47502a2e21276c41547e40695365460a7d245a7c6c283c692e6a5b4e6558642d2e5930 31714 3583 75629 1108 3313 1126 1064 1105 3201 1070 1010 5521 1090 53326 71082 1105 2616 1091 11993 1088 1100 38012 1089 1048 -53423e7c09776569793f722749 5038 1062 1124 1009 1808 5077 1063 1114 24853 -3444785939704949603c31695d3c272e5756296d6d737b4c43342f23794109795b7a7a49334721217c45472d395b29723e242046647d516a5d395a78376565342a43435b212a7d445e5a61 1052 1068 1120 1089 1057 1112 3022 102693 1049 1105 110501 9528 1087 1086 129711 2943 1123 13515 1052 47667 1121 1065 67002 1091 9821 1073 1051 1071 7290 1124 17238 1045 1057 1091 1041 1114 81942 1439 1100 1125 1081 1106 1093 1057 1090 1120 1055 6035 1052 1042 7619 1091 27278 1125 1068 1094 70279 -38422e21252e5e2a587b7e543b206b650946707a2e37714d406f5f3d263e40 1056 1066 1046 1033 14082 97307 1088 1123 1126 1084 1059 2371 1009 1070 1112 1122 1046 1055 1113 1077 1064 1111 1095 74113 1062 1064 -2760684051664a723c2f692e4f573b372d295f4b6a6e385460427c636d2e572c5f792d51323652495960393d6b333f3d4760797971743c557b20245436474d7c673450545c46 69066 1104 1064 1081 1102 1074 1114 1885 1105 1046 12381 1059 1055 39210 1095 1075 17186 1056 1084 1096 1066 1124 12790 6235 31758 1121 40713 1050 1054 8707 1089 1096 1057 100792 1051 1063 1061 1071 1096 11158 41705 1060 1085 1123 1659 1084 1054 28533 1124 1103 1052 11130 1092 1070 -637b72426a5332763d796b582d50482d537858236061222660746d663863440a4326377e5254333f53502f44694a 1099 34816 1066 1106 1083 1050 1118 1061 16998 1088 6193 1072 5624 1120 1088 1035 1096 1097 1034 1038 1096 57169 1102 1056 1099 1068 1010 1067 1038 1055 1126 19891 1051 1063 8504 18392 1105 1074 -7c3e716141524b2336727570602e26232d0a7c6c7458305966363e5f4d576e774127545a297d712a 1124 1062 24464 42729 1035 1054 21001 9816 16466 15611 1124 3234 1088 1048 1089 1102 1054 1062 1095 93272 1110 1119 1065 1039 1084 1090 12679 1113 1042 -7c4b5629313b3248523c226330654b2f3625312a45716f60467c597148223b5e387e79494e41430a553c45663d294d4e5c203a4c3f59315470617e71536d406c42492b 1124 1075 1086 1041 1049 1059 1050 24498 1060 1034 1099 1048 1101 1075 1047 1054 1037 1049 1042 49695 1111 1096 1070 1124 1089 1113 1072 16255 1094 1056 1126 1121 3174 5193 1010 1085 96682 1102 1061 1041 113464 1092 1737 1076 1063 1089 1049 1084 5142 1126 1113 18848 1064 1108 17782 1043 -5c20657b30623d566c365e4b7951375909624755703950284c7c5b7a2d4328697952486243383033522c3d7209726a7b2c255f47257a7e53 1092 1324 1123 1048 1098 1061 1086 1108 1054 1094 115795 1081 1055 1089 40796 1071 5528 1057 1080 27637 1124 1091 1122 5849 1040 5077 82104 1098 1067 1056 1048 1051 1082 1044 1061 1114 33406 1106 1123 38667 1095 1071 1037 1122 105503 -4b6b303a6c0a7d304447757245786d444b4765276d304b2929506e69592b6a3a763e6340392943783232 1075 1107 1048 1058 1108 1010 1125 1048 92842 1328 2763 1109 49329 14639 4525 1048 1075 2798 1080 2729 1089 78513 119282 1062 1099 1064 1057 1041 1067 1120 1050 1050 -5c5833206b724b696f35342a4b365d2f503f4547763862336e263c7644246309383a3e7b56 1092 1088 1051 13603 1075 1655 1053 1052 1042 1075 1054 28530 1080 1063 17238 1118 1056 1098 1051 1110 1038 1060 1118 1068 1036 1099 1009 1056 1058 17965 1086 -0a5d5f3d5f24364f7d4a437e667c3a29516c75344f725b3a33362b406b3c71387369324a376721510a31662e4b 1010 113650 106506 1036 1054 1079 1125 1074 1067 1126 1102 1124 101655 1081 8196 1052 4423 14316 1051 1054 1043 1064 1107 1060 1113 1056 5822 1050 1074 1055 1103 1033 1081 1010 1049 1102 20231 -3e604a222b7e246222724740733d4b35345c094d62097071776f674630657a572a7a6a0a424b3a2e282141297e5a24737e6b3c7029335f454e22626d36235f095429306866790a703a 27051 1074 24724 1126 1036 1098 1034 1114 1071 1064 1115 1061 1075 1053 1052 1092 1009 98413 16193 1113 1119 1500 1070 1048 8019 1087 1042 1122 1106 1010 1066 1075 70511 14069 1065 56202 1090 94879 1126 1107 20711 1041 1051 37070 1034 23704 1054 1035 1095 83080 1041 1048 1104 81120 1010 1112 1058 -745552796426 1116 5553 3282 1038 -49736e74547064627d5c6b4a7e49332d394f73566e292e42413f7b 5356 1684 1084 1112 7959 2380 1107 1074 1126 1073 1051 1045 1057 18570 1086 1110 1577 10574 1063 1123 -712d234c73734b7e296879422677575e7d484d2743657472 1113 1045 1035 1076 2053 1075 33141 16713 1066 1038 1119 1087 1094 1125 103147 1039 122612 1114 -2457645f366c326f26277b66563145706d273771743f33363d49 1036 1087 1100 1095 1054 1108 1050 1111 1038 70038 1102 1086 1049 1069 6411 1039 1055 41705 1063 1051 1054 1061 1073 -26685c515a5c5179545321303841363c565c5a5979735943457a4e6268323f376e3d52667b4b5b4179436c3c4a7b3a636a68724e592a6d33443766772c5d234d5b5f7b784745643f 1038 1104 1092 1081 1090 1092 1081 1121 9983 1033 1048 1056 1065 1054 126038 1092 1090 1089 1890 1089 9158 1122 90279 1104 1050 1063 1055 1110 1061 1082 1102 55681 80125 1121 2968 1060 1074 1123 1058 1099 1106 2551 77192 112191 1051 1068 1055 72770 124866 1035 1077 1091 1746 1120 1071 6208 1063 -35646f682f7d516d0a560958584749577a226209723e59493c4d3b4a2a2972582e7e692f682356384c436e3521762428 1053 1100 2523 1047 1125 1081 1109 1010 1086 1009 18860 74536 1087 1122 1034 1098 33406 1062 1089 1073 1060 1077 1059 1074 4371 1114 1088 1046 1126 1105 10383 1035 1086 1056 13515 1110 1053 1033 1118 23332 -7375533d52640939796a7b775f43317d5e7409647d5a7542283b6a59683f5f64762e394e4c3f3f39705d5f63647a285368783b2d40355c6a2a2c504f0a2a3e545224492856 6453 1083 1061 1082 1100 1009 1057 37094 63637 4598 1049 29009 1116 20757 1125 58963 1066 1040 1059 1106 1089 1104 109585 103041 1046 1057 70818 45509 1057 1112 113650 5979 1122 1040 5095 1120 1059 1045 1064 1053 1092 1106 2153 7836 1010 69048 13404 1036 1073 38822 -274123336551553e316d3c7d262b7a717d393f3d354d275421776544264b2a526b3672320a6c79692e776a49593d410a3b6b507040625f7574 6494 1035 1051 1101 27289 1062 1049 1109 1060 23283 1043 1122 1113 1125 1057 1063 1061 1053 1077 1039 1084 1033 1808 1068 1038 1075 1042 1082 1107 1054 1114 1050 1010 1405 1105 4509 1106 1073 1089 92095 1010 1059 1107 1080 1112 1064 1098 1095 1341 -7174 41705 -4c78422d287c665c775050302e2f253d2c777c7d2a224f2c 1076 1120 1066 14283 1124 1102 1092 1119 11388 1048 5384 20096 1044 1119 82516 21808 1079 1044 -7359403670774875607b56344e456635583d5d624e790a7d6c5c46534478486c52765f7d2f6b 1115 1089 1064 1054 1112 1119 68667 1096 1123 1086 1052 29156 1102 1053 1088 1061 1093 1098 93680 1010 1125 1108 1092 1070 17173 1120 1072 1108 1082 1118 1095 9657 1107 -6a2a7d27692d425a463f55406e 1106 1042 40751 1105 5630 1090 1070 1063 1085 1064 1110 -292e3d5121515c322f5844 1577 1061 1081 1033 1081 1092 1050 77533 1068 -66697e6a64345c3e532470404b6f236a733e79433a667d20707a7a36462d7360422646792377416b4575376f407e3a4e365473787647487d5b4c214d 16198 1126 64023 1052 1092 1062 1083 1036 1112 1064 77767 1035 6519 1062 1121 1067 1058 1102 1125 1274 9821 1054 1070 2553 1096 1066 1038 1070 1121 1035 1119 70745 50324 1055 1111 1064 1126 1058 1078 1054 64680 1120 1118 96633 26013 1076 1033 1077 -737863683576093e3c7d7170515633796b4979753f096a372d37244c6559 1115 1120 1331 1053 1118 1009 4812 1125 123033 1081 1086 1051 16998 1073 105451 1063 56663 1055 1045 1055 1036 3277 1089 -644a437a3d236b4574583c35706a5c574d2f3f487b2f3d7d292109333d203d2d7c7c3c77264438686d255c4f2b76 1100 1074 1067 1122 1061 1035 1107 24030 1088 1060 1053 112124 1092 52532 10361 1072 125344 1061 4672 1033 1009 1051 1061 1376 1045 30540 1060 1119 51855 1056 11950 74012 1079 120917 -336a397459777b672b3b440a786b5b30 1051 1106 1057 1116 1089 1119 52444 1043 1059 1068 1010 1120 1107 1091 1048 -76514a5433444b773b2228326c5e46777a3b4f4c632329 1118 1081 1074 1084 1051 49329 1119 36211 1040 1050 1108 1094 1070 1119 1122 1059 8568 1099 1035 1041 -414b50605c38785b460a636b5d27293a2a32684a252b506563395e24597d2b5a43302a295673314d55556a56753d6a7d55282c4424 26039 1080 1096 1092 1056 1120 1091 1070 1010 1800 105195 4244 1042 1050 1104 1074 1037 1043 1080 2025 1057 1094 1036 1089 7412 1090 1067 1048 4371 38472 1049 1077 1085 1085 1106 57338 1061 1106 1125 1085 1040 1044 1068 1036 -666e2a42735775426f205e3d4579597861570a68285d646d383d77222d2537637848382e493b7e425429312e6a6c2b222c 28117 1042 58273 119515 10565 12032 1061 1069 1121 1089 28674 1087 1010 1104 1040 1093 57488 1056 1061 1119 1034 35884 1055 87703 1072 1056 15857 1059 1126 54206 1041 1049 2616 1108 1043 1897 -327b562c2c446869345838 1050 46818 64704 1068 8101 1052 1088 1056 -4d294d7d77713e2b6560745e754c665022593275657533695b513a38227d7e522c257573612078456125604f7a09212d0a4b5e287969414841712161486d39335c2f 1077 1041 1077 115812 1113 1062 1043 1101 1096 1116 1094 1117 1076 1102 1080 1034 1089 1050 1498 1117 1051 1105 1091 1081 1058 1056 46005 1126 1082 38667 17617 2460 1069 1097 1037 1096 1079 1122 1009 1033 15611 1075 58924 15958 1065 23303 1113 1033 1097 1072 1109 1057 1051 34309 -2e29247a630a26484a6e4d2659612c596b764644744f2c57445a324f54463c4b4c567564695935434552 5203 1036 1122 1099 1010 1038 1072 1074 1110 1077 1038 53881 64214 51188 61930 1116 1079 1044 51577 1090 1050 6918 1070 90479 51489 8237 1089 1053 1067 2794 -70745577557d5f445a4046450966323e6852260a687c56236d492b7b617c2926624c357c36416856593f576d6f32406c447327577b42632b5b496a22724b493d75656a574669415834 1515 1085 1119 1085 32796 1068 1090 1064 44675 10135 1050 1062 1104 1082 1038 1010 1104 1124 1086 1035 1109 1073 1043 1123 1097 1124 61176 1098 1076 1053 1124 1054 37696 1086 1089 1063 1087 5464 1050 1064 1108 46723 1039 1087 36999 1099 1043 1091 1073 1106 1034 1114 1075 1073 1061 1498 1106 1087 30893 13339 1052 -646057 1100 1096 1087 -42692d6e2d3a476d373350413a5751653361327e2e0a285b626762444b5d42634e6f 39903 6603 1045 1058 1071 1109 1055 1051 12118 1058 1087 1081 1101 1051 1097 1050 1126 1626 9038 26094 1098 49329 1093 1066 1099 4753 -325b464d275609595f407b552a6260646a28495f4b332c3c7535305a4d 1050 1091 45746 1039 1086 1009 1089 1095 73856 1085 109827 1096 1100 1106 24324 56675 1051 1044 1060 1117 1053 1048 1090 1077 -4863482a557851513754353f2433782a20534c78792d22397731637d613875463a4535387e2859712530692c633a55472c0a51753251462b6b34647d6d5d56664f5a3d6e5f767b5e6c313f326f325778 1072 1099 1072 1042 1085 1120 1081 1081 1055 1084 1053 1063 1036 1051 1120 1042 31284 8731 76880 1057 1119 1049 1099 45518 1056 1117 1070 1058 1069 1053 1056 59602 1089 1113 1037 1048 1105 30134 1058 17869 1520 6605 1050 1081 1070 75577 1052 1100 100729 1093 1086 1102 1079 1090 41523 11221 1123 1094 1108 1049 1063 1050 1111 1050 1087 1120 -6a32505f31734f43580a5a7a6d794f612026573123592e20337135504975232d3f7e443c776a57783877414e7e3e5874757b67 1106 1050 1080 1095 1049 1115 11815 1088 1010 1090 1122 3933 1079 1097 1748 1087 1049 1035 1089 1046 1032 1051 1113 1053 5119 1117 1035 1045 1063 1126 1068 1060 1119 1106 1087 1120 1056 1119 5010 1126 1062 1088 17391 52444 -7a6f694c5337772e6b342d41325a57715c2c29576e 4536 1105 18369 1055 1119 23715 1052 5909 1050 1090 1087 1113 10380 1041 1087 1110 -44203358644775302a2139776f3a0a2347342c325b4d5e72 1068 1032 1051 1088 1100 15771 1048 1042 1033 1057 2054 1877 1035 1071 1052 1044 1050 1091 1077 1094 1114 -3a5a58644b2c652f2e4744682a37216c2f2f2255662c2a2d75434523334f486546292c4e6946 1058 1090 1088 1100 1075 67672 22735 77858 1104 1042 1055 1033 1108 1555 1034 1085 1102 1044 13975 1117 9158 1035 1051 1079 3452 1070 1574 46519 1070 -4f785a4f6a487d4d5e50606c3a50642f3a4c3c37376d353867637230776f6145597c305d7e3a61533d283b253a220a577339685b425d575f4a78322b39653c37096c5d642c5f53605e75515137 58596 1090 1079 1106 1072 114460 1094 1080 1096 1108 1058 130885 33272 1076 1060 1055 1055 1109 1053 1056 1103 15196 1048 2054 1097 1069 1089 1124 1048 1093 1126 1058 1097 1083 14592 1059 1037 124608 81187 1057 1104 1091 1066 1093 1087 80611 1120 1050 1043 1057 1101 1060 1055 41983 1093 1100 31758 1083 1096 1094 1117 1081 1081 1055 -715a317368304f683d2a3e2f0a7d243e397b3f35736e745a6f532f436256646e0a263a557c0a5466213249555c336d2b 1113 1090 1049 2958 1048 19688 1061 69048 19602 5521 1062 1057 1123 1063 1053 1115 1684 1090 1111 1083 14787 1098 1086 37001 1010 1038 1058 1085 23685 1084 1102 1033 1050 124666 1092 1051 1109 1043 -75532853316f336f273c246a4d 1117 1083 13977 1049 1111 1051 1111 1039 62556 1106 1077 -3b587430444b77702c254d282e24655a326f4475536b 1059 1088 1116 1048 49329 35479 38667 1077 1040 10775 1101 1090 1050 1111 21485 23844 -45095127344b354b3563626c2049402d4b335c 1069 1009 1081 1039 1052 1075 1053 1075 1053 1099 2970 1362 1064 1045 1075 1051 1092 -2355455d435a4b33535c5268 1035 8489 1093 1067 1090 1075 1051 1083 1092 70195 -347d78504660485023595d544748383b40395b2552316e3d2663634e44425b2773776d202c52302856545638364d2b56653164660a50423f3e2e 1052 27156 74287 1096 13719 1035 1089 1093 1084 96633 1056 1059 1064 1057 87914 1082 1049 1110 74113 1666 6999 1066 3024 9920 1109 3897 1082 1048 38822 11488 1056 1054 1077 1043 45654 1049 7785 1010 76628 1063 42552 -30597459233e4d747279745c795a5b3d3a 1048 1089 1116 1089 83059 1077 1571 3446 1092 1121 1090 1091 120271 -626e4a38307d4b4575737d3e7e6656564e7e4769624f6f6524684271435a6b495b277330650a4276396173525124335124257d367e503c2a51252e623f5f2c7945587671 48515 1074 1056 1048 1125 12623 1374 28219 1126 1102 1086 98832 1126 90257 1079 16122 1036 1104 1066 1113 1067 1090 1107 1073 3024 1115 1048 1101 1010 1066 1118 1057 1288 1082 1081 1036 1051 1081 1036 1037 1125 1054 1126 1080 1060 1042 1081 14082 1098 1063 5880 1121 10164 1118 1113 -6567225a473745246730303468584230312b632043717d3c6b6a7e6954693d666b27784e733845412344502824552a6a475d22 2055 1034 1090 1071 1055 1069 1036 1103 1048 1048 1052 1104 1088 1066 1048 1049 59795 1359 1113 65981 89773 68887 41491 55764 1107 1039 1120 47794 1056 26759 1035 16108 3186 1085 1042 1106 1071 59805 -096f707059464e2c784a3832412a092240345761735527294a6d436347785b2d4e777a544b656b253d360a6068626c216243712f64543e7661702d56703f717b3b 1009 22284 1089 88826 28075 1074 1056 1050 1065 1042 1009 1034 1064 1052 29269 1085 4576 1074 1109 1067 1099 1071 1120 28854 1078 1119 1122 105765 2166 20096 1054 1010 1096 1104 2970 1033 1098 1067 1113 6406 1084 1062 1118 1466 11422 1112 92404 1123 1059 -26512444667d7e644d203868663221553d307b776b7a2c420977216f6d3473635f747a47264e43385f7e504b746a58623b204468663e596c2d5b090a52232d37564f417c665d63 1038 1081 1036 1068 1102 1125 1126 1100 1077 1032 1056 1104 1102 1050 1033 1085 1061 1048 63637 1107 1122 41778 65062 1033 1313 1052 4821 2480 1122 1071 1038 27822 1056 1095 1126 47053 117041 1088 1098 1059 69211 1102 1062 1089 1108 18934 1009 1010 1082 1035 1045 1055 25313 1065 1124 1102 1093 1099 -514f40443f37525175747c2f742951425753327c557b5e56516162 1081 1079 1064 1068 1063 1055 1082 1081 1341 1124 1047 1116 1041 1081 1066 20266 1050 1124 1085 1123 1094 1086 1081 1401 -575f2e585e3c 1087 9220 1088 1094 1060 -7b603f754545254c41267029623837485948303332536c3b6648486c29325b36533d3a21214c2733224669387e6b4e0976764f4c23515b4e2879442f5a74446f2b61 1123 69524 1117 16748 1037 10265 1038 1112 1041 1098 1056 1055 1072 1089 1072 1048 1051 1050 12863 1059 1102 79438 1108 1041 1050 1091 1054 1083 120271 7290 1076 1039 1051 1034 30893 1056 1126 1107 1078 29285 1118 8568 1035 1081 82995 16367 1068 123573 1116 9476 63389 -245b6b6b77095e7c48 1036 1091 13775 1119 1009 1094 1124 1072 -287131716b5b 36476 1049 1113 1107 1091 -485b2f39405d3c3c7a6b226f2b576d4973217a304641226e7b375f41292941277b7d6a28595f31 1072 1091 1047 1057 1064 1093 12130 13552 1034 1111 1043 1087 1109 5356 1033 1122 1048 6507 1034 1110 1123 1055 10376 2798 1065 1039 30620 1106 62180 1095 1049 -553b5e69596475715d236b60 1085 1059 1094 1105 1089 1669 1113 1093 1035 1107 1096 -57092b 1087 1009 1043 -7c3f4f5f747a6c29235822385f5157705e22294d556375706348223f5070223a456d26377b3820446121464b5243515a707a762c2729 1124 1063 1079 2480 1122 1108 102110 1088 1034 1056 104388 1087 1112 1094 4428 1077 1085 29892 1099 1072 69235 1080 1112 2811 5969 1038 1055 1123 1056 10058 1033 66480 22805 1081 1090 1112 38974 1044 4576 -5f693036647261783a6f400a3c36224f344763432d307c514c2d473f372c46333340483d5e573c295179606e2b4437746643453127 13755 1048 1054 1100 54343 1058 1111 1064 1010 1060 1054 1034 1079 1052 125561 1067 1045 1048 1124 7972 7491 1063 1055 87526 1051 1051 1064 1072 1061 1094 1087 1060 1041 1081 1121 1096 1110 1043 1068 1055 52120 9158 1049 1039 -316962315a38762f2d335d732978773d6b6e670a493f79684c662f5e 1049 1612 1049 1090 1056 1118 19137 1051 1093 1115 87267 1119 100792 1716 1010 1073 1063 1121 1104 1076 1102 1047 1094 -6026245d634c2378263d4e3d5d332248614b4437767d373c65573f3e206f4a5165384d 1096 1038 1036 1093 1099 1076 1035 1120 108401 1078 1061 1093 1051 1034 36161 1075 1068 1055 1118 1125 1055 1060 1101 1087 59827 1281 1074 1081 1101 1056 1077 -287d64786f413679262a714e2e293067774a096620323b4d642f4746555f2e2e27242a772c587728343d523d555b27215d55602b555f555d50745b3d226928617c2a596434224426 1040 1125 19903 1111 1065 1054 1121 1038 1042 1113 1078 5203 1048 1103 1119 1074 10135 1032 1050 1059 104644 1047 10624 1085 1095 1791 79435 1042 1119 35784 1119 1040 1052 1061 1082 1061 1085 3024 1033 1093 1085 1096 1043 1085 24097 1093 57061 1091 1622 1105 8897 1124 1042 1089 1100 1052 1034 1068 1038 -33584c59465f503e376322374d6d62343a59262d4f2649635a703c2c5954612834516b0a276149226b2a2720642127434455343a6762674857305a2c7b7e414e63 1051 1088 38180 1070 5482 1062 1055 1099 1034 1055 1077 14192 1052 1058 1089 73000 1079 1038 1073 1099 1090 1112 1060 1044 1089 51386 1040 1052 1081 1107 1010 8490 1073 1034 1107 31780 1266 75629 74863 1052 1058 1103 26094 1072 1087 1048 1090 91651 1126 5010 1099 -7537543940415a526d416026683d5b683d35446d51767320475e3f5562 1117 1055 1084 1057 1064 75317 1082 1109 1065 1096 1038 1104 18359 1104 1061 1053 1068 1109 1081 33112 1461 1094 1063 92995 -4537337e375b402334665870355c69 1069 1055 1051 1126 1055 34238 1035 1052 1102 1088 1112 1053 1092 1105 -305e7c7277762553332b3c23416d304d3e31417b64456d642d54375c7950624871733e5f4b2468414a67 1048 1094 1124 88699 1118 1037 1083 1051 1043 1060 1035 8459 1048 1077 1062 1049 1065 20376 5969 1100 8588 1055 1092 1121 92110 1072 55485 1062 1095 1075 1036 1104 1065 1074 1103 -22486a5f6b57302109562f2b2b4a5e6e2f752d4e5f7b2562753f59403b45327631745b2670 1034 1072 1106 21227 1087 1048 1033 1009 1086 1047 1670 1074 48550 63333 9964 1746 1037 3991 1063 1089 1064 1059 1069 1050 1118 1049 1116 1091 1038 1112 -3454217e3f2d7b4d767b6226682b28285a30507e485d232334542d6f52587a7a7c565e61232d56530a7a5c4653745e263a576c5a20795909305e5c4a662a7722306f227e312d43775955 1052 1084 1033 1126 1063 113356 1077 1118 21623 1038 1104 1043 4564 1090 1048 1080 69187 1093 1358 1052 1084 19013 130864 9821 1124 1086 1094 1097 1035 1045 73553 1010 1122 1092 1070 1989 1094 1038 1058 1087 1108 1090 1404 1089 1009 1048 43927 1074 1102 1042 1119 1034 1048 1111 1034 1126 1049 5849 1119 1089 1085 -2a5c64762021546a50436529404c2a6633482f552169506c3a2c650a586c5a5e3d353b3d423e5540640a7d590a2b25353b2e5b2d587a655e45684c4b2c573751 127689 103041 2662 1084 1106 9793 1101 1041 1064 1076 1042 1102 1051 1072 126395 1033 1105 4444 75828 1101 1010 1088 1108 1090 1094 1061 1053 1059 1061 1066 1062 1085 1064 1100 1010 1125 1089 1010 11862 1053 1059 8925 1045 1088 2343 1094 124710 1076 1075 1044 1087 1055 1081 -576f30364c383d4161224a5a3a417d32694f5a3927625935446240763a3b5b7c2128453b41204c2e3c38466d797c0a2b3f447e5642 70007 1048 1054 1076 1056 92095 1097 1034 1074 1090 87825 1125 1050 1105 1079 1090 1057 1039 1098 1089 1053 20540 73661 1058 1059 1091 1124 31881 1069 1059 1065 1424 40933 1056 1070 3933 23685 1043 1063 1068 1126 103461 -3621554e3c23716c4d27484b5a6f3937282a325522222e6a7d5a29487048662b254a3d3e2c6d69433571587a563748537220764b74635c4a572a3a71652c585927 1054 1033 8929 1060 1035 4765 1077 19666 1075 1090 1111 1057 1055 12597 1050 1085 1034 3871 1106 1125 1090 1041 126558 1072 1102 11862 1074 9947 1044 3391 1067 1053 1113 1088 1122 1086 1055 30316 1114 1330 1075 61329 1092 1074 1087 13524 1113 1101 35784 1089 1039 -795153 1121 1081 1083 -58504943267e20504d2d4f782962612647766570572d77762f206f5d4b7949722b54412171442d68247d435768485f35394f 1088 106354 1038 1126 18445 15203 1120 1041 4402 126003 1672 1112 1087 5308 1118 1047 1281 1093 115795 47882 1043 12887 1033 1113 1068 5352 1036 1125 1067 3237 1072 1095 1053 1057 1079 -2539383f6e4e5b6d476640246f3a2368672d7e693750393b2552384c342d5063315967723d395b5f414c215f47793954 1037 1057 1056 1063 1110 1078 52468 1071 1102 1064 1036 1111 40048 1104 1103 1045 1126 1105 1055 1080 1057 1059 1037 1082 1056 1076 1052 6193 1099 1049 1089 1870 1061 1057 61377 4286 1033 1095 60408 1057 1084 -255b7c3e203178273f6d245e2b213038692d7a4728304170332d7d43362921435f476325604d3058534e614448 1037 1091 1124 1062 1032 1049 1120 1039 1063 1109 1036 1094 1043 1033 1048 1056 1105 16156 1071 1040 1048 8952 1051 1045 1125 1067 1054 85188 1067 17545 1099 1037 1096 1077 1048 1088 1083 14589 47909 -422a7c695461723450612c7d3f5e6b683d7e4958345721347b746f6229283152412749552e5022342e3d7867364d435041395060 1066 1042 1124 1105 93621 1052 14510 78036 1063 1094 33453 1061 1126 10445 1052 1087 1033 1052 1123 1611 1098 9731 1049 9295 24853 1085 6565 1034 1052 127251 1120 1103 1054 16126 12118 1057 1080 1096 -396652265f205447293e4d342d7d5e503a3b606e6c27725b472d3d38496c6a787a7d5177423f4757792c6c7e2b48372b653b40507773243a3c367b7a462530637875476f633f4a5764 1057 1102 1082 1038 1095 48935 49442 1077 1052 1045 29009 1080 1058 64047 74871 37985 1091 1071 1045 1061 1056 6319 1106 1120 1122 1125 1081 1119 1066 1063 102348 1121 61248 1126 1043 1072 1055 124714 1059 1064 1080 11954 1036 99441 1054 54226 1070 1037 1048 87703 1117 1071 1453 1063 1074 1087 1100 -6578 1948 -7a687b470a2030633c2e7d6f2a5b542f46755b456a697b355666563c75 25434 52647 1010 1032 1048 1099 90382 1125 1111 1042 1091 1084 28546 1117 1091 1069 5297 1123 1053 1086 1102 1086 115633 -7e5d747a793d393b4e3e0a0963093b58274c317a294c5c6b584d637b676e636d735d634c77675b432e2b73362568554e37463d2e54585b 1126 1093 1116 3520 1061 1057 1059 1078 1561 6622 1009 1059 1088 1039 1076 1049 1122 1041 1076 1092 1107 1088 28595 1123 5891 1099 2943 1093 1099 1076 1119 1103 1091 1067 1046 1043 1115 1054 1037 1104 8929 1055 1070 57736 100203 1091 -396a7b45226a366679482a6d597b532c5a4c2d566e2927403b2d655d6c23437d0961312841445d4a5466 1057 1106 33394 1034 1106 1054 81120 1072 112191 1089 37141 1044 1090 1076 11422 1110 42347 1064 1059 1045 1101 1093 1108 1035 1067 1125 44056 1049 1040 5516 1093 1074 1084 1102 -70645423767b2e42504e65462c46604029096f27374a7e5d3a3c5047225c4665367c51313776203f6e45 45110 1084 1035 1118 1123 1046 22133 11993 1070 87526 1096 1064 1041 97812 1039 1055 1074 1126 15558 1060 54406 57051 11204 1054 1124 1081 1049 1055 1118 3082 1110 1069 -5d2c51562a2f31525e213a693b3a4d72552b457c097b723c4a6b73506c4a3a6662376a68537b2165302621 3605 1081 1086 10212 1049 1082 1094 98977 1105 1059 1058 27118 1085 1043 1069 1124 1009 34816 1060 1074 3096 4444 1074 1058 45568 1055 1106 1104 1083 1123 1033 1101 1048 1038 1033 -49643844246b5d3a3e627952566075263b73607d5765357022365c5068762b4b763b79465b5a737a522837667656306f40705f3156373f5c506d547d6536564c7d0a724b 2406 1056 1068 1036 1107 15558 1062 3326 101080 1096 1117 1038 1059 1115 1096 1125 4268 1053 1112 1034 1054 1092 6996 1118 1043 1075 1118 1059 1121 1070 1091 1090 7825 1082 1040 1055 1102 1118 1086 1048 1111 1064 1112 1095 1049 1086 1055 1063 1092 1080 1109 1084 60529 1054 1086 1076 2002 1114 1075 -306e2b2e6c2d776e245e257a785d462f 1048 1110 116667 1108 1045 2787 1036 1094 1037 1122 1120 1093 1070 1047 -4d4e2b6136687a3637646c720a562d314a75280a684f504d744c76232126537e7d6075447d206435762b475a64222e25306a764059 113464 63389 1054 1104 1122 1054 1055 31833 1114 1010 1086 1045 1049 63831 3297 1104 14748 118295 1076 1118 33846 1038 1083 1126 14483 1117 1068 1125 1266 1053 1118 1043 1071 1090 1100 3871 1037 1048 1106 1118 1064 1089 -6f7a3c314873244a26603d7e 5665 1060 1049 95312 1036 1074 1038 1096 1061 1126 -7e2b775a7a4c5a7b0a7a64693755415933656c563a7a0a42563743096a79565d555834452c7c742e6d2358324e2954340a3f4449405555416b545b716a477a6e 1126 1043 1119 1090 1122 1076 1090 2030 1122 7173 1055 1085 25698 1051 1299 1086 1058 1122 1010 130196 1055 1067 56663 1121 1086 1093 82838 1052 1069 1044 1124 1116 2774 1035 1088 1050 1078 1041 1084 1052 1010 1063 29951 1064 1085 69940 1107 1084 1091 1113 1106 1071 7186 -313b532b283177 1049 1059 1083 41939 1049 1119 -764963460a38625a6c2745433d587e3d3746765474735176582a3f53534f5975345871256036525d785c676535484570625c3809444529715e223e793e4b262b5e2767 1118 1073 1099 1070 1010 1056 1098 1090 1108 10573 1067 1061 1088 1126 1061 1055 130533 1084 2392 1081 1118 1088 1042 1063 4290 1079 107649 1052 1088 1113 1037 1096 1054 1082 1093 1120 1092 1643 1053 7626 84437 1092 1056 1009 5088 1041 1113 1094 2571 1121 1062 1075 1038 14914 1039 1103 -672b3f3c3b7d365e30452a6c3d53294f4628793f366b6e6876273f4f2c39337c372a3e73694d2b5b4a2a34743f72285c5223 1103 1043 1063 1060 1059 1125 1054 1094 1048 1069 1042 1108 1061 1083 1041 37979 16367 1063 1054 1107 3556 1118 1039 1063 1079 1044 1057 1051 1124 1055 69048 5822 1077 1043 1091 1074 1042 1052 1116 1063 1114 6169 1082 1035 -3f580a394f35212d357735312f6e305b72287c7b637a7d41734623247b27362e5678442f30 1063 1088 1010 1057 1079 1053 1033 1045 1053 1119 1053 1049 23409 1048 51877 60476 1123 5206 1125 4072 1070 1035 6707 1039 1054 14392 1120 1068 1047 1048 -50792e305c6d7956472d7b21582a61416738524e535d743349303f767830292368372344244e5b404d71416f5a7a6a327b4a 45527 1046 1048 1092 3933 122406 113356 1033 1088 85841 19068 1056 1082 8772 1093 1116 1051 1073 1048 71029 1120 1048 102110 1104 1055 1035 1068 1036 1078 34238 1077 1113 72531 1090 1122 1106 1050 96460 -4d21292e577863380a2d326c3575233a2e733330613a2323624b514f3c 1077 126385 1087 41501 1056 1010 1045 1050 1108 1053 1117 1035 70511 1115 1051 1048 1097 1058 1358 1098 1075 1081 1079 1060 -313233343536372063616e277420736e616b655f63617365207838365f363420656e642e0a0a207838365f363420524f424f5420524f424f54203c5350454349414c5f32323e2068747470733a2f2f782e6f72672f613f623d6326643d6520736e616b655f636173652074686579276c6c 1049 1050 1051 1052 1053 1054 1055 1710 2405 48726 69982 2460 1056 1054 1095 1054 1052 2362 1338 2460 1056 1054 1095 1054 1052 30291 1066 6918 30291 1066 6918 1032 22 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 48726 69982 2127 7534 -3c5350454349414c5f32323e203c7c766973696f6e5f73746172747c3e203c7c696d5f656e647c3e20610d0a62203c7c696d5f73746172747c3e 22 1032 20 1032 11 1261 1013 1010 1098 1032 10 -776f726c642773200b0c20656e642e0a0a 34049 1681 1032 1011 1012 2362 1338 -31323334353637 1049 1050 1051 1052 1053 1054 1055 -63616d656c43617365203c2f7468696e6b3e 32587 1299 11139 1032 13 -74686579276c6c 43880 7534 -0b0c20776f726c64277320736e616b655f63617365203c7468696e6b3e203c2f7468696e6b3e 1011 1012 4304 1681 48726 69982 1032 12 1032 13 -3c7c766973696f6e5f73746172747c3e 20 -3c5350454349414c5f32323e20776f726c642773 22 4304 1681 -48656c6c6f203c7c696d5f656e647c3e203c2f7468696e6b3e 22177 1032 11 1032 13 -74686579276c6c20332e313431353920332e3134313539 43880 7534 1032 1051 1046 1049 1052 1049 1053 1057 1032 1051 1046 1049 1052 1049 1053 1057 -656e642e0a0a203c7468696e6b3e2049277665203c2f7468696e6b3e 1474 1338 1032 12 1362 6483 1032 13 -776f726c6427732031323334353637203c2f7468696e6b3e2063616e27742048656c6c6f2031323334353637 34049 1681 1032 1049 1050 1051 1052 1053 1054 1055 1032 13 1710 2405 45383 1032 1049 1050 1051 1052 1053 1054 1055 -7838365f3634203c7c696d5f656e647c3e20524f424f5420524f424f54203c7468696e6b3e 1120 1056 1054 1095 1054 1052 1032 11 30291 1066 6918 30291 1066 6918 1032 12 -7838365f3634203c7c696d5f73746172747c3e206120200a20206220492776652063616e2774203c7c696d5f73746172747c3e20656e642e0a0a20332e31343135392074686579276c6c20332e313431353920313233343536372063616e2774 1120 1056 1054 1095 1054 1052 1032 10 1261 1256 1010 1032 1289 1362 6483 1710 2405 1032 10 2362 1338 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 1032 1051 1046 1049 1052 1049 1053 1057 1032 1049 1050 1051 1052 1053 1054 1055 1710 2405 -656e642e0a0a203132333435363720202073706163656420206f7574202020776f726c64277320524f424f54 1474 1338 1032 1049 1050 1051 1052 1053 1054 1055 1256 44504 1032 1848 1256 4304 1681 30291 1066 6918 -68747470733a2f2f782e6f72672f613f623d6326643d6520202073706163656420206f7574202020776f726c642773 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1256 44504 1032 1848 1256 4304 1681 -776f726c64277320610d0a6220313233343536372063616d656c4361736520610d0a62 34049 1681 1261 1013 1010 1098 1032 1049 1050 1051 1052 1053 1054 1055 98537 11139 1261 1013 1010 1098 -3c5350454349414c5f32323e2063616d656c4361736520524f424f54203c7c696d5f73746172747c3e20736e616b655f63617365 22 98537 11139 30291 1066 6918 1032 10 48726 69982 -610d0a6220776f726c6427732048656c6c6f20736e616b655f6361736520610d0a62203c7c696d5f656e647c3e 1097 1013 1010 1098 4304 1681 45383 48726 69982 1261 1013 1010 1098 1032 11 -31323334353637203c5350454349414c5f32323e20736e616b655f636173652031323334353637 1049 1050 1051 1052 1053 1054 1055 1032 22 48726 69982 1032 1049 1050 1051 1052 1053 1054 1055 -7838365f36342068747470733a2f2f782e6f72672f613f623d6326643d6520332e313431353920202073706163656420206f7574202020332e31343135392074686579276c6c2049277665205b494e53545d200b0c203c5350454349414c5f32323e20610d0a622048656c6c6f 1120 1056 1054 1095 1054 1052 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 1051 1046 1049 1052 1049 1053 1057 1256 44504 1032 1848 1256 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 1362 6483 1032 3 1032 1011 1012 1032 22 1261 1013 1010 1098 45383 -332e3134313539203c7468696e6b3e2049277665203c7c766973696f6e5f73746172747c3e2063616e2774205b494e53545d2068747470733a2f2f782e6f72672f613f623d6326643d65 1051 1046 1049 1052 1049 1053 1057 1032 12 1362 6483 1032 20 1710 2405 1032 3 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 -524f424f542031323334353637200b0c203c2f7468696e6b3e 4755 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 1032 1011 1012 1032 13 -68747470733a2f2f782e6f72672f613f623d6326643d652068747470733a2f2f782e6f72672f613f623d6326643d65203c2f7468696e6b3e200b0c2048656c6c6f20610d0a62 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 13 1032 1011 1012 45383 1261 1013 1010 1098 -6120200a2020622049277665203c7c766973696f6e5f73746172747c3e20524f424f54203c7c696d5f73746172747c3e20776f726c64277320736e616b655f63617365203c5350454349414c5f32323e 1097 1256 1010 1032 1289 1362 6483 1032 20 30291 1066 6918 1032 10 4304 1681 48726 69982 1032 22 -736e616b655f63617365203c7468696e6b3e20524f424f54206120200a202062203c7c696d5f656e647c3e20656e642e0a0a2063616e2774200b0c207838365f3634 44515 2082 69982 1032 12 30291 1066 6918 1261 1256 1010 1032 1289 1032 11 2362 1338 1710 2405 1032 1011 1012 2460 1056 1054 1095 1054 1052 -3c7c766973696f6e5f73746172747c3e20524f424f54203c7c696d5f656e647c3e203c7c766973696f6e5f73746172747c3e20492776652068747470733a2f2f782e6f72672f613f623d6326643d65203c5350454349414c5f32323e2068747470733a2f2f782e6f72672f613f623d6326643d652049277665206120200a202062 20 30291 1066 6918 1032 11 1032 20 1362 6483 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 22 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 1261 1256 1010 1032 1289 -5b494e53545d205b494e53545d203c7c696d5f73746172747c3e206120200a202062206120200a2020622074686579276c6c203c7468696e6b3e200b0c20656e642e0a0a 3 1032 3 1032 10 1261 1256 1010 1032 1289 1261 1256 1010 1032 1289 2127 7534 1032 12 1032 1011 1012 2362 1338 -3c7468696e6b3e20313233343536372068747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20202073706163656420206f7574202020492776652074686579276c6c20656e642e0a0a203c7c696d5f656e647c3e 12 1032 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1256 44504 1032 1848 1256 1362 6483 2127 7534 2362 1338 1032 11 -610d0a62203c7c696d5f73746172747c3e203c7c766973696f6e5f73746172747c3e203c7468696e6b3e 1097 1013 1010 1098 1032 10 1032 20 1032 12 -0b0c 1011 1012 -3c2f7468696e6b3e20776f726c64277320524f424f54203c5350454349414c5f32323e20610d0a6220524f424f54203c7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520610d0a6220524f424f54200b0c20202073706163656420206f75742020 13 4304 1681 30291 1066 6918 1032 22 1261 1013 1010 1098 30291 1066 6918 1032 12 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1261 1013 1010 1098 30291 1066 6918 1032 1011 1012 1256 44504 1032 1848 1256 -7838365f363420736e616b655f63617365 1120 1056 1054 1095 1054 1052 48726 69982 -3c7c766973696f6e5f73746172747c3e2063616d656c43617365200b0c 20 98537 11139 1032 1011 1012 -524f424f54203c7c696d5f656e647c3e203c7c766973696f6e5f73746172747c3e20736e616b655f6361736520776f726c642773206120200a2020622063616d656c43617365203c5350454349414c5f32323e 4755 1066 6918 1032 11 1032 20 48726 69982 4304 1681 1261 1256 1010 1032 1289 98537 11139 1032 22 -7838365f3634 1120 1056 1054 1095 1054 1052 -5b494e53545d 3 -656e642e0a0a 1474 1338 -63616d656c43617365203c7c766973696f6e5f73746172747c3e206120200a202062203c7c696d5f73746172747c3e203c7468696e6b3e2063616d656c43617365200b0c204927766520656e642e0a0a 32587 1299 11139 1032 20 1261 1256 1010 1032 1289 1032 10 1032 12 98537 11139 1032 1011 1012 1362 6483 2362 1338 -63616d656c4361736520736e616b655f6361736520524f424f54204927766520610d0a62 32587 1299 11139 48726 69982 30291 1066 6918 1362 6483 1261 1013 1010 1098 -68747470733a2f2f782e6f72672f613f623d6326643d65203c7c696d5f73746172747c3e20332e313431353920332e31343135392074686579276c6c20776f726c642773 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 10 1032 1051 1046 1049 1052 1049 1053 1057 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 4304 1681 -3c5350454349414c5f32323e206120200a2020622068747470733a2f2f782e6f72672f613f623d6326643d65203c5350454349414c5f32323e200b0c203c5350454349414c5f32323e2048656c6c6f205b494e53545d203c2f7468696e6b3e2063616e277420610d0a6220656e642e0a0a 22 1261 1256 1010 1032 1289 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 22 1032 1011 1012 1032 22 45383 1032 3 1032 13 1710 2405 1261 1013 1010 1098 2362 1338 -3c7c766973696f6e5f73746172747c3e20776f726c64277320610d0a6220332e313431353920202073706163656420206f7574202020524f424f542063616d656c43617365203c7c696d5f73746172747c3e 20 4304 1681 1261 1013 1010 1098 1032 1051 1046 1049 1052 1049 1053 1057 1256 44504 1032 1848 1256 30291 1066 6918 98537 11139 1032 10 -49277665 1073 6483 -74686579276c6c203c5350454349414c5f32323e205b494e53545d20332e3134313539203c7c696d5f656e647c3e2068747470733a2f2f782e6f72672f613f623d6326643d6520656e642e0a0a203c7c696d5f73746172747c3e20332e31343135392063616e2774203c7c766973696f6e5f73746172747c3e20736e616b655f63617365 43880 7534 1032 22 1032 3 1032 1051 1046 1049 1052 1049 1053 1057 1032 11 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2362 1338 1032 10 1032 1051 1046 1049 1052 1049 1053 1057 1710 2405 1032 20 48726 69982 -0b0c2068747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20202073706163656420206f7574202020202073706163656420206f75742020206120200a2020622031323334353637207838365f3634203c7c766973696f6e5f73746172747c3e20202073706163656420206f75742020 1011 1012 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1256 44504 1032 1848 1260 44504 1032 1848 1256 1261 1256 1010 1032 1289 1032 1049 1050 1051 1052 1053 1054 1055 2460 1056 1054 1095 1054 1052 1032 20 1256 44504 1032 1848 1256 -610d0a62203c7c696d5f73746172747c3e20202073706163656420206f75742020 1097 1013 1010 1098 1032 10 1256 44504 1032 1848 1256 -332e313431353920736e616b655f63617365203c7c766973696f6e5f73746172747c3e20332e3134313539206120200a2020622063616d656c43617365200b0c20776f726c64277320524f424f542048656c6c6f20656e642e0a0a 1051 1046 1049 1052 1049 1053 1057 48726 69982 1032 20 1032 1051 1046 1049 1052 1049 1053 1057 1261 1256 1010 1032 1289 98537 11139 1032 1011 1012 4304 1681 30291 1066 6918 45383 2362 1338 -5b494e53545d2074686579276c6c203c5350454349414c5f32323e2063616d656c43617365205b494e53545d203c5350454349414c5f32323e20202073706163656420206f75742020 3 2127 7534 1032 22 98537 11139 1032 3 1032 22 1256 44504 1032 1848 1256 -48656c6c6f20492776652049277665200b0c 22177 1362 6483 1362 6483 1032 1011 1012 -63616d656c43617365204927766520776f726c64277320610d0a62207838365f3634203c2f7468696e6b3e203c2f7468696e6b3e2074686579276c6c2074686579276c6c2074686579276c6c203c2f7468696e6b3e20736e616b655f63617365 32587 1299 11139 1362 6483 4304 1681 1261 1013 1010 1098 2460 1056 1054 1095 1054 1052 1032 13 1032 13 2127 7534 2127 7534 2127 7534 1032 13 48726 69982 -3c7c696d5f656e647c3e203c2f7468696e6b3e205b494e53545d203c7c696d5f73746172747c3e20656e642e0a0a203c7c696d5f73746172747c3e 11 1032 13 1032 3 1032 10 2362 1338 1032 10 -74686579276c6c203c7c766973696f6e5f73746172747c3e20332e313431353920736e616b655f6361736520656e642e0a0a203c7468696e6b3e 43880 7534 1032 20 1032 1051 1046 1049 1052 1049 1053 1057 48726 69982 2362 1338 1032 12 -3c5350454349414c5f32323e 22 -63616d656c4361736520524f424f54203c2f7468696e6b3e20202073706163656420206f757420202049277665200b0c205b494e53545d20776f726c642773 32587 1299 11139 30291 1066 6918 1032 13 1256 44504 1032 1848 1256 1362 6483 1032 1011 1012 1032 3 4304 1681 -63616e2774204927766520332e31343135392031323334353637205b494e53545d20656e642e0a0a205b494e53545d2063616e277420610d0a622049277665 8495 2405 1362 6483 1032 1051 1046 1049 1052 1049 1053 1057 1032 1049 1050 1051 1052 1053 1054 1055 1032 3 2362 1338 1032 3 1710 2405 1261 1013 1010 1098 1362 6483 -524f424f54205b494e53545d203c7c696d5f656e647c3e207838365f36342063616d656c43617365203c5350454349414c5f32323e20656e642e0a0a203c2f7468696e6b3e206120200a2020622049277665 4755 1066 6918 1032 3 1032 11 2460 1056 1054 1095 1054 1052 98537 11139 1032 22 2362 1338 1032 13 1261 1256 1010 1032 1289 1362 6483 -610d0a6220776f726c6427732049277665203c7c696d5f73746172747c3e200b0c200b0c203c2f7468696e6b3e203c7c696d5f656e647c3e203c5350454349414c5f32323e20524f424f54 1097 1013 1010 1098 4304 1681 1362 6483 1032 10 1032 1011 1012 1032 1011 1012 1032 13 1032 11 1032 22 30291 1066 6918 -63616e2774207838365f3634203c2f7468696e6b3e20332e31343135392048656c6c6f20524f424f542031323334353637 8495 2405 2460 1056 1054 1095 1054 1052 1032 13 1032 1051 1046 1049 1052 1049 1053 1057 45383 30291 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 -5b494e53545d2031323334353637207838365f36342068747470733a2f2f782e6f72672f613f623d6326643d65203c7c696d5f656e647c3e2063616d656c43617365203c2f7468696e6b3e203c7c696d5f73746172747c3e2068747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365203c7c696d5f656e647c3e2063616e2774 3 1032 1049 1050 1051 1052 1053 1054 1055 2460 1056 1054 1095 1054 1052 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 11 98537 11139 1032 13 1032 10 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 1032 11 1710 2405 -7838365f363420736e616b655f63617365 1120 1056 1054 1095 1054 1052 48726 69982 -3c7c696d5f656e647c3e20656e642e0a0a20736e616b655f636173652063616e2774203c2f7468696e6b3e2031323334353637203c7c696d5f656e647c3e2074686579276c6c2031323334353637205b494e53545d203c7c766973696f6e5f73746172747c3e2068747470733a2f2f782e6f72672f613f623d6326643d65 11 2362 1338 48726 69982 1710 2405 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 1032 11 2127 7534 1032 1049 1050 1051 1052 1053 1054 1055 1032 3 1032 20 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 -3c7c696d5f656e647c3e2074686579276c6c20313233343536372063616d656c43617365 11 2127 7534 1032 1049 1050 1051 1052 1053 1054 1055 98537 11139 -492776652063616d656c4361736520202073706163656420206f75742020203c7c696d5f73746172747c3e2074686579276c6c203c7c696d5f656e647c3e207838365f3634200b0c2048656c6c6f2048656c6c6f2063616d656c43617365 1073 6483 98537 11139 1256 44504 1032 1848 1293 10 2127 7534 1032 11 2460 1056 1054 1095 1054 1052 1032 1011 1012 45383 45383 98537 11139 -736e616b655f63617365203c2f7468696e6b3e2031323334353637 44515 2082 69982 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 -736e616b655f636173652063616d656c43617365203c5350454349414c5f32323e203c7c696d5f73746172747c3e20332e3134313539203c7c696d5f656e647c3e203c7468696e6b3e20610d0a6220736e616b655f6361736520332e313431353920736e616b655f63617365 44515 2082 69982 98537 11139 1032 22 1032 10 1032 1051 1046 1049 1052 1049 1053 1057 1032 11 1032 12 1261 1013 1010 1098 48726 69982 1032 1051 1046 1049 1052 1049 1053 1057 48726 69982 -63616e277420524f424f542063616e277420202073706163656420206f7574202020313233343536372063616e27742048656c6c6f 8495 2405 30291 1066 6918 1710 2405 1256 44504 1032 1848 1256 1032 1049 1050 1051 1052 1053 1054 1055 1710 2405 45383 -48656c6c6f2074686579276c6c20202073706163656420206f7574202020332e313431353920610d0a622063616d656c43617365203c7468696e6b3e203c7c696d5f73746172747c3e20492776652063616e2774203c5350454349414c5f32323e205b494e53545d 22177 2127 7534 1256 44504 1032 1848 1256 1032 1051 1046 1049 1052 1049 1053 1057 1261 1013 1010 1098 98537 11139 1032 12 1032 10 1362 6483 1710 2405 1032 22 1032 3 -4927766520656e642e0a0a20736e616b655f63617365 1073 6483 2362 1338 48726 69982 -3c5350454349414c5f32323e20332e313431353920656e642e0a0a2063616d656c43617365203c7c766973696f6e5f73746172747c3e20776f726c64277320202073706163656420206f7574202020524f424f5420332e3134313539203c7c696d5f73746172747c3e 22 1032 1051 1046 1049 1052 1049 1053 1057 2362 1338 98537 11139 1032 20 4304 1681 1256 44504 1032 1848 1256 30291 1066 6918 1032 1051 1046 1049 1052 1049 1053 1057 1032 10 -524f424f5420610d0a62203c5350454349414c5f32323e207838365f36342063616e2774203c2f7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520332e31343135392074686579276c6c2074686579276c6c20524f424f5420202073706163656420206f75742020 4755 1066 6918 1261 1013 1010 1098 1032 22 2460 1056 1054 1095 1054 1052 1710 2405 1032 13 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 2127 7534 30291 1066 6918 1256 44504 1032 1848 1256 -610d0a62 1097 1013 1010 1098 -68747470733a2f2f782e6f72672f613f623d6326643d65204927766520202073706163656420206f757420202031323334353637205b494e53545d 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 1256 44504 1032 1848 1256 1032 1049 1050 1051 1052 1053 1054 1055 1032 3 -48656c6c6f20332e313431353920524f424f5420776f726c642773203c7468696e6b3e2048656c6c6f205b494e53545d20656e642e0a0a20332e3134313539 22177 1032 1051 1046 1049 1052 1049 1053 1057 30291 1066 6918 4304 1681 1032 12 45383 1032 3 2362 1338 1032 1051 1046 1049 1052 1049 1053 1057 -3c7c696d5f656e647c3e203c7c696d5f656e647c3e2048656c6c6f2063616e2774203c7468696e6b3e20332e3134313539205b494e53545d203c2f7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520776f726c642773 11 1032 11 45383 1710 2405 1032 12 1032 1051 1046 1049 1052 1049 1053 1057 1032 3 1032 13 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 4304 1681 -3c7c696d5f656e647c3e203c7c696d5f73746172747c3e20524f424f54200b0c20736e616b655f63617365 11 1032 10 30291 1066 6918 1032 1011 1012 48726 69982 -3c7c696d5f656e647c3e 11 -31323334353637 1049 1050 1051 1052 1053 1054 1055 -3c7c696d5f73746172747c3e2074686579276c6c2049277665204927766520524f424f54203c5350454349414c5f32323e20610d0a622074686579276c6c20776f726c64277320610d0a6220610d0a62 10 2127 7534 1362 6483 1362 6483 30291 1066 6918 1032 22 1261 1013 1010 1098 2127 7534 4304 1681 1261 1013 1010 1098 1261 1013 1010 1098 -3c5350454349414c5f32323e20524f424f5420656e642e0a0a20524f424f54 22 30291 1066 6918 2362 1338 30291 1066 6918 -3c5350454349414c5f32323e20776f726c642773 22 4304 1681 -3c2f7468696e6b3e2074686579276c6c203c2f7468696e6b3e 13 2127 7534 1032 13 -736e616b655f63617365205b494e53545d20524f424f54207838365f36342063616d656c43617365 44515 2082 69982 1032 3 30291 1066 6918 2460 1056 1054 1095 1054 1052 98537 11139 -48656c6c6f 22177 -492776652068747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20313233343536372063616d656c436173652063616d656c4361736520776f726c642773 1073 6483 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1032 1049 1050 1051 1052 1053 1054 1055 98537 11139 98537 11139 4304 1681 -48656c6c6f20332e3134313539203c5350454349414c5f32323e200b0c204927766520313233343536372068747470733a2f2f782e6f72672f613f623d6326643d6520656e642e0a0a2063616e2774 22177 1032 1051 1046 1049 1052 1049 1053 1057 1032 22 1032 1011 1012 1362 6483 1032 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2362 1338 1710 2405 -313233343536372068747470733a2f2f782e6f72672f613f623d6326643d65203c7468696e6b3e20736e616b655f63617365 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 12 48726 69982 -7838365f36342031323334353637200b0c203c7c696d5f73746172747c3e2048656c6c6f 1120 1056 1054 1095 1054 1052 1032 1049 1050 1051 1052 1053 1054 1055 1032 1011 1012 1032 10 45383 -5b494e53545d20332e313431353920656e642e0a0a20656e642e0a0a205b494e53545d20736e616b655f6361736520776f726c64277320610d0a62200b0c206120200a202062 3 1032 1051 1046 1049 1052 1049 1053 1057 2362 1338 2362 1338 1032 3 48726 69982 4304 1681 1261 1013 1010 1098 1032 1011 1012 1261 1256 1010 1032 1289 -68747470733a2f2f782e6f72672f613f623d6326643d6520776f726c6427732074686579276c6c20332e3134313539203c2f7468696e6b3e203c7c696d5f656e647c3e206120200a2020622048656c6c6f20332e3134313539205b494e53545d2063616e2774 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 4304 1681 2127 7534 1032 1051 1046 1049 1052 1049 1053 1057 1032 13 1032 11 1261 1256 1010 1032 1289 45383 1032 1051 1046 1049 1052 1049 1053 1057 1032 3 1710 2405 -736e616b655f63617365203c7c696d5f656e647c3e 44515 2082 69982 1032 11 -776f726c642773 34049 1681 -202073706163656420206f757420202063616d656c43617365203132333435363720610d0a62203c7c696d5f656e647c3e20202073706163656420206f75742020203c5350454349414c5f32323e2049277665203c7c696d5f73746172747c3e2074686579276c6c 1032 44504 1032 1848 1256 98537 11139 1032 1049 1050 1051 1052 1053 1054 1055 1261 1013 1010 1098 1032 11 1256 44504 1032 1848 1293 22 1362 6483 1032 10 2127 7534 -5b494e53545d205b494e53545d20492776652048656c6c6f205b494e53545d207838365f3634203c5350454349414c5f32323e2048656c6c6f203c7c696d5f656e647c3e 3 1032 3 1362 6483 45383 1032 3 2460 1056 1054 1095 1054 1052 1032 22 45383 1032 11 -4927766520656e642e0a0a2049277665203c7c766973696f6e5f73746172747c3e2074686579276c6c20776f726c6427732063616d656c4361736520776f726c64277320524f424f542063616e2774205b494e53545d203c7c696d5f656e647c3e 1073 6483 2362 1338 1362 6483 1032 20 2127 7534 4304 1681 98537 11139 4304 1681 30291 1066 6918 1710 2405 1032 3 1032 11 -3c7c766973696f6e5f73746172747c3e200b0c20202073706163656420206f75742020203c7c696d5f73746172747c3e20524f424f542031323334353637203c7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365203c5350454349414c5f32323e 20 1032 1011 1012 1256 44504 1032 1848 1293 10 30291 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 1032 12 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 1032 22 -68747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365203c7c696d5f73746172747c3e203c7c696d5f73746172747c3e203c7468696e6b3e2063616d656c436173652048656c6c6f2048656c6c6f203c7c766973696f6e5f73746172747c3e205b494e53545d 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 1032 10 1032 10 1032 12 98537 11139 45383 45383 1032 20 1032 3 -48656c6c6f20736e616b655f6361736520202073706163656420206f757420202048656c6c6f200b0c206120200a2020622074686579276c6c20776f726c642773200b0c20524f424f5420332e3134313539 22177 48726 69982 1256 44504 1032 1848 1256 45383 1032 1011 1012 1261 1256 1010 1032 1289 2127 7534 4304 1681 1032 1011 1012 30291 1066 6918 1032 1051 1046 1049 1052 1049 1053 1057 -656e642e0a0a20736e616b655f6361736520776f726c642773203c7c696d5f656e647c3e2031323334353637203c7c696d5f73746172747c3e2068747470733a2f2f782e6f72672f613f623d6326643d65203c2f7468696e6b3e20736e616b655f63617365203c7468696e6b3e206120200a2020622031323334353637 1474 1338 48726 69982 4304 1681 1032 11 1032 1049 1050 1051 1052 1053 1054 1055 1032 10 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 13 48726 69982 1032 12 1261 1256 1010 1032 1289 1032 1049 1050 1051 1052 1053 1054 1055 -7838365f363420656e642e0a0a2074686579276c6c2068747470733a2f2f782e6f72672f613f623d6326643d6520492776652048656c6c6f 1120 1056 1054 1095 1054 1052 2362 1338 2127 7534 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 45383 -776f726c6427732031323334353637206120200a2020622049277665203c7c766973696f6e5f73746172747c3e2063616d656c436173652074686579276c6c20524f424f54 34049 1681 1032 1049 1050 1051 1052 1053 1054 1055 1261 1256 1010 1032 1289 1362 6483 1032 20 98537 11139 2127 7534 30291 1066 6918 -68747470733a2f2f782e6f72672f613f623d6326643d652049277665205b494e53545d204927766520656e642e0a0a20332e31343135392074686579276c6c2068747470733a2f2f782e6f72672f613f623d6326643d65207838365f3634200b0c 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1362 6483 1032 3 1362 6483 2362 1338 1032 1051 1046 1049 1052 1049 1053 1057 2127 7534 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2460 1056 1054 1095 1054 1052 1032 1011 1012 -3c5350454349414c5f32323e20776f726c64277320656e642e0a0a20202073706163656420206f75742020203c7c696d5f73746172747c3e 22 4304 1681 2362 1338 1256 44504 1032 1848 1293 10 -74686579276c6c20524f424f54206120200a202062203c7468696e6b3e203c7468696e6b3e2074686579276c6c 43880 7534 30291 1066 6918 1261 1256 1010 1032 1289 1032 12 1032 12 2127 7534 -0b0c2063616d656c4361736520736e616b655f636173652063616e2774205b494e53545d2068747470733a2f2f782e6f72672f613f623d6326643d652068747470733a2f2f782e6f72672f613f623d6326643d65 1011 1012 98537 11139 48726 69982 1710 2405 1032 3 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 -3c7c696d5f656e647c3e203c7468696e6b3e203c7c766973696f6e5f73746172747c3e 11 1032 12 1032 20 -63616e277420524f424f54203c2f7468696e6b3e2048656c6c6f2074686579276c6c 8495 2405 30291 1066 6918 1032 13 45383 2127 7534 -3c7c696d5f656e647c3e20736e616b655f6361736520524f424f54203c7c766973696f6e5f73746172747c3e206120200a202062 11 48726 69982 30291 1066 6918 1032 20 1261 1256 1010 1032 1289 -3c2f7468696e6b3e20656e642e0a0a203c7468696e6b3e20776f726c64277320736e616b655f63617365205b494e53545d20610d0a62205b494e53545d203c7c696d5f656e647c3e2048656c6c6f 13 2362 1338 1032 12 4304 1681 48726 69982 1032 3 1261 1013 1010 1098 1032 3 1032 11 45383 -0b0c2068747470733a2f2f782e6f72672f613f623d6326643d652048656c6c6f203c7c766973696f6e5f73746172747c3e200b0c203c5350454349414c5f32323e203c5350454349414c5f32323e204927766520736e616b655f6361736520776f726c6427732048656c6c6f20656e642e0a0a 1011 1012 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 45383 1032 20 1032 1011 1012 1032 22 1032 22 1362 6483 48726 69982 4304 1681 45383 2362 1338 -776f726c642773200b0c203c7c696d5f656e647c3e20776f726c642773 34049 1681 1032 1011 1012 1032 11 4304 1681 -0b0c206120200a20206220736e616b655f63617365207838365f3634206120200a2020622074686579276c6c203132333435363720332e313431353920736e616b655f63617365 1011 1012 1261 1256 1010 1032 1289 48726 69982 2460 1056 1054 1095 1054 1052 1261 1256 1010 1032 1289 2127 7534 1032 1049 1050 1051 1052 1053 1054 1055 1032 1051 1046 1049 1052 1049 1053 1057 48726 69982 -48656c6c6f2048656c6c6f2068747470733a2f2f782e6f72672f613f623d6326643d652068747470733a2f2f782e6f72672f613f623d6326643d65207838365f3634203c7c696d5f73746172747c3e203132333435363720202073706163656420206f75742020 22177 45383 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 2460 1056 1054 1095 1054 1052 1032 10 1032 1049 1050 1051 1052 1053 1054 1055 1256 44504 1032 1848 1256 -31323334353637207838365f363420776f726c64277320492776652048656c6c6f2031323334353637203c7c696d5f656e647c3e 1049 1050 1051 1052 1053 1054 1055 2460 1056 1054 1095 1054 1052 4304 1681 1362 6483 45383 1032 1049 1050 1051 1052 1053 1054 1055 1032 11 -3c7c696d5f73746172747c3e20524f424f54203c5350454349414c5f32323e20736e616b655f6361736520492776652063616e27742074686579276c6c207838365f363420610d0a62200b0c2048656c6c6f 10 30291 1066 6918 1032 22 48726 69982 1362 6483 1710 2405 2127 7534 2460 1056 1054 1095 1054 1052 1261 1013 1010 1098 1032 1011 1012 45383 -3c7468696e6b3e203c7c696d5f656e647c3e 12 1032 11 -5b494e53545d2068747470733a2f2f782e6f72672f613f623d6326643d65203c2f7468696e6b3e203c5350454349414c5f32323e20332e3134313539 3 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 13 1032 22 1032 1051 1046 1049 1052 1049 1053 1057 -6120200a2020622049277665203c7c766973696f6e5f73746172747c3e20524f424f54 1097 1256 1010 1032 1289 1362 6483 1032 20 30291 1066 6918 -3c5350454349414c5f32323e2074686579276c6c203c2f7468696e6b3e200b0c206120200a2020622048656c6c6f20524f424f542049277665203c2f7468696e6b3e2063616e2774203c5350454349414c5f32323e 22 2127 7534 1032 13 1032 1011 1012 1261 1256 1010 1032 1289 45383 30291 1066 6918 1362 6483 1032 13 1710 2405 1032 22 -68747470733a2f2f782e6f72672f613f623d6326643d65205b494e53545d20332e3134313539203c7468696e6b3e203c7c696d5f73746172747c3e20202073706163656420206f757420202048656c6c6f2074686579276c6c20736e616b655f636173652068747470733a2f2f782e6f72672f613f623d6326643d652063616d656c43617365 3299 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 3 1032 1051 1046 1049 1052 1049 1053 1057 1032 12 1032 10 1256 44504 1032 1848 1256 45383 2127 7534 48726 69982 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 98537 11139 -610d0a62203c2f7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520610d0a62207838365f363420736e616b655f636173652068747470733a2f2f782e6f72672f613f623d6326643d65206120200a202062 1097 1013 1010 1098 1032 13 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1261 1013 1010 1098 2460 1056 1054 1095 1054 1052 48726 69982 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1261 1256 1010 1032 1289 -48656c6c6f203c5350454349414c5f32323e20202073706163656420206f7574202020202073706163656420206f757420202074686579276c6c203c5350454349414c5f32323e2031323334353637204927766520736e616b655f63617365 22177 1032 22 1256 44504 1032 1848 1260 44504 1032 1848 1256 2127 7534 1032 22 1032 1049 1050 1051 1052 1053 1054 1055 1362 6483 48726 69982 -63616d656c4361736520656e642e0a0a 32587 1299 11139 2362 1338 -74686579276c6c203c5350454349414c5f32323e20524f424f5420492776652063616e2774203c7c696d5f656e647c3e20776f726c642773 43880 7534 1032 22 30291 1066 6918 1362 6483 1710 2405 1032 11 4304 1681 -63616e2774203c7c696d5f656e647c3e2063616e277420202073706163656420206f75742020205b494e53545d2049277665 8495 2405 1032 11 1710 2405 1256 44504 1032 1848 1293 3 1362 6483 -736e616b655f63617365204927766520656e642e0a0a205b494e53545d203c7468696e6b3e20332e3134313539203c5350454349414c5f32323e20610d0a62203c7c766973696f6e5f73746172747c3e20332e3134313539207838365f3634200b0c 44515 2082 69982 1362 6483 2362 1338 1032 3 1032 12 1032 1051 1046 1049 1052 1049 1053 1057 1032 22 1261 1013 1010 1098 1032 20 1032 1051 1046 1049 1052 1049 1053 1057 2460 1056 1054 1095 1054 1052 1032 1011 1012 -776f726c64277320610d0a622031323334353637 34049 1681 1261 1013 1010 1098 1032 1049 1050 1051 1052 1053 1054 1055 -313233343536372068747470733a2f2f782e6f72672f613f623d6326643d65 1049 1050 1051 1052 1053 1054 1055 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 -202073706163656420206f757420202063616d656c436173652063616e277420524f424f5420656e642e0a0a20524f424f54 1032 44504 1032 1848 1256 98537 11139 1710 2405 30291 1066 6918 2362 1338 30291 1066 6918 -3c2f7468696e6b3e203c7c766973696f6e5f73746172747c3e203c7c766973696f6e5f73746172747c3e20776f726c64277320313233343536372063616e277420610d0a62206120200a202062200b0c 13 1032 20 1032 20 4304 1681 1032 1049 1050 1051 1052 1053 1054 1055 1710 2405 1261 1013 1010 1098 1261 1256 1010 1032 1289 1032 1011 1012 -3c7468696e6b3e205b494e53545d203c7c766973696f6e5f73746172747c3e2048656c6c6f20202073706163656420206f75742020203c5350454349414c5f32323e203c5350454349414c5f32323e2074686579276c6c205b494e53545d2049277665203c7c696d5f656e647c3e2063616d656c43617365 12 1032 3 1032 20 45383 1256 44504 1032 1848 1293 22 1032 22 2127 7534 1032 3 1362 6483 1032 11 98537 11139 -656e642e0a0a20332e31343135392048656c6c6f206120200a202062203c7c696d5f656e647c3e20202073706163656420206f7574202020776f726c6427732048656c6c6f20202073706163656420206f75742020203c2f7468696e6b3e20776f726c642773 1474 1338 1032 1051 1046 1049 1052 1049 1053 1057 45383 1261 1256 1010 1032 1289 1032 11 1256 44504 1032 1848 1256 4304 1681 45383 1256 44504 1032 1848 1293 13 4304 1681 -7838365f3634203c7468696e6b3e207838365f3634203c7c696d5f73746172747c3e 1120 1056 1054 1095 1054 1052 1032 12 2460 1056 1054 1095 1054 1052 1032 10 -492776652063616d656c43617365203c5350454349414c5f32323e20610d0a622049277665 1073 6483 98537 11139 1032 22 1261 1013 1010 1098 1362 6483 -6120200a202062200b0c200b0c203132333435363720524f424f54203c7c696d5f73746172747c3e207838365f36342063616e2774 1097 1256 1010 1032 1289 1032 1011 1012 1032 1011 1012 1032 1049 1050 1051 1052 1053 1054 1055 30291 1066 6918 1032 10 2460 1056 1054 1095 1054 1052 1710 2405 -3c7c696d5f656e647c3e203c7468696e6b3e20736e616b655f63617365205b494e53545d2063616e2774207838365f3634 11 1032 12 48726 69982 1032 3 1710 2405 2460 1056 1054 1095 1054 1052 -63616d656c436173652063616e2774203c7c696d5f656e647c3e2048656c6c6f20776f726c64277320332e31343135392063616d656c43617365206120200a202062200b0c204927766520202073706163656420206f7574202020332e3134313539 32587 1299 11139 1710 2405 1032 11 45383 4304 1681 1032 1051 1046 1049 1052 1049 1053 1057 98537 11139 1261 1256 1010 1032 1289 1032 1011 1012 1362 6483 1256 44504 1032 1848 1256 1032 1051 1046 1049 1052 1049 1053 1057 -49277665205b494e53545d20332e313431353920524f424f54203132333435363720776f726c64277320492776652048656c6c6f 1073 6483 1032 3 1032 1051 1046 1049 1052 1049 1053 1057 30291 1066 6918 1032 1049 1050 1051 1052 1053 1054 1055 4304 1681 1362 6483 45383 -63616d656c43617365203c2f7468696e6b3e203132333435363720610d0a6220736e616b655f636173652048656c6c6f203c7c766973696f6e5f73746172747c3e206120200a202062 32587 1299 11139 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 1261 1013 1010 1098 48726 69982 45383 1032 20 1261 1256 1010 1032 1289 -736e616b655f63617365203c7c696d5f656e647c3e206120200a202062203c7c696d5f656e647c3e 44515 2082 69982 1032 11 1261 1256 1010 1032 1289 1032 11 -3c7468696e6b3e2068747470733a2f2f782e6f72672f613f623d6326643d6520524f424f54203c5350454349414c5f32323e203132333435363720736e616b655f63617365 12 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 30291 1066 6918 1032 22 1032 1049 1050 1051 1052 1053 1054 1055 48726 69982 -776f726c642773203c7c766973696f6e5f73746172747c3e203c7c766973696f6e5f73746172747c3e203c2f7468696e6b3e2031323334353637200b0c2068747470733a2f2f782e6f72672f613f623d6326643d65200b0c 34049 1681 1032 20 1032 20 1032 13 1032 1049 1050 1051 1052 1053 1054 1055 1032 1011 1012 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 1032 1011 1012 -776f726c642773203c5350454349414c5f32323e2048656c6c6f20313233343536372048656c6c6f206120200a202062203c7c696d5f656e647c3e203c7c766973696f6e5f73746172747c3e205b494e53545d205b494e53545d 34049 1681 1032 22 45383 1032 1049 1050 1051 1052 1053 1054 1055 45383 1261 1256 1010 1032 1289 1032 11 1032 20 1032 3 1032 3 -610d0a62203c7468696e6b3e203c7468696e6b3e20332e3134313539200b0c2048656c6c6f2063616e2774205b494e53545d2063616e2774203c2f7468696e6b3e20610d0a622048656c6c6f 1097 1013 1010 1098 1032 12 1032 12 1032 1051 1046 1049 1052 1049 1053 1057 1032 1011 1012 45383 1710 2405 1032 3 1710 2405 1032 13 1261 1013 1010 1098 45383 -7838365f36342048656c6c6f2048656c6c6f20736e616b655f6361736520776f726c64277320313233343536372048656c6c6f203c5350454349414c5f32323e203c5350454349414c5f32323e 1120 1056 1054 1095 1054 1052 45383 45383 48726 69982 4304 1681 1032 1049 1050 1051 1052 1053 1054 1055 45383 1032 22 1032 22 -3c7c696d5f656e647c3e203c2f7468696e6b3e203c7c766973696f6e5f73746172747c3e20610d0a62207838365f3634 11 1032 13 1032 20 1261 1013 1010 1098 2460 1056 1054 1095 1054 1052 -48656c6c6f203c7c696d5f656e647c3e206120200a202062207838365f363420610d0a62203c7468696e6b3e203c7c696d5f656e647c3e203c7c696d5f656e647c3e20202073706163656420206f7574202020610d0a62 22177 1032 11 1261 1256 1010 1032 1289 2460 1056 1054 1095 1054 1052 1261 1013 1010 1098 1032 12 1032 11 1032 11 1256 44504 1032 1848 1256 1261 1013 1010 1098 -5b494e53545d2063616d656c4361736520332e3134313539203c7c696d5f656e647c3e20656e642e0a0a20656e642e0a0a203c2f7468696e6b3e20524f424f54203c7c766973696f6e5f73746172747c3e 3 98537 11139 1032 1051 1046 1049 1052 1049 1053 1057 1032 11 2362 1338 2362 1338 1032 13 30291 1066 6918 1032 20 -656e642e0a0a20736e616b655f6361736520776f726c64277320492776652068747470733a2f2f782e6f72672f613f623d6326643d652048656c6c6f20656e642e0a0a2074686579276c6c20656e642e0a0a205b494e53545d 1474 1338 48726 69982 4304 1681 1362 6483 7155 2345 1120 6766 22139 1063 1098 41526 1038 1100 109474 45383 2362 1338 2127 7534 2362 1338 1032 3 diff --git a/tests/data/cosmos3_edge_prompts.tsv b/tests/data/cosmos3_edge_prompts.tsv deleted file mode 100644 index 458e4103..00000000 --- a/tests/data/cosmos3_edge_prompts.tsv +++ /dev/null @@ -1,45 +0,0 @@ -7069636b2075702074686520626c61636b20626f776c206265747765656e2074686520706c61746520616e64207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206265747765656e2074686520706c61746520616e64207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 2396 1278 8783 1321 1278 124056 7533 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c206e65787420746f207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206e65787420746f207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 4275 1317 1278 124056 7533 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c2066726f6d207461626c652063656e74657220616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c2066726f6d207461626c652063656e74657220616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1562 4234 7034 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c206f6e2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 37403 7616 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c20696e2074686520746f7020647261776572206f662074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c20696e2074686520746f7020647261776572206f662074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1294 1278 3977 56143 1307 1278 32656 31962 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c206f6e207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e207468652072616d656b696e20616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 124056 7533 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520636f6f6b696520626f7820616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 4275 1317 1278 37403 7616 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c206f6e207468652073746f766520616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e207468652073746f766520616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 98018 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520706c61746520616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206e65787420746f2074686520706c61746520616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 4275 1317 1278 8783 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626c61636b20626f776c206f6e2074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626c61636b20626f776c206f6e2074686520776f6f64656e20636162696e657420616e6420706c616365206974206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 7244 39922 1408 1278 32656 31962 1321 3535 1494 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520616c70686162657420736f757020616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520616c70686162657420736f757020616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 46198 32998 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520637265616d2063686565736520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520637265616d2063686565736520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 38423 42437 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b207570207468652073616c6164206472657373696e6720616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652073616c6164206472657373696e6720616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 89095 57512 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b207570207468652062627120736175636520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652062627120736175636520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 81718 1113 52812 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b20757020746865206b65746368757020616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b20757020746865206b65746368757020616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 1409 7789 1982 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520746f6d61746f20736175636520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520746f6d61746f20736175636520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 71901 52812 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b207570207468652062757474657220616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652062757474657220616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 34262 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b20757020746865206d696c6b20616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b20757020746865206d696c6b20616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 21842 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b207570207468652063686f636f6c6174652070756464696e6720616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b207570207468652063686f636f6c6174652070756464696e6720616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 43978 25542 26080 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b20757020746865206f72616e6765206a7569636520616e6420706c61636520697420696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b20757020746865206f72616e6765206a7569636520616e6420706c61636520697420696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 32300 50465 1321 3535 1494 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -6f70656e20746865206d6964646c6520647261776572206f662074686520636162696e6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20226f70656e20746865206d6964646c6520647261776572206f662074686520636162696e65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 7439 1278 9949 56143 1307 1278 31962 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7075742074686520626f776c206f6e207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626f776c206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 39922 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -707574207468652077696e6520626f74746c65206f6e20746f70206f662074686520636162696e6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707574207468652077696e6520626f74746c65206f6e20746f70206f662074686520636162696e65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 23592 30465 1408 3977 1307 1278 31962 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -6f70656e2074686520746f702064726177657220616e64207075742074686520626f776c20696e73696465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20226f70656e2074686520746f702064726177657220616e64207075742074686520626f776c20696e736964652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 7439 1278 3977 56143 1321 4283 1278 39922 6625 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7075742074686520626f776c206f6e20746f70206f662074686520636162696e6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626f776c206f6e20746f70206f662074686520636162696e65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 39922 1408 3977 1307 1278 31962 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -707573682074686520706c61746520746f207468652066726f6e74206f66207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707573682074686520706c61746520746f207468652066726f6e74206f66207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 30986 1278 8783 1317 1278 5346 1307 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7075742074686520637265616d2063686565736520696e2074686520626f776c 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520637265616d2063686565736520696e2074686520626f776c2e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 38423 42437 1294 1278 39922 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7475726e206f6e207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227475726e206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1740 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7075742074686520626f776c206f6e2074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626f776c206f6e2074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 39922 1408 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -707574207468652077696e6520626f74746c65206f6e20746865207261636b 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707574207468652077696e6520626f74746c65206f6e20746865207261636b2e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 23592 30465 1408 1278 57164 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -70757420626f74682074686520616c70686162657420736f757020616e642074686520746f6d61746f20736175636520696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f74682074686520616c70686162657420736f757020616e642074686520746f6d61746f20736175636520696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1278 46198 32998 1321 1278 71901 52812 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -70757420626f74682074686520637265616d2063686565736520626f7820616e64207468652062757474657220696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f74682074686520637265616d2063686565736520626f7820616e64207468652062757474657220696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1278 38423 42437 7616 1321 1278 34262 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7475726e206f6e207468652073746f766520616e642070757420746865206d6f6b6120706f74206f6e206974 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227475726e206f6e207468652073746f766520616e642070757420746865206d6f6b6120706f74206f6e2069742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1740 1408 1278 98018 1321 4283 1278 1283 16944 3418 1408 1494 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7075742074686520626c61636b20626f776c20696e2074686520626f74746f6d20647261776572206f662074686520636162696e657420616e6420636c6f7365206974 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227075742074686520626c61636b20626f776c20696e2074686520626f74746f6d20647261776572206f662074686520636162696e657420616e6420636c6f73652069742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 7244 39922 1294 1278 9478 56143 1307 1278 31962 1321 6231 1494 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -70757420746865207768697465206d7567206f6e20746865206c65667420706c61746520616e6420707574207468652079656c6c6f7720616e64207768697465206d7567206f6e2074686520726967687420706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420746865207768697465206d7567206f6e20746865206c65667420706c61746520616e6420707574207468652079656c6c6f7720616e64207768697465206d7567206f6e2074686520726967687420706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 7496 50088 1408 1278 3979 8783 1321 4283 1278 19502 1321 7496 50088 1408 1278 3169 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -7069636b2075702074686520626f6f6b20616e6420706c61636520697420696e20746865206261636b20636f6d706172746d656e74206f6620746865206361646479 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20227069636b2075702074686520626f6f6b20616e6420706c61636520697420696e20746865206261636b20636f6d706172746d656e74206f66207468652063616464792e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 88307 2015 1278 4978 1321 3535 1494 1294 1278 2595 39683 1307 1278 1272 36778 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -70757420746865207768697465206d7567206f6e2074686520706c61746520616e6420707574207468652063686f636f6c6174652070756464696e6720746f20746865207269676874206f662074686520706c617465 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420746865207768697465206d7567206f6e2074686520706c61746520616e6420707574207468652063686f636f6c6174652070756464696e6720746f20746865207269676874206f662074686520706c6174652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 7496 50088 1408 1278 8783 1321 4283 1278 43978 25542 26080 1317 1278 3169 1307 1278 8783 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -70757420626f74682074686520616c70686162657420736f757020616e642074686520637265616d2063686565736520626f7820696e20746865206261736b6574 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f74682074686520616c70686162657420736f757020616e642074686520637265616d2063686565736520626f7820696e20746865206261736b65742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1278 46198 32998 1321 1278 38423 42437 7616 1294 1278 24302 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -70757420626f7468206d6f6b6120706f7473206f6e207468652073746f7665 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a202270757420626f7468206d6f6b6120706f7473206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 2960 1283 16944 80269 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -707574207468652079656c6c6f7720616e64207768697465206d756720696e20746865206d6963726f7761766520616e6420636c6f7365206974 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022707574207468652079656c6c6f7720616e64207768697465206d756720696e20746865206d6963726f7761766520616e6420636c6f73652069742e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 1946 1278 19502 1321 7496 50088 1294 1278 57918 1321 6231 1494 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 - 1010 10 25708 1010 11 1010 10 3263 1010 11 1010 10 1503 19464 1010 12 1010 11 20 -20205475726e206f6e207468652073746f76652020 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20225475726e206f6e207468652073746f76652e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 33566 1408 1278 98018 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -6f70656e207468652064726177657221 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a20226f70656e207468652064726177657221222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 7439 1278 56143 54221 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -776861743f 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022776861743f222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 13394 67340 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 -736179202268692220616e6409676f 7b2263696e656d61746f677261706879223a207b226672616d696e67223a20225468697320766964656f20636f6e7461696e7320636f6e636174656e617465642076696577732066726f6d206d756c7469706c652063616d657261207065727370656374697665732e20546865206c6566742068616c662073686f7773207468652074686972642d706572736f6e20766965773b207468652072696768742068616c662073686f7773207468652077726973742d6d6f756e7465642063616d6572612e227d2c2022616374696f6e73223a205b7b2274696d65223a2022303a30302d303a3031222c20226465736372697074696f6e223a2022736179205c2268695c2220616e645c74676f2e222c202269646c655f6672616d65223a202230206f7574206f662031362e227d5d2c20226475726174696f6e223a20223073222c2022667073223a2032302e302c20227265736f6c7574696f6e223a207b2248223a203139322c202257223a203332307d2c20226173706563745f726174696f223a202231362c39227d 1010 10 25708 1010 11 1010 10 3263 1010 19227 9096 24451 7393 2811 16753 1102 5463 1302 2811 1429 4380 7476 8688 56421 1621 14028 1562 6245 13424 41935 1046 1531 3979 6420 6122 1278 5888 50177 3719 1059 1278 3169 6420 6122 1278 37557 114675 13424 2613 4179 1429 6745 2811 1766 19227 7647 2811 1429 1048 1058 1048 1048 1045 1048 1058 1048 1049 1897 1429 14653 2811 1429 58324 25994 8101 17931 1321 16049 2762 39249 1429 1327 1282 30775 2811 1429 1048 1848 1307 1032 1049 1054 2613 1125 3605 1429 57689 2811 1429 1048 1115 1897 1429 1102 1822 2811 1032 1050 1048 1046 1048 1044 1429 1770 13722 2811 16753 1072 2811 1032 1049 1057 1050 1044 1429 1087 2811 1032 1051 1050 1048 4179 1429 1288 2117 73871 2811 1429 1049 1054 1044 1057 46005 11 1010 10 1503 19464 1010 12 1010 11 20 diff --git a/tests/data/cosmos3_edge_rot6d.tsv b/tests/data/cosmos3_edge_rot6d.tsv deleted file mode 100644 index 5e019641..00000000 --- a/tests/data/cosmos3_edge_rot6d.tsv +++ /dev/null @@ -1,62 +0,0 @@ --0.169895262 0.111934401 -0.267598599 -0.800884783 -0.295424461 -0.209627002 0.0660394132 -0.619221032 0.620354652 0.536814094 -0.169895262 0.111934401 -0.267598599 0.521017611 -1.07724488 -2.65711784 -0.0736281872 --0.312099755 -0.144585446 0.338791966 -0.865834475 0.475237966 -1.2223469 1.06824374 -0.542136014 -0.970698476 -0.10870786 -0.312099755 -0.144585446 0.338791966 1.30344665 1.59066737 -1.98227775 1 --0.250532627 0.295662999 -0.00156815501 -0.205100149 0.144762486 -1.19353926 0.790333807 -0.776238203 -0.421709865 0.602130771 -0.250532627 0.295662999 -0.00156815501 1.67662239 1.01605022 -1.95419717 -0.204261541 --0.113693617 -0.140070751 -0.138264716 -0.280516326 0.208788663 0.162419617 -0.312640905 0.0806118995 0.17121321 -0.175102323 -0.113693617 -0.140070751 -0.138264716 0.515816569 0.261108547 1.91732109 1 --0.0535554253 -0.178767934 0.0821609274 -0.306145847 0.539389253 -0.516199529 -0.611593485 0.138798937 0.507756174 0.0921061486 -0.0535554253 -0.178767934 0.0821609274 -0.100286454 1.24407661 1.51621115 0.815787673 --0.069526881 -0.21158196 0.138696834 -0.575929761 0.704846203 0.934414566 -1.16253924 -0.273702383 -0.500541389 1.12698495 -0.069526881 -0.21158196 0.138696834 0.538705349 -0.981390238 1.82075787 -1 -0.182634071 -0.166798934 0.164311349 -0.765226841 0.348963618 0.252095878 -0.167730182 -0.56182462 0.558868229 0.107172236 0.182634071 -0.166798934 0.164311349 0.574921072 0.962677419 2.57825089 0.785655499 --0.0350345001 -0.100764632 -0.336678267 0.288256317 -0.356371403 -0.470248908 0.271615654 -0.580543339 -0.107281722 0.392092168 -0.0350345001 -0.100764632 -0.336678267 2.2221384 0.120321281 -1.59628654 0.215815663 --0.581490397 -0.383980155 -0.404470593 -0.508368909 -0.42192167 0.063488856 0.313016742 -0.435911059 -0.390499324 0.374041617 -0.581490397 -0.383980155 -0.404470593 -0.391918212 0.7314924 -2.37395692 0.251916766 --0.058651682 0.346404165 -0.00281683472 -0.00615475513 -0.665879667 -0.05959557 0.682565391 -0.0119202454 -0.0277476702 0.835879266 -0.058651682 0.346404165 -0.00281683472 0.039144028 0.101393364 -1.5828532 -0.671758533 -0.24090293 0.82953006 -0.0533450395 -0.51598382 -0.383444399 0.44598943 0.630645812 -0.27117002 0.505130053 0.00290884078 0.24090293 0.82953006 -0.0533450395 -0.366111219 -1.11933005 -2.03412962 0.994182348 --0.262781888 0.107393786 -0.130896077 -0.121424288 1.09618497 -0.120178483 -1.31327748 0.121800959 -0.226243779 0.0316416472 -0.262781888 0.107393786 -0.130896077 -0.198120907 -0.0561489984 1.56552637 0.936716676 --0.00804871321 0.0277809184 -0.176929176 -0.609744251 -0.435647339 -0.31534493 -0.112546682 -0.362807542 0.718834579 0.293154657 -0.00804871321 0.0277809184 -0.176929176 0.960785031 -1.48655295 -2.28121018 0.413690686 -0.340582967 0.0809331089 -0.0701584071 -0.543968856 1.11514831 -1.12858415 -1.46482551 0.0693133324 0.777396977 1.07558072 0.340582967 0.0809331089 -0.0701584071 -0.287197918 1.04647195 1.60016203 -1 --0.380901664 -0.458749413 -0.321130097 -0.0706853867 0.777591527 -0.285387874 -0.645119011 -0.138984799 -0.0489208549 0.641492307 -0.380901664 -0.458749413 -0.321130097 -0.373913974 0.182453066 1.69888759 -0.282984614 -0.0506933779 -0.510538638 -0.123266257 -0.645497322 0.926559091 1.001966 0.716074586 -0.535680711 0.411149025 -0.182976589 0.0506933779 -0.510538638 -0.123266257 -1.75860584 -1.62491369 -1.88943434 1 --0.0789985061 -0.103988774 0.714094698 -0.228464857 -0.284123749 0.737117529 0.545635283 -0.611641705 -0.066642642 0.574349344 -0.0789985061 -0.103988774 0.714094698 -1.3325913 -0.411395609 -2.05828547 -0.148698688 --0.227913186 0.386746585 0.0843975395 -0.0582125001 0.340621412 0.622386694 -0.3549456 -0.561874211 0.268385231 0.743736863 -0.227913186 0.386746585 0.0843975395 1.54611206 -0.0219879281 1.92515755 -0.487473726 -0.0984758809 0.330186605 0.2664271 -0.779345632 0.0950958952 0.385456026 -0.100950286 -0.770114422 -0.00563491881 1.05499041 0.0984758809 0.330186605 0.2664271 0.682038426 -0.0560947098 2.94016719 -1 -0.00338755781 -0.401611656 0.131016895 -0.519956946 -0.814333797 -0.137397155 0.103106141 -0.704899907 0.0209004357 -0.171783313 0.00338755781 -0.401611656 0.131016895 0.312479973 -0.0932386667 -2.48749089 1 -0.381503731 0.220525637 -0.434919208 -0.502228796 -0.964052022 0.182789922 -0.129865274 -0.1382294 -1.08585 1.19321442 0.381503731 0.220525637 -0.434919208 -1.11980557 1.55278563 -1.64003909 -1 --0.503076613 0.254487485 -0.258611977 -0.662482023 0.43820861 -0.472971201 -0.614377856 -0.359015703 0.567963064 0.178076223 -0.503076613 0.254487485 -0.258611977 -0.322858572 1.10872698 2.13466501 0.643847585 -0.0107850563 -0.0968153775 -0.0749316067 -0.34086889 -0.956919551 0.0619860031 0.932893455 -0.252880156 0.0988536328 0.733485818 0.0107850563 -0.0968153775 -0.0749316067 0.0111862822 -0.142400876 -1.87252188 -0.466971636 --0.161158815 0.439651191 0.161513314 -0.755494714 0.305499077 0.125068381 -0.510340393 -0.133168131 -0.645509005 0.928875983 -0.161158815 0.439651191 0.161513314 0.0355535857 -1.46290064 2.11764479 -0.857751966 -0.159908727 -0.14913027 0.498927295 -0.447493374 -0.249129489 -0.480707049 0.507362783 0.0247687474 -0.485143989 0.857610643 0.159908727 -0.14913027 0.498927295 0.388153434 1.51891673 -1.71570218 -0.715221286 -0.232229337 0.364070326 -0.252591491 -0.0566301569 0.841436386 0.433230847 -0.596303344 0.300824255 -0.667965055 0.0177835971 0.232229337 0.364070326 -0.252591491 -0.315531224 -1.03191936 1.27559161 0.964432836 -0.0209897459 -0.167640164 0.00764881587 -0.265909493 -1.34748936 -0.801297784 0.854237795 -0.523322165 0.638501346 -0.115251489 0.0209897459 -0.167640164 0.00764881587 0.932806373 -0.205894083 -1.81746829 1 --0.183175787 -0.187364593 -0.29419139 -0.74206984 0.419429779 0.401882559 -0.450224638 -0.576085091 -0.497990698 0.954886615 -0.183175787 -0.187364593 -0.29419139 0.316977322 -0.906511486 2.40641809 -0.909773231 -0.0427344292 0.308795273 -0.709824979 -0.591960371 0.933019698 -0.348279297 -0.0115505233 -0.411563993 -1.08292353 0.630876422 0.0427344292 0.308795273 -0.709824979 -1.08243036 -1.31488574 1.9179796 -0.261752844 --0.289139122 0.649502456 0.363993198 -0.334248275 0.0628346354 -0.741315603 0.725207865 -0.0978605226 -0.335182697 0.100246355 -0.289139122 0.649502456 0.363993198 1.11566067 1.49183536 -1.60396659 0.79950726 --0.053558629 -0.275327981 -0.410909891 -0.580382288 -1.28578186 0.441353619 0.438702404 -0.482616365 -1.01131213 0.188507393 -0.053558629 -0.275327981 -0.410909891 -0.945055425 0.879680157 -1.90421915 0.622985244 --0.0856488273 -0.04607087 0.269617915 -0.169352084 -0.809311569 -0.231859475 1.81243908 -0.76143539 -0.756866038 0.184160247 -0.0856488273 -0.04607087 0.269617915 -0.0310476068 0.483359814 -1.89506412 0.631679535 -0.396259248 0.0298984405 0.499410838 -0.867290318 -0.404110551 -0.516397536 0.650305152 -0.639917195 -0.591416538 0.312130988 0.396259248 0.0298984405 0.499410838 0.422815859 0.966041088 -2.35633945 0.375738025 -0.664738119 -0.0441827737 -0.197857767 -0.338523626 -0.238905713 -0.91690588 0.0521759018 -0.974387527 0.250983745 0.960395515 0.664738119 -0.0441827737 -0.197857767 1.69153082 -0.255102009 -2.41628957 -0.92079103 --0.202596799 -0.0164965708 -0.27252993 -0.962705851 -0.96583879 0.403201967 0.963470578 -1.00772107 -0.592786789 0.831920683 -0.202596799 -0.0164965708 -0.27252993 -0.516148329 0.332222253 -2.30928373 -0.663841367 -0.160268098 -0.139096528 -0.168917477 0.038626343 0.059460789 0.0714895427 -0.352359086 -0.738624096 0.193369612 0.763601065 0.160268098 -0.139096528 -0.168917477 2.01720238 -0.182667688 1.69390607 -0.527202129 --0.192309424 -0.278155833 0.578323662 -0.766044438 -0.483502746 0.490769565 0.0291345716 -0.756002307 -0.699331939 0.376594782 -0.192309424 -0.278155833 0.578323662 -0.947298586 0.968466341 -2.51317334 0.246810436 --0.349709988 0.246149048 0.123015098 -0.613117516 -0.352789462 0.336495936 -0.348344147 -0.102231324 -0.705717802 1.0188545 -0.349709988 0.246149048 0.123015098 -1.0409174 2.06980014 -2.10214925 -1 -0.115839228 -0.20128873 -0.0253508482 -0.866608441 0.28590402 -0.121368706 0.00333972368 -0.000849157572 -0.90557754 0.327536047 0.115839228 -0.20128873 -0.0253508482 -0.404966742 -2.06573105 2.08806229 0.344927907 --0.0668038055 0.428242534 -0.000483990414 -1.19169843 0.343685448 -0.0482917354 0.065738827 -0.684878349 1.12852192 -0.0873717591 -0.0668038055 0.428242534 -0.000483990414 0.246766061 1.47993517 2.57504082 1 --0.687209308 0.498428077 0.36433515 -0.205943853 -0.440658182 -0.511520147 0.674862206 -0.118644059 -0.169499397 0.133421496 -0.687209308 0.498428077 0.36433515 0.569430888 0.819960475 -1.72140729 0.733157039 --0.281350315 0.641547501 -0.00580608519 -0.189429656 -0.0464696065 -0.0538195632 -0.0349046029 -0.049207408 0.167017549 1.07982349 -0.281350315 0.641547501 -0.00580608519 0.555421948 -1.87575388 -2.43173099 -1 -0.0791753009 -0.421229452 0.520981789 -0.61004895 -0.308088154 0.393288672 -0.126696393 -0.770358264 -0.598761737 -0.125148743 0.0791753009 -0.421229452 0.520981789 -0.996679962 1.00032461 -2.64371037 1 -0.277045995 0.19219847 -0.131500661 -1.32466245 -0.790111184 -0.821508646 0.237963974 -0.180682123 -0.588414371 0.629876375 0.277045995 0.19219847 -0.131500661 0.106622107 1.45814788 -2.03146863 -0.25975275 --0.0369389914 0.199264094 0.543379128 -0.17166993 0.81032908 0.044692032 -0.287633985 -0.018035436 -0.777844846 0.125522032 -0.0369389914 0.199264094 0.543379128 -0.820425332 -1.09627652 1.49790263 0.748955965 --0.3986305 0.0172778051 0.193241879 -0.462802202 -0.828897417 0.271052539 0.413673878 0.0638988987 0.882659674 0.867327273 -0.3986305 0.0172778051 0.193241879 0.46350956 -1.33976507 -1.60439932 -0.734654546 --0.291484118 -0.0581971519 0.0988867283 -0.350366443 0.882352054 -0.487408698 -0.358630955 -0.54952091 -0.705888867 0.695505738 -0.291484118 -0.0581971519 0.0988867283 -1.09302962 -0.663847923 1.96690345 -0.391011477 --0.557819545 0.0116661778 0.421052247 -0.175263792 0.0354794636 -0.217599809 -0.569867134 -0.425119936 0.366833091 0.324621916 -0.557819545 0.0116661778 0.421052247 -0.956831753 1.09680009 2.16463947 0.350756168 --0.42940411 -0.0244985521 0.0737751573 -0.145932302 0.946348965 0.645973682 -0.663661003 -0.600648761 0.730019987 1.05382144 -0.42940411 -0.0244985521 0.0737751573 1.13356602 0.323635876 1.80887187 -1 -0.200446457 -0.438606948 -0.175723463 -1.17369115 -0.106691167 0.466896385 -0.464665949 -0.114611007 -1.17070913 0.0534302741 0.200446457 -0.438606948 -0.175723463 0.496939749 -1.97558069 2.12859702 0.893139482 -0.0976596102 0.143493116 0.11158672 -1.15881705 -0.87482661 -0.321031809 0.23285456 -1.17231679 1.25548589 -0.192788884 0.0976596102 0.143493116 0.11158672 0.676459849 -1.02261662 -2.43027139 1 -0.353494316 0.0630261824 0.148755401 -0.730562508 1.09935439 -0.444689482 -1.05348492 -0.298038542 -0.796370864 0.196474269 0.353494316 0.0630261824 0.148755401 -0.594834268 -0.466176212 1.95629919 0.607051492 --0.317491889 -0.0913549364 0.180778787 -0.705325305 -0.0492815748 -0.496165454 -0.238845438 -0.721107841 0.411155224 0.0290386081 -0.317491889 -0.0913549364 0.180778787 -0.898249149 0.850392222 2.75618935 0.941922784 -0.170825928 -0.0926018804 0.0712499171 -0.141215026 0.998543024 0.978741467 -1.37420976 -0.210807845 0.0346356109 1.09102166 0.170825928 -0.0926018804 0.0712499171 0.67565918 -0.547307909 1.62251651 -1 --0.169226944 0.227557063 -0.0419211015 -1.29820108 -0.00330010056 0.481328249 -0.271675944 -1.12488604 -0.90414834 0.625699162 -0.169226944 0.227557063 -0.0419211015 0.496428996 -1.02948737 2.81866741 -0.251398325 -0.117625855 -0.197607353 0.286222905 -0.698357999 0.740970492 -0.389615417 0.314885497 -0.135008812 -0.498352647 -0.0708396733 0.117625855 -0.197607353 0.286222905 -1.28342104 -1.92982566 1.84399831 1 --0.378071725 -0.00817213114 -0.164654672 -0.810808778 -0.633488536 0.440826654 0.771517813 -0.681793988 0.439276546 0.620426416 -0.378071725 -0.00817213114 -0.164654672 -0.299251974 -0.689328074 -2.30090213 -0.240852833 -0.0331322588 -0.152289242 -0.274938703 -0.498268098 0.457664996 -0.834459007 0.191299841 -0.869114637 -0.599149048 0.0273553282 0.0331322588 -0.152289242 -0.274938703 -1.53270578 -0.890057445 2.40363193 0.945289373 -0.400106043 -0.0244123358 -0.0358085036 -0.328416437 -0.813703656 0.319978118 0.851454973 0.135094076 0.737063885 0.220913991 0.400106043 -0.0244123358 -0.0358085036 0.184492365 -1.00007355 -1.58412135 0.558171988 --0.31317836 0.0432074033 0.619534791 -0.406460166 -0.594392478 0.385047376 -0.606948972 -0.469277143 -0.338222325 0.0432311147 -0.31317836 0.0432074033 0.619534791 1.83509099 -1.73073769 1.84226775 0.913537741 -0.100000001 -0.200000003 0.300000012 1 0 0 0 1 0 1 0.100000001 -0.200000003 0.300000012 0 0 0 -1 -0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 diff --git a/tests/py/test_converters.py b/tests/py/test_converters.py index b437cce8..4c7febd4 100644 --- a/tests/py/test_converters.py +++ b/tests/py/test_converters.py @@ -387,107 +387,6 @@ def __getitem__(self, key): assert "model.encoder.norm.weight" not in tensors.keys_read -def _cosmos3_edge_config(**over): - cfg = { - "type": "cosmos3_edge", - "input_features": { - "observation.images.image": {"type": "VISUAL", "shape": [3, 256, 256]}, - "observation.images.image2": {"type": "VISUAL", "shape": [3, 256, 256]}, - "observation.state": {"type": "STATE", "shape": [8]}, - }, - "view_size": [256, 256], - "vae": {"scale_factor_spatial": 16, "patch_size": 2, "is_residual": True}, - "mot_backbone": {"text_config": {"hidden_act": "relu2", "joint_attn_implementation": "two_way", - "rope_parameters": {"rope_type": "default"}}}, - "mode": "wam", "use_state": False, "guidance_scale": 1.0, "n_obs_steps": 1, "sampler": "unipc", - "latent_patch_size": 2, - } - cfg.update(over) - return cfg - - -def test_cosmos3_edge_converter_canvas_layout(): - """canvas_layout follows lerobot's Cosmos3VideoCanvasProcessorStep: two 256x256 views side by side pick the - 16:9 canvas of the 256 tier, fit without enlarging (160x320 of 192x320), latent grid 10x20.""" - _stub_deps() - sys.path.insert(0, str(SCRIPTS)) - import convert_cosmos3_edge_to_gguf as c - - lay = c.canvas_layout(_cosmos3_edge_config()) - assert (lay["n_views"], lay["view_h"], lay["view_w"]) == (2, 256, 256) - assert (lay["canvas_h"], lay["canvas_w"], lay["content_h"], lay["content_w"]) == (192, 320, 160, 320) - assert (lay["latent_h"], lay["latent_w"], lay["aspect_ratio"]) == (10, 20, "16,9") - assert lay["cameras"] == ["observation.images.image", "observation.images.image2"] - - # One square view fills the square canvas as it is. - one = _cosmos3_edge_config(input_features={"observation.images.image": {"type": "VISUAL", "shape": [3, 256, 256]}}) - lay1 = c.canvas_layout(one) - assert (lay1["canvas_h"], lay1["canvas_w"], lay1["content_h"], lay1["content_w"]) == (256, 256, 256, 256) - assert (lay1["latent_h"], lay1["latent_w"], lay1["aspect_ratio"]) == (16, 16, "1,1") - - c.check_config(_cosmos3_edge_config()) - for bad in ( - _cosmos3_edge_config(type="cosmos3_nano"), - _cosmos3_edge_config(mode="forward_dynamics"), - _cosmos3_edge_config(use_state=True), - _cosmos3_edge_config(guidance_scale=3.0), - _cosmos3_edge_config(sampler="euler"), - ): - try: - c.check_config(bad) - except SystemExit: - continue - raise AssertionError("a config the engine is not written for was accepted") - - -def test_cosmos3_edge_converter_tokenizer(tmp_path): - """add_tokenizer takes the specials of tokenizer_config.json as strings, AddedToken dicts or null, and skips - one that is not a token, instead of indexing the vocabulary with them.""" - _stub_deps() - sys.path.insert(0, str(SCRIPTS)) - import json - import convert_cosmos3_edge_to_gguf as c - - vocab = {"a": 0, "b": 1, "": 2, "<|im_end|>": 3, "ab": 4} - (tmp_path / "tokenizer.json").write_text(json.dumps({ - "model": {"type": "BPE", "ignore_merges": True, "vocab": vocab, "merges": [["a", "b"]]}, - "added_tokens": [{"id": 2, "content": "", "special": True}, {"id": 3, "content": "<|im_end|>", "special": False}], - })) - (tmp_path / "tokenizer_config.json").write_text(json.dumps({ - "unk_token": None, # a byte-level BPE needs none - "bos_token": {"content": "", "special": True}, # an AddedToken dict - "eos_token": "<|im_end|>", - "pad_token": "", # not a token of this vocabulary - })) - - class W: - def __init__(self): self.kv = {} - def add_string(self, k, v): self.kv[k] = v - def add_uint32(self, k, v): self.kv[k] = v - def add_bool(self, k, v): self.kv[k] = v - def add_array(self, k, v): self.kv[k] = list(v) - - w = W() - c.add_tokenizer(w, tmp_path) - assert w.kv["tokenizer.ggml.tokens"] == ["a", "b", "", "<|im_end|>", "ab"] - assert w.kv["tokenizer.ggml.token_type"] == [1, 1, 3, 4, 1] # no unknown token marked - assert w.kv["tokenizer.ggml.merges"] == ["a b"] - assert w.kv["tokenizer.ggml.bos_token_id"] == 2 and w.kv["tokenizer.ggml.eos_token_id"] == 3 - assert "tokenizer.ggml.unknown_token_id" not in w.kv and "tokenizer.ggml.padding_token_id" not in w.kv - - # An added token outside the vocabulary has no byte-level spelling for the C++ to read: refused by name. - (tmp_path / "tokenizer.json").write_text(json.dumps({ - "model": {"type": "BPE", "ignore_merges": True, "vocab": vocab, "merges": []}, - "added_tokens": [{"id": 5, "content": "", "special": True}], - })) - try: - c.add_tokenizer(W(), tmp_path) - except SystemExit as e: - assert "" in str(e) - else: - raise AssertionError("an added token outside the vocabulary was accepted") - - def test_quantize_skip_names(): import importlib Q = importlib.import_module("quantize_gguf") From 2c01050cee1d9ec42ca127803546eb136e382758 Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 17:53:59 +0700 Subject: [PATCH 14/17] cosmos3_policy: rename the arch from cosmos3_edge (files, identifiers, GGUF keys, client preset, docs) --- CHANGELOG.md | 12 +- CMakeLists.txt | 2 +- CONTRIBUTING.md | 2 +- README.md | 2 +- docs/MODELS.md | 32 +++--- eval/client/run_sim_client_direct.py | 2 +- eval/client/vla_cpp_client.py | 76 ++++++------- eval/run_libero.sh | 50 ++++----- ...f.py => convert_cosmos3_policy_to_gguf.py} | 10 +- src/arch.h | 6 +- src/model.cpp | 12 +- .../{cosmos3_edge.cpp => cosmos3_policy.cpp} | 104 +++++++++--------- .../{cosmos3_edge.h => cosmos3_policy.h} | 4 +- src/serving/vla-cli.cpp | 14 +-- src/tokenizer.cpp | 10 +- 15 files changed, 169 insertions(+), 169 deletions(-) rename scripts/{convert_cosmos3_edge_to_gguf.py => convert_cosmos3_policy_to_gguf.py} (98%) rename src/models/{cosmos3_edge.cpp => cosmos3_policy.cpp} (95%) rename src/models/{cosmos3_edge.h => cosmos3_policy.h} (96%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92d089ec..3033c555 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,23 +6,23 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke ### Added -- **New model: Cosmos3-Edge** (`lerobot/Cosmos3-Edge-Policy-LIBERO`, a world-action model: a 28-layer +- **New model: Cosmos3 Policy** (`lerobot/Cosmos3-Edge-Policy-LIBERO`, a world-action model: a 28-layer Mixture-of-Transformers denoises 4 latent video frames and a 16-step action chunk together, 30 UniPC - steps). `src/models/cosmos3_edge.cpp` writes the Wan2.2 VAE encoder and the two-stream Nemotron 3 backbone + steps). `src/models/cosmos3_policy.cpp` writes the Wan2.2 VAE encoder and the two-stream Nemotron 3 backbone as ggml graphs after lerobot's `policies/cosmos3`, runs the UniPC solver on the host, and composes the canvas the model expects (two views side by side, bicubic with antialias, reflection padding). The same file builds the prompt from the instruction (JSON caption, chat template, a byte-level BPE read from the GGUF; ASCII text only) and decodes rot6d to LIBERO commands, so - `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_edge_to_gguf.py` reads the checkpoint's + `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_policy_to_gguf.py` reads the checkpoint's safetensors (encoder, both streams, the LIBERO domain's action projections, statistics, tokenizer). Against lerobot's policy in bf16 on the same inputs the chunk agrees to 2.2e-3 (CUDA) and 2.6e-3 (CPU) on one prompt and 1.8e-2 on another, within what the bf16 reference's own rounding allows. Captions, token ids and the action decode match lerobot and Hugging Face on every LIBERO task. `vla-server` - serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset (tokens from the caption + serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_policy` preset (tokens from the caption and chat template, with the caption settings read from the server's GGUF through `--gguf`, rot6d decoded to LIBERO commands); a request to the server returned the same bits as a - direct call (CPU), and `eval/run_libero.sh -m cosmos3_edge` solved a libero_spatial episode through it (CPU, one - episode). Only CPU and CUDA were tried, the server on CPU only. See `docs/MODELS.md#cosmos3-edge-world-action-model` for the build, the input contract + direct call (CPU), and `eval/run_libero.sh -m cosmos3_policy` solved a libero_spatial episode through it (CPU, one + episode). Only CPU and CUDA were tried, the server on CPU only. See `docs/MODELS.md#cosmos3-policy-world-action-model` for the build, the input contract and what is and is not checked. - **Hexagon NPU on the Qualcomm Dragonwing IQ-10 (Linux).** `scripts/build_linux_hexagon.sh` cross-builds vla.cpp with `GGML_HEXAGON=ON` diff --git a/CMakeLists.txt b/CMakeLists.txt index a4977369..9310d400 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -259,7 +259,7 @@ add_library(vla_core ${VLA_CORE_LIB_TYPE} src/models/turbovla.cpp src/models/act.cpp src/models/octo.cpp - src/models/cosmos3_edge.cpp + src/models/cosmos3_policy.cpp src/tokenizer.cpp ) target_include_directories(vla_core diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f6ae2e7e..d46e00cc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,7 @@ case say so in the commit message and back it with a LIBERO sweep. `VLA_IMG_SIZE` must match the model or `predict` returns empty: 512 for SmolVLA, 448 for Evo-1, 256 for GR00T N1.7 and VLA-JEPA, 256 with 2 views for -TurboVLA and Cosmos3-Edge, 224 for the rest. Other knobs: `VLA_BENCH_ITERS` (timing), +TurboVLA and Cosmos3 Policy, 224 for the rest. Other knobs: `VLA_BENCH_ITERS` (timing), `VLA_TIMING=phase`, `VLA_EXTRA_TOKEN` / `VLA_EXTRA_COUNT` (VLA-JEPA needs its `` tokens; Octo needs exactly 16 tokens, so `VLA_EXTRA_TOKEN=0 VLA_EXTRA_COUNT=10`), `VLA_OCTO_UNNORM_DATASET` (Octo, e.g. diff --git a/README.md b/README.md index 2d1c5d5e..6e81dc34 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ Use [ggml-compiler](https://github.com/khanhnd61-vr/ggml-compiler) and follow [t | [Octo-Small](https://hf.co/vrfai/octo-small-libero-gguf) | Y | Y | Y | Y | Y | - | Y | | [TurboVLA](https://hf.co/vrfai/turbovla-libero-gguf) | Y | Y | Y | Y | Y | Y | Y | | [ACT](https://hf.co/ravediamond/act-aloha-sim-transfer-cube-gguf) | Y | Y | Y | ~ | Y | ~ | ~ | -| [Cosmos3-Edge](docs/MODELS.md#cosmos3-edge-world-action-model) (WAM) | ~ | ~ | - | - | - | - | - | +| [Cosmos3 Policy](docs/MODELS.md#cosmos3-policy-world-action-model) (WAM) | ~ | ~ | - | - | - | - | - | Legend: `Y` = supported (released and benchmarked), `~` = in progress, `-` = planned. diff --git a/docs/MODELS.md b/docs/MODELS.md index 748fd1de..a5fa2a1e 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -70,12 +70,12 @@ python scripts/inspect_gguf_quant.py model-fq.gguf ./build/vla-bench --ckpt model-fq.gguf --images 1 --size 256 --tokens 16 ``` -## Cosmos3-Edge (world-action model) +## Cosmos3 Policy (world-action model) -Cosmos3-Edge (`lerobot/Cosmos3-Edge-Policy-LIBERO`) is a world-action model: a 28-layer Mixture-of-Transformers +Cosmos3 Policy (`lerobot/Cosmos3-Edge-Policy-LIBERO`) is a world-action model: a 28-layer Mixture-of-Transformers backbone (Nemotron 3 Dense, an understanding stream over the prompt and a generation stream over `[video patches | actions]`) denoises 4 latent video frames and a 16-step action chunk together, conditioned -on the Wan2.2 VAE latent of the current frame, with 30 UniPC steps. `src/models/cosmos3_edge.cpp` follows +on the Wan2.2 VAE latent of the current frame, with 30 UniPC steps. `src/models/cosmos3_policy.cpp` follows lerobot's `policies/cosmos3/modeling_cosmos3.py`: the VAE encoder and the backbone are ggml graphs (the understanding stream runs once, its keys and values are kept for the 30 steps), the UniPC solver (diffusers' `UniPCMultistepScheduler`, flow prediction, order 2, corrector) runs on the host in f32 as the @@ -85,8 +85,8 @@ reference does. Convert from the checkpoint directory: # the VAE encoder (one frame: the 3-D kernels' last temporal tap), the 28 layers of both streams, the # projections of domain 5 (LIBERO), the latent statistics, the action quantiles, the canvas layout, the caption # settings and the tokenizer. The decoder, the SigLIP tower and the language head stay out. -python scripts/convert_cosmos3_edge_to_gguf.py --ckpt --out cosmos3-edge-libero-bf16.gguf -./build/vla-cli --ckpt cosmos3-edge-libero-bf16.gguf --image third_person.png --image wrist.png \ +python scripts/convert_cosmos3_policy_to_gguf.py --ckpt --out cosmos3-policy-libero-bf16.gguf +./build/vla-cli --ckpt cosmos3-policy-libero-bf16.gguf --image third_person.png --image wrist.png \ --text "turn on the stove" --libero --pretty ``` @@ -107,25 +107,25 @@ setup: mode `wam`, no robot state, no classifier-free guidance, one or two camer the converter refuses a config that differs. **Serving.** `vla-server` needs no change for this model: it hands the images, token ids and noise of a request to -`predict()` whatever the architecture is, and Cosmos3-Edge fits its checks (no state, a 16x10 noise, a 16x10 +`predict()` whatever the architecture is, and Cosmos3 Policy fits its checks (no state, a 16x10 noise, a 16x10 response; the start-up warm-up of two 224x224 views and 32 made-up tokens runs). The server has no text field, so -the client sends token ids. `eval/client/vla_cpp_client.py` has a `cosmos3_edge` preset that builds them (the caption +the client sends token ids. `eval/client/vla_cpp_client.py` has a `cosmos3_policy` preset that builds them (the caption and chat template of lerobot's prompt step, with the policy's tokenizer, and the caption settings read from the -server's GGUF with `--gguf`, the same `cosmos3_edge.caption.*` keys `vla-cli --text` uses; without `--gguf` it assumes +server's GGUF with `--gguf`, the same `cosmos3_policy.caption.*` keys `vla-cli --text` uses; without `--gguf` it assumes the LIBERO checkpoint's), sends the two 256x256 views as float RGB, and decodes the 16x10 rot6d chunk it gets back to 16 LIBERO commands: ```bash -./build/vla-server cosmos3-edge-bf16.gguf # -DVLA_BUILD_SERVER=ON -python eval/client/run_sim_client_direct.py --arch cosmos3_edge --n-action-steps 16 \ - --gguf cosmos3-edge-bf16.gguf --tokenizer /tokenizer ... # nvidia/Cosmos3-Edge if reachable +./build/vla-server cosmos3-policy-bf16.gguf # -DVLA_BUILD_SERVER=ON +python eval/client/run_sim_client_direct.py --arch cosmos3_policy --n-action-steps 16 \ + --gguf cosmos3-policy-bf16.gguf --tokenizer /tokenizer ... # nvidia/Cosmos3 Policy if reachable ``` -`eval/run_libero.sh -m cosmos3_edge` runs the whole flow (server, LIBERO client, stop) from a models directory that -holds `cosmos3-edge-libero-gguf/cosmos3-edge-libero-bf16.gguf`; a missing directory is skipped, so `-m all` is +`eval/run_libero.sh -m cosmos3_policy` runs the whole flow (server, LIBERO client, stop) from a models directory that +holds `cosmos3-policy-libero-gguf/cosmos3-policy-libero-bf16.gguf`; a missing directory is skipped, so `-m all` is unaffected. The client needs a Python with LIBERO and a transformers that reads the policy's tokenizer: -`COSMOS3_EDGE_PYTHON` picks it (default: the LIBERO venv of `eval/sim/libero/setup_libero.sh`, which pins an older -transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. +`COSMOS3_POLICY_PYTHON` picks it (default: the LIBERO venv of `eval/sim/libero/setup_libero.sh`, which pins an older +transformers), `COSMOS3_POLICY_TOKENIZER` the local `tokenizer/` directory. **What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3060): @@ -149,7 +149,7 @@ transformers), `COSMOS3_EDGE_TOKENIZER` the local `tokenizer/` directory. - *The server* (CPU, an earlier revision of the engine). A request for one case returned exactly what a direct `libvla` call returned on the same inputs, the client built the same 150 token ids as the case's, its numpy rot6d decode matched lerobot's to 7e-7, and `get_action` returned a whole chunk of 16 finite LIBERO commands. - Through `eval/run_libero.sh -m cosmos3_edge -s libero_spatial` (task 0, one episode, CPU) the episode was + Through `eval/run_libero.sh -m cosmos3_policy -s libero_spatial` (task 0, one episode, CPU) the episode was solved. The engine has been rewritten since; the server path itself is unchanged. Not checked with the hand-written engine: the closed loop on LIBERO (an earlier revision of this port, with diff --git a/eval/client/run_sim_client_direct.py b/eval/client/run_sim_client_direct.py index 8c6c12c2..6adbd857 100644 --- a/eval/client/run_sim_client_direct.py +++ b/eval/client/run_sim_client_direct.py @@ -97,7 +97,7 @@ ) parser.add_argument( "--gguf", type=str, default=None, - help="[cosmos3_edge] the GGUF vla-server runs: the caption settings (view description, fps, canvas, ...) " + help="[cosmos3_policy] the GGUF vla-server runs: the caption settings (view description, fps, canvas, ...) " "are read from it, so the prompt is the one the server's model was converted for.", ) parser.add_argument( diff --git a/eval/client/vla_cpp_client.py b/eval/client/vla_cpp_client.py index 1c441ec2..28ceedbd 100644 --- a/eval/client/vla_cpp_client.py +++ b/eval/client/vla_cpp_client.py @@ -58,11 +58,11 @@ }, "gr00t_n1_7": {"image_size": 256, "tokenizer": "nvidia/Cosmos-Reason2-2B", "max_state_dim": 132}, - # Cosmos3-Edge (LIBERO): two 256x256 views, no state, a 16x10 rot6d chunk that the client turns into 16 LIBERO + # Cosmos3 Policy (LIBERO): two 256x256 views, no state, a 16x10 rot6d chunk that the client turns into 16 LIBERO # commands; run it with --n-action-steps 16 (the policy executes the whole chunk). The tokenizer is the one # the policy was trained with (config.json tokenizer_name); a local copy works too (`tokenizer/` of the # checkpoint) with --tokenizer. - "cosmos3_edge": {"image_size": 256, "tokenizer": "nvidia/Cosmos3-Edge", "max_state_dim": 0, "max_length": 192}, + "cosmos3_policy": {"image_size": 256, "tokenizer": "nvidia/Cosmos3 Policy", "max_state_dim": 0, "max_length": 192}, "gr00t_n1_5": {"image_size": 224, "tokenizer": "lerobot/eagle2hg-processor-groot-n1p5", "max_state_dim": 64, "trust_remote_code": True}, @@ -97,23 +97,23 @@ + "." ) -# Cosmos3-Edge: the prompt is lerobot's Cosmos3PromptProcessorStep caption in the chat template of +# Cosmos3 Policy: the prompt is lerobot's Cosmos3PromptProcessorStep caption in the chat template of # Cosmos3TokenizerProcessorStep. The caption's settings (view description, fps, chunk, canvas, aspect ratio, -# use_state) are the ones the GGUF was converted with (`cosmos3_edge.caption.*`, what src/models/cosmos3_edge_prompt.cpp +# use_state) are the ones the GGUF was converted with (`cosmos3_policy.caption.*`, what src/models/cosmos3_policy_prompt.cpp # reads for vla-cli --text), so the client reads them from the GGUF vla-server runs (--gguf). Without one it assumes # the values of the published LIBERO checkpoint, and says so. -COSMOS3_EDGE_N_VIEWS = 2 -COSMOS3_EDGE_CONCAT_VIEW = "This video contains concatenated views from multiple camera perspectives." -COSMOS3_EDGE_START_OF_GENERATION = "<|vision_start|>" -COSMOS3_EDGE_LIBERO_SETTINGS = { # lerobot/Cosmos3-Edge-Policy-LIBERO, compiled for a 192x320 canvas +COSMOS3_POLICY_N_VIEWS = 2 +COSMOS3_POLICY_CONCAT_VIEW = "This video contains concatenated views from multiple camera perspectives." +COSMOS3_POLICY_START_OF_GENERATION = "<|vision_start|>" +COSMOS3_POLICY_LIBERO_SETTINGS = { # lerobot/Cosmos3-Edge-Policy-LIBERO, compiled for a 192x320 canvas "view_description": "The left half shows the third-person view; the right half shows the wrist-mounted camera.", "aspect_ratio": "16,9", "fps": 20.0, "use_state": False, "chunk_size": 16, "canvas_h": 192, "canvas_w": 320, "prompt_len": 192, } -def _cosmos3_edge_settings(gguf_path: str | Path) -> dict: - """The caption settings of a Cosmos3-Edge GGUF (written by scripts/convert_cosmos3_edge_to_gguf.py --policy-dir).""" +def _cosmos3_policy_settings(gguf_path: str | Path) -> dict: + """The caption settings of a Cosmos3 Policy GGUF (written by scripts/convert_cosmos3_policy_to_gguf.py --policy-dir).""" try: import gguf # llama.cpp's gguf-py except ImportError as e: @@ -128,18 +128,18 @@ def field(key: str, cast): return bytes(v).decode() if cast is str else cast(v[0]) return { - "view_description": field("cosmos3_edge.caption.view_description", str), - "aspect_ratio": field("cosmos3_edge.caption.aspect_ratio", str), - "fps": field("cosmos3_edge.caption.fps", float), - "use_state": bool(field("cosmos3_edge.caption.use_state", int)), - "chunk_size": field("cosmos3_edge.chunk_size", int), - "canvas_h": field("cosmos3_edge.canvas_h", int), - "canvas_w": field("cosmos3_edge.canvas_w", int), - "prompt_len": field("cosmos3_edge.prompt_len", int), + "view_description": field("cosmos3_policy.caption.view_description", str), + "aspect_ratio": field("cosmos3_policy.caption.aspect_ratio", str), + "fps": field("cosmos3_policy.caption.fps", float), + "use_state": bool(field("cosmos3_policy.caption.use_state", int)), + "chunk_size": field("cosmos3_policy.chunk_size", int), + "canvas_h": field("cosmos3_policy.canvas_h", int), + "canvas_w": field("cosmos3_policy.canvas_w", int), + "prompt_len": field("cosmos3_policy.prompt_len", int), } -def _cosmos3_edge_caption(task: str, s: dict) -> str: +def _cosmos3_policy_caption(task: str, s: dict) -> str: """Cosmos3PromptProcessorStep.caption with 0 idle frames for the settings `s`, as the C++ builds it.""" task = task.strip() if not task: @@ -148,7 +148,7 @@ def _cosmos3_edge_caption(task: str, s: dict) -> str: task = f"{task}." duration = (s["chunk_size"] + 1) / s["fps"] rounded = round(duration) - framing = " ".join(t for t in (COSMOS3_EDGE_CONCAT_VIEW, s["view_description"].strip()) if t) + framing = " ".join(t for t in (COSMOS3_POLICY_CONCAT_VIEW, s["view_description"].strip()) if t) return json.dumps({ "cinematography": {"framing": framing}, "actions": [{"time": f"0:00-{rounded // 60}:{rounded % 60:02d}", "description": task, @@ -160,7 +160,7 @@ def _cosmos3_edge_caption(task: str, s: dict) -> str: }) -def _cosmos3_edge_libero(chunk: np.ndarray) -> np.ndarray: +def _cosmos3_policy_libero(chunk: np.ndarray) -> np.ndarray: """[16, 10] rot6d rows -> [16, 7] LIBERO commands, as lerobot's Cosmos3LiberoActionProcessorStep does: the two columns and their cross product make a matrix, projected onto SO(3) by an SVD, then converted to an axis-angle vector (all in float64); the gripper goes from 1 open / 0 closed to -1 open / +1 closed.""" @@ -257,15 +257,15 @@ def __init__( tokenizer_name = tokenizer_name if tokenizer_name is not None else preset["tokenizer"] image_size = image_size if image_size is not None else preset["image_size"] max_state_dim = max_state_dim if max_state_dim is not None else preset.get("max_state_dim", 32) - # cosmos3_edge: the caption settings and the prompt length come from the GGUF the server runs. + # cosmos3_policy: the caption settings and the prompt length come from the GGUF the server runs. self._cosmos3 = None - if arch == "cosmos3_edge": + if arch == "cosmos3_policy": if cosmos3_gguf: - self._cosmos3 = _cosmos3_edge_settings(cosmos3_gguf) + self._cosmos3 = _cosmos3_policy_settings(cosmos3_gguf) if max_length is None: max_length = self._cosmos3["prompt_len"] else: - self._cosmos3 = dict(COSMOS3_EDGE_LIBERO_SETTINGS) + self._cosmos3 = dict(COSMOS3_POLICY_LIBERO_SETTINGS) print("vla-cpp-direct: no --gguf given; the caption is built with the settings of " "lerobot/Cosmos3-Edge-Policy-LIBERO (pass the server's GGUF to read them from it)", flush=True) max_length = max_length if max_length is not None else preset.get("max_length", 48) @@ -772,8 +772,8 @@ def _predict_chunk(self, observations: dict[str, Any]) -> np.ndarray: if self.arch == "turbovla": return self._predict_chunk_turbovla(observations) - if self.arch == "cosmos3_edge": - return self._predict_chunk_cosmos3_edge(observations) + if self.arch == "cosmos3_policy": + return self._predict_chunk_cosmos3_policy(observations) if self.arch == "evo1": return self._predict_chunk_evo1(observations) if self.arch == "gr00t_n1_7": @@ -924,24 +924,24 @@ def _predict_chunk_turbovla(self, observations: dict[str, Any]) -> np.ndarray: ) return self._turbovla_action_unnorm(chunk) - def _cosmos3_edge_prompt_ids(self, task: str) -> list[int]: + def _cosmos3_policy_prompt_ids(self, task: str) -> list[int]: """Token ids of the prompt of `task`, as Cosmos3TokenizerProcessorStep.encode builds them: one user turn in the chat template, the end-of-turn token and <|vision_start|>, no special tokens added.""" - messages = [{"role": "user", "content": [{"type": "text", "text": _cosmos3_edge_caption(task, self._cosmos3)}]}] + messages = [{"role": "user", "content": [{"type": "text", "text": _cosmos3_policy_caption(task, self._cosmos3)}]}] text = self.tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) - text += self.tok.eos_token + COSMOS3_EDGE_START_OF_GENERATION + text += self.tok.eos_token + COSMOS3_POLICY_START_OF_GENERATION return self.tok(text, add_special_tokens=False)["input_ids"] - def _predict_chunk_cosmos3_edge(self, observations: dict[str, Any]) -> np.ndarray: + def _predict_chunk_cosmos3_policy(self, observations: dict[str, Any]) -> np.ndarray: """Two views, the instruction as tokens, no state; the server returns a [16, 10] rot6d chunk in dataset units (the engine de-normalizes), decoded here to [16, 7] LIBERO commands.""" - if len(self.image_keys) != COSMOS3_EDGE_N_VIEWS: - raise ValueError(f"Cosmos3-Edge takes {COSMOS3_EDGE_N_VIEWS} views [third person, wrist], " + if len(self.image_keys) != COSMOS3_POLICY_N_VIEWS: + raise ValueError(f"Cosmos3 Policy takes {COSMOS3_POLICY_N_VIEWS} views [third person, wrist], " f"got image keys {self.image_keys}") images_f32: list[np.ndarray] = [] for key in self.image_keys: if key not in observations: - raise KeyError(f"Cosmos3-Edge image key {key!r} missing; got {list(observations)}") + raise KeyError(f"Cosmos3 Policy image key {key!r} missing; got {list(observations)}") image = observations[key] if isinstance(image, torch.Tensor): image = image.numpy() @@ -954,8 +954,8 @@ def _predict_chunk_cosmos3_edge(self, observations: dict[str, Any]) -> np.ndarra if isinstance(task, bytes): task = task.decode() if not isinstance(task, str) or not task.strip(): - raise ValueError("Cosmos3-Edge requires a non-empty task instruction") - lang = self._cosmos3_edge_prompt_ids(task) + raise ValueError("Cosmos3 Policy requires a non-empty task instruction") + lang = self._cosmos3_policy_prompt_ids(task) if len(lang) > self.max_length: raise ValueError(f"the prompt is {len(lang)} tokens; the model was compiled for {self.max_length}") @@ -978,8 +978,8 @@ def _predict_chunk_cosmos3_edge(self, observations: dict[str, Any]) -> np.ndarra self._last_response = resp chunk = np.array(resp.action_chunk, dtype=np.float32).reshape(resp.chunk_size, resp.action_dim) if chunk.shape != (self._cosmos3["chunk_size"], 10): - raise RuntimeError(f"expected a {self._cosmos3['chunk_size']}x10 chunk from the Cosmos3-Edge server, got {chunk.shape}") - return _cosmos3_edge_libero(chunk) + raise RuntimeError(f"expected a {self._cosmos3['chunk_size']}x10 chunk from the Cosmos3 Policy server, got {chunk.shape}") + return _cosmos3_policy_libero(chunk) _VJ_PS, _VJ_TPS, _VJ_MERGE, _VJ_SIDE = 16, 2, 2, 256 diff --git a/eval/run_libero.sh b/eval/run_libero.sh index 39a6ccbf..14b672ce 100644 --- a/eval/run_libero.sh +++ b/eval/run_libero.sh @@ -38,7 +38,7 @@ Usage: $(basename "$0") -i [-o ] [-n ] [- -m MODEL which model to run: smol | pi0 | pi05 | bit | evo1 | vla_adapter | openvla_oft | gr00t_n1_5 | gr00t_n1_6 | gr00t_n1_7 | - octo | turbovla | vla_jepa | cosmos3_edge | all + octo | turbovla | vla_jepa | cosmos3_policy | all (default: all) -h show this help @@ -49,10 +49,10 @@ Env overrides: BIND_ADDR, CLIENT_ADDR, BITVLA_TOKENIZER, GR00T_N1_6_TOKENIZER, SERVER_BIN (prebuilt vla-server; setting it skips the build), VLA_JEPA_PYTHON (python for the vla_jepa client; it needs LIBERO and transformers>=5.4, default is the LIBERO venv), - COSMOS3_EDGE_PYTHON (python for the cosmos3_edge client, which needs LIBERO and a + COSMOS3_POLICY_PYTHON (python for the cosmos3_policy client, which needs LIBERO and a transformers that reads the policy's tokenizer, default is the LIBERO venv), - COSMOS3_EDGE_TOKENIZER (the policy's tokenizer/ directory, default nvidia/Cosmos3-Edge - from the Hub), COSMOS3_EDGE_RECV_TIMEOUT_MS (client wait per chunk, default 300000), + COSMOS3_POLICY_TOKENIZER (the policy's tokenizer/ directory, default nvidia/Cosmos3 Policy + from the Hub), COSMOS3_POLICY_RECV_TIMEOUT_MS (client wait per chunk, default 300000), VLA_FIXED_NOISE_SEED (client-side noise, for paired A/B runs) EOF } @@ -78,9 +78,9 @@ done shift $((OPTIND - 1)) case "${MODEL}" in - smol|pi0|pi05|bit|evo1|vla_adapter|openvla_oft|gr00t_n1_5|gr00t_n1_6|gr00t_n1_7|octo|turbovla|vla_jepa|cosmos3_edge|all) ;; + smol|pi0|pi05|bit|evo1|vla_adapter|openvla_oft|gr00t_n1_5|gr00t_n1_6|gr00t_n1_7|octo|turbovla|vla_jepa|cosmos3_policy|all) ;; *) - echo "ERROR: -m must be one of: smol | pi0 | pi05 | bit | evo1 | vla_adapter | openvla_oft | gr00t_n1_5 | gr00t_n1_6 | gr00t_n1_7 | octo | turbovla | vla_jepa | cosmos3_edge | all (got '${MODEL}')" >&2 + echo "ERROR: -m must be one of: smol | pi0 | pi05 | bit | evo1 | vla_adapter | openvla_oft | gr00t_n1_5 | gr00t_n1_6 | gr00t_n1_7 | octo | turbovla | vla_jepa | cosmos3_policy | all (got '${MODEL}')" >&2 exit 1 ;; esac @@ -117,9 +117,9 @@ TASK_IDS="${TASK_IDS:-0 1 2 3 4 5 6 7 8 9}" PALIGEMMA_TOKENIZER="${PALIGEMMA_TOKENIZER:-}" VENV_PY="${REPO_ROOT}/eval/sim/libero/libero_uv/.venv/bin/python" VLA_JEPA_PYTHON="${VLA_JEPA_PYTHON:-${VENV_PY}}" -COSMOS3_EDGE_PYTHON="${COSMOS3_EDGE_PYTHON:-${VENV_PY}}" -COSMOS3_EDGE_TOKENIZER="${COSMOS3_EDGE_TOKENIZER:-}" -COSMOS3_EDGE_RECV_TIMEOUT_MS="${COSMOS3_EDGE_RECV_TIMEOUT_MS:-300000}" +COSMOS3_POLICY_PYTHON="${COSMOS3_POLICY_PYTHON:-${VENV_PY}}" +COSMOS3_POLICY_TOKENIZER="${COSMOS3_POLICY_TOKENIZER:-}" +COSMOS3_POLICY_RECV_TIMEOUT_MS="${COSMOS3_POLICY_RECV_TIMEOUT_MS:-300000}" CLIENT="${REPO_ROOT}/eval/client/run_sim_client_direct.py" BIND_ADDR="${BIND_ADDR:-tcp://*:5555}" CLIENT_ADDR="${CLIENT_ADDR:-tcp://localhost:5555}" @@ -154,7 +154,7 @@ N_ACTION_STEPS_GR00T_N1_7="${N_ACTION_STEPS_GR00T_N1_7:-16}" # N1.7 H4 closeout N_ACTION_STEPS_OCTO="${N_ACTION_STEPS_OCTO:-4}" N_ACTION_STEPS_TURBOVLA="${N_ACTION_STEPS_TURBOVLA:-12}" N_ACTION_STEPS_VLA_JEPA="${N_ACTION_STEPS_VLA_JEPA:-7}" -N_ACTION_STEPS_COSMOS3_EDGE="${N_ACTION_STEPS_COSMOS3_EDGE:-16}" # Cosmos3-Edge executes the whole 16-action chunk +N_ACTION_STEPS_COSMOS3_POLICY="${N_ACTION_STEPS_COSMOS3_POLICY:-16}" # Cosmos3 Policy executes the whole 16-action chunk mkdir -p "${OUTPUT_ROOT}" OUTPUT_ROOT="$(cd "${OUTPUT_ROOT}" && pwd)" @@ -183,9 +183,9 @@ if [[ ! -x "${SERVER_BIN}" ]]; then echo "ERROR: ${SERVER_BIN} not found after build." >&2 exit 1 fi -# The cosmos3_edge client may run in another python that has LIBERO (COSMOS3_EDGE_PYTHON), as vla_jepa's may. +# The cosmos3_policy client may run in another python that has LIBERO (COSMOS3_POLICY_PYTHON), as vla_jepa's may. need_libero_venv=1 -if [[ "${MODEL}" == cosmos3_edge && "${COSMOS3_EDGE_PYTHON}" != "${VENV_PY}" && -x "${COSMOS3_EDGE_PYTHON}" ]]; then +if [[ "${MODEL}" == cosmos3_policy && "${COSMOS3_POLICY_PYTHON}" != "${VENV_PY}" && -x "${COSMOS3_POLICY_PYTHON}" ]]; then need_libero_venv=0 fi if (( need_libero_venv )) && [[ ! -x "${VENV_PY}" ]]; then @@ -329,16 +329,16 @@ run_model() { if [[ "${arch}" == vla_jepa ]]; then client_py="${VLA_JEPA_PYTHON}" fi - # cosmos3_edge: the tokenizer is the policy's (nvidia/Cosmos3-Edge on the Hub unless a local copy is given), the + # cosmos3_policy: the tokenizer is the policy's (nvidia/Cosmos3 Policy on the Hub unless a local copy is given), the # caption settings are read from the GGUF the server runs, and a chunk takes seconds on a GPU but about a minute # on a CPU, so the client waits longer than its 30 s default. - if [[ "${arch}" == cosmos3_edge ]]; then - client_py="${COSMOS3_EDGE_PYTHON}" + if [[ "${arch}" == cosmos3_policy ]]; then + client_py="${COSMOS3_POLICY_PYTHON}" client_extra+=(--gguf "${server_args[0]}") - if [[ -n "${COSMOS3_EDGE_TOKENIZER}" ]]; then - client_extra+=(--tokenizer "${COSMOS3_EDGE_TOKENIZER}") + if [[ -n "${COSMOS3_POLICY_TOKENIZER}" ]]; then + client_extra+=(--tokenizer "${COSMOS3_POLICY_TOKENIZER}") fi - client_extra+=(--recv-timeout-ms "${COSMOS3_EDGE_RECV_TIMEOUT_MS}") + client_extra+=(--recv-timeout-ms "${COSMOS3_POLICY_RECV_TIMEOUT_MS}") fi # bitvla auto-loads tokenizer + dataset_statistics.json from the GGUF repo on @@ -576,16 +576,16 @@ if should_run vla_jepa; then fi fi -# cosmos3_edge: the GGUF of scripts/convert_cosmos3_edge_to_gguf.py (docs/MODELS.md#cosmos3-edge-world-action-model), not +# cosmos3_policy: the GGUF of scripts/convert_cosmos3_policy_to_gguf.py (docs/MODELS.md#cosmos3-policy-world-action-model), not # published yet, so a missing one is skipped instead of failing a sweep over all models. -if should_run cosmos3_edge; then - cosmos3_gguf="${MODELS_ROOT}/cosmos3-edge-libero-gguf/cosmos3-edge-libero-bf16.gguf" +if should_run cosmos3_policy; then + cosmos3_gguf="${MODELS_ROOT}/cosmos3-policy-libero-gguf/cosmos3-policy-libero-bf16.gguf" if [[ ! -f "${cosmos3_gguf}" ]]; then - echo "[skip] cosmos3_edge: ${cosmos3_gguf} not found" + echo "[skip] cosmos3_policy: ${cosmos3_gguf} not found" else - run_model cosmos3_edge \ - "${MODELS_ROOT}/cosmos3-edge-libero-gguf" \ - "${N_ACTION_STEPS_COSMOS3_EDGE}" \ + run_model cosmos3_policy \ + "${MODELS_ROOT}/cosmos3-policy-libero-gguf" \ + "${N_ACTION_STEPS_COSMOS3_POLICY}" \ "" \ "${cosmos3_gguf}" fi diff --git a/scripts/convert_cosmos3_edge_to_gguf.py b/scripts/convert_cosmos3_policy_to_gguf.py similarity index 98% rename from scripts/convert_cosmos3_edge_to_gguf.py rename to scripts/convert_cosmos3_policy_to_gguf.py index 671831a6..516120c4 100644 --- a/scripts/convert_cosmos3_edge_to_gguf.py +++ b/scripts/convert_cosmos3_policy_to_gguf.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Cosmos3-Edge-Policy (lerobot/Cosmos3-Edge-Policy-LIBERO) -> vla.cpp GGUF. +"""Cosmos3 Policy (lerobot/Cosmos3-Edge-Policy-LIBERO) -> vla.cpp GGUF. Reads the checkpoint directory: config.json, model.safetensors, the postprocessor's unnormalizer stats and tokenizer/. Only what inference needs is written: @@ -27,12 +27,12 @@ - the timestep embedding, in f32 as the policy keeps it; - the latent statistics of the VAE, the action quantiles of the unnormalizer, the canvas layout of the policy's cameras, the caption settings of the prompt step and the byte-level BPE tokenizer (llama.cpp's - `tokenizer.ggml.*` keys), so `vla-cli --text` builds the prompt itself (src/models/cosmos3_edge.cpp). + `tokenizer.ggml.*` keys), so `vla-cli --text` builds the prompt itself (src/models/cosmos3_policy.cpp). GEMM weights keep the checkpoint's bf16 (the engine casts them to its matmul type at load), norms and biases are f32. - python scripts/convert_cosmos3_edge_to_gguf.py --ckpt --out cosmos3-edge-libero-bf16.gguf + python scripts/convert_cosmos3_policy_to_gguf.py --ckpt --out cosmos3-policy-libero-bf16.gguf """ from __future__ import annotations @@ -60,7 +60,7 @@ resolve_out, ) -ARCH = "cosmos3_edge" +ARCH = "cosmos3_policy" KV = kv_prefix(ARCH) NET = "model.network." LM = NET + "mot_backbone.model.language_model." @@ -186,7 +186,7 @@ def has(self, name: str) -> bool: def check_config(config: dict) -> None: """The engine is written for the LIBERO policy's setup; refuse what it does not do.""" - if config.get("type") != "cosmos3_edge": + if config.get("type") != "cosmos3_edge": # lerobot's policy type of the Edge backbone raise SystemExit(f"config.json is a {config.get('type')!r} policy, not cosmos3_edge") text = config["mot_backbone"]["text_config"] if text["hidden_act"] != "relu2" or text["rope_parameters"]["rope_type"] != "default": diff --git a/src/arch.h b/src/arch.h index 66771aca..80d04d64 100644 --- a/src/arch.h +++ b/src/arch.h @@ -73,7 +73,7 @@ enum class Arch { VLA_JEPA, // LeRobot Qwen3-VL-2B-Instruct+V-JEPÀ+DiT-B FM. TURBOVLA, // TurboVLA (DINOv3 + BERT + VL Fusion + ACT decoder). ACT, // LeRobot ACT (ResNet + transformer encoder-decoder, no language). - COSMOS3_EDGE,// NVIDIA Cosmos3-Edge world-action model (Nemotron MoT + Wan2.2 VAE, UniPC). + COSMOS3_POLICY,// NVIDIA Cosmos3 Policy world-action model (Nemotron MoT + Wan2.2 VAE, UniPC). }; /** @@ -253,10 +253,10 @@ std::unique_ptr act_create(const std::string& mmproj_path, const Options& opts); /** - * @brief Build a Cosmos3-Edge model (LIBERO). The VAE is baked into @p ckpt_path; the graphs are generated. + * @brief Build a Cosmos3 Policy model (LIBERO). The VAE is baked into @p ckpt_path; the graphs are generated. * @copydetails smolvla_create */ -std::unique_ptr cosmos3_edge_create(const std::string& mmproj_path, +std::unique_ptr cosmos3_policy_create(const std::string& mmproj_path, const std::string& ckpt_path, const std::string& config_path, const Options& opts); diff --git a/src/model.cpp b/src/model.cpp index 4803d2c3..5e69a617 100644 --- a/src/model.cpp +++ b/src/model.cpp @@ -81,7 +81,7 @@ bool detect_arch_gguf(const std::string& path, Arch* out) { try_str("vla_jepa.architecture", arch_str) || try_str("vla_adapter.architecture", arch_str) || try_str("turbovla.architecture", arch_str) || - try_str("cosmos3_edge.architecture", arch_str) || + try_str("cosmos3_policy.architecture", arch_str) || try_str("act.architecture", arch_str)) { if (arch_str == "smolvla") { *out = Arch::SMOLVLA; @@ -139,8 +139,8 @@ bool detect_arch_gguf(const std::string& path, Arch* out) { *out = Arch::ACT; ok = true; } - else if (arch_str == "cosmos3_edge") { - *out = Arch::COSMOS3_EDGE; + else if (arch_str == "cosmos3_policy") { + *out = Arch::COSMOS3_POLICY; ok = true; } } @@ -327,9 +327,9 @@ Model* model_load(const std::string& mmproj_path, const std::string& ckpt_path, std::printf("vla: arch = act\n"); impl = act_create(mmproj_path, ckpt_path, config_path, opts); break; - case Arch::COSMOS3_EDGE: - std::printf("vla: arch = cosmos3_edge\n"); - impl = cosmos3_edge_create(mmproj_path, ckpt_path, config_path, opts); + case Arch::COSMOS3_POLICY: + std::printf("vla: arch = cosmos3_policy\n"); + impl = cosmos3_policy_create(mmproj_path, ckpt_path, config_path, opts); break; } if (!impl) diff --git a/src/models/cosmos3_edge.cpp b/src/models/cosmos3_policy.cpp similarity index 95% rename from src/models/cosmos3_edge.cpp rename to src/models/cosmos3_policy.cpp index a7f2bb3c..1fad5fd0 100644 --- a/src/models/cosmos3_edge.cpp +++ b/src/models/cosmos3_policy.cpp @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Cosmos3-Edge-Policy (LIBERO): a world-action model. One 28-layer Mixture-of-Transformers backbone (Nemotron 3 +// Cosmos3 Policy (LIBERO): a world-action model. One 28-layer Mixture-of-Transformers backbone (Nemotron 3 // Dense, two streams) denoises 4 latent video frames and a 16-step action chunk together, conditioned on the // Wan2.2 VAE latent of the current frame and on the prompt, with 30 UniPC steps. lerobot's // policies/cosmos3/modeling_cosmos3.py is the reference; this file follows its inference path: @@ -35,7 +35,7 @@ #include "arch.h" #include "backend.h" -#include "cosmos3_edge.h" +#include "cosmos3_policy.h" #include "gguf_reader.h" #include "loader.h" #include "model.h" @@ -70,7 +70,7 @@ namespace vla { namespace { -constexpr const char * kTag = "vla(cosmos3_edge)"; +constexpr const char * kTag = "vla(cosmos3_policy)"; double now_ms() { using clock = std::chrono::steady_clock; @@ -81,7 +81,7 @@ double now_ms() { // The canvas: lerobot's Cosmos3VideoCanvasProcessorStep // ------------------------------------------------------------------------------------------------ -// How the policy's cameras fill the canvas, from the GGUF (scripts/convert_cosmos3_edge_to_gguf.py). +// How the policy's cameras fill the canvas, from the GGUF (scripts/convert_cosmos3_policy_to_gguf.py). struct Layout { int n_views = 2, view_h = 256, view_w = 256; // every view resized to view_h x view_w, composed side by side int canvas_h = 192, canvas_w = 320; // the canvas of the resolution tier @@ -432,9 +432,9 @@ bool cuda_conv_has_mma() { // The architecture // ------------------------------------------------------------------------------------------------ -struct Cosmos3EdgeModelArch : public ModelArchBase { - Cosmos3EdgeModelArch() : ModelArchBase(Arch::COSMOS3_EDGE) {} - ~Cosmos3EdgeModelArch() override; +struct Cosmos3PolicyModelArch : public ModelArchBase { + Cosmos3PolicyModelArch() : ModelArchBase(Arch::COSMOS3_POLICY) {} + ~Cosmos3PolicyModelArch() override; ggml_backend_t backend = nullptr; int n_threads = default_cpu_threads(); @@ -529,7 +529,7 @@ struct Cosmos3EdgeModelArch : public ModelArchBase { std::vector predict(const Inputs & in) override; }; -Cosmos3EdgeModelArch::~Cosmos3EdgeModelArch() { +Cosmos3PolicyModelArch::~Cosmos3PolicyModelArch() { vae_graph.release(); prefix_graph.release(); step_graph.release(); @@ -549,9 +549,9 @@ Cosmos3EdgeModelArch::~Cosmos3EdgeModelArch() { ggml_backend_free(backend); } -bool Cosmos3EdgeModelArch::load_config(gguf_reader & g) { - auto u = [&](const std::string & k) { return (int64_t) g.u32(("cosmos3_edge." + k).c_str()); }; - auto f = [&](const std::string & k) { return g.f32(("cosmos3_edge." + k).c_str()); }; +bool Cosmos3PolicyModelArch::load_config(gguf_reader & g) { + auto u = [&](const std::string & k) { return (int64_t) g.u32(("cosmos3_policy." + k).c_str()); }; + auto f = [&](const std::string & k) { return g.f32(("cosmos3_policy." + k).c_str()); }; n_layers = u("n_layers"); hidden = u("hidden"); inter = u("intermediate"); n_heads = u("n_heads"); n_kv_heads = u("n_kv_heads"); head_dim = u("head_dim"); mrope[0] = (int) u("mrope_section_t"); mrope[1] = (int) u("mrope_section_h"); mrope[2] = (int) u("mrope_section_w"); @@ -603,10 +603,10 @@ bool Cosmos3EdgeModelArch::load_config(gguf_reader & g) { } } - lat_mean = g.read_f32("cosmos3_edge.latents_mean"); - lat_std = g.read_f32("cosmos3_edge.latents_std"); - q01 = g.read_f32("cosmos3_edge.action_q01"); - q99 = g.read_f32("cosmos3_edge.action_q99"); + lat_mean = g.read_f32("cosmos3_policy.latents_mean"); + lat_std = g.read_f32("cosmos3_policy.latents_std"); + q01 = g.read_f32("cosmos3_policy.action_q01"); + q99 = g.read_f32("cosmos3_policy.action_q99"); if ((int64_t) lat_mean.size() != z_dim || (int64_t) lat_std.size() != z_dim || (int64_t) q01.size() != adim || (int64_t) q99.size() != adim) { std::fprintf(stderr, "%s: latent statistics or action quantiles disagree with the sizes\n", kTag); @@ -620,13 +620,13 @@ bool Cosmos3EdgeModelArch::load_config(gguf_reader & g) { return true; } -bool Cosmos3EdgeModelArch::load_weights(gguf_reader & g) { +bool Cosmos3PolicyModelArch::load_weights(gguf_reader & g) { const int64_t n_tensors = gguf_get_n_tensors(g.gctx); ggml_init_params p = { (size_t) (n_tensors + 16) * ggml_tensor_overhead(), nullptr, true }; ctx_w = ggml_init(p); if (!ctx_w) return false; - WeightLoader wl("cosmos3_edge", g, ctx_w, mt); + WeightLoader wl("cosmos3_policy", g, ctx_w, mt); const ggml_type ct = conv_direct ? GGML_TYPE_F16 : GGML_TYPE_F32; tok_embd = wl.gemm("token_embd.weight"); @@ -710,7 +710,7 @@ bool Cosmos3EdgeModelArch::load_weights(gguf_reader & g) { // frame has zero frames in front of it) and groups of the resulting channels are averaged into the block's // output channels. On one frame that is a strided convolution over the block's input with a constant kernel of // 0 and 1/g, built here. A block that keeps its size and width (the last) is the identity and gets no kernel. -bool Cosmos3EdgeModelArch::make_avg_kernels() { +bool Cosmos3PolicyModelArch::make_avg_kernels() { struct Pending { ggml_tensor * t; std::vector k; @@ -769,7 +769,7 @@ bool Cosmos3EdgeModelArch::make_avg_kernels() { return true; } -bool Cosmos3EdgeModelArch::ensure_kv(int64_t n) { +bool Cosmos3PolicyModelArch::ensure_kv(int64_t n) { if (kv.ctx && kv.n == n) return true; if (kv.buf) @@ -808,7 +808,7 @@ bool Cosmos3EdgeModelArch::ensure_kv(int64_t n) { // Graph pieces // ------------------------------------------------------------------------------------------------ -ggml_tensor * Cosmos3EdgeModelArch::lin(ggml_context * C, ggml_tensor * W, ggml_tensor * b, ggml_tensor * x) const { +ggml_tensor * Cosmos3PolicyModelArch::lin(ggml_context * C, ggml_tensor * W, ggml_tensor * b, ggml_tensor * x) const { ggml_tensor * y = ggml_mul_mat(C, W, x); if (mm_prec_f32_enabled()) ggml_prec_set_acc(y, GGML_PREC_F32); @@ -816,28 +816,28 @@ ggml_tensor * Cosmos3EdgeModelArch::lin(ggml_context * C, ggml_tensor * W, ggml_ } // x [W, H, C, 1] -> [OW, OH, OC, 1] with the bias. -ggml_tensor * Cosmos3EdgeModelArch::conv(ggml_context * C, const ConvW & cw, ggml_tensor * x, int stride, int pad) const { +ggml_tensor * Cosmos3PolicyModelArch::conv(ggml_context * C, const ConvW & cw, ggml_tensor * x, int stride, int pad) const { ggml_tensor * y = cw.w->type == GGML_TYPE_F16 ? ggml_conv_2d_direct(C, cw.w, x, stride, stride, pad, pad, 1, 1) : conv_2d_f32(C, cw.w, x, stride, pad); return cw.b ? ggml_add(C, y, ggml_reshape_4d(C, cw.b, 1, 1, cw.b->ne[0], 1)) : y; } // A 1x1 convolution stored as a linear map [IC, OC]. -ggml_tensor * Cosmos3EdgeModelArch::conv1x1(ggml_context * C, const ConvW & cw, ggml_tensor * x) const { +ggml_tensor * Cosmos3PolicyModelArch::conv1x1(ggml_context * C, const ConvW & cw, ggml_tensor * x) const { const ConvW k4 = { ggml_reshape_4d(C, cw.w, 1, 1, cw.w->ne[0], cw.w->ne[1]), cw.b }; return conv(C, k4, x, 1, 0); } // WanRMS_norm over the channels of x [W, H, C, 1]: F.normalize(x, dim=channels) * sqrt(C) * gamma, which is // x / rms(x) * gamma. (F.normalize clamps the norm at 1e-12; a channel vector of zeros does not occur.) -ggml_tensor * Cosmos3EdgeModelArch::chan_rms(ggml_context * C, ggml_tensor * x, ggml_tensor * gamma) const { +ggml_tensor * Cosmos3PolicyModelArch::chan_rms(ggml_context * C, ggml_tensor * x, ggml_tensor * gamma) const { ggml_tensor * t = ggml_cont(C, ggml_permute(C, x, 1, 2, 0, 3)); // [C, W, H] t = ggml_mul(C, ggml_rms_norm(C, t, 1e-24f), gamma); return ggml_cont(C, ggml_permute(C, t, 2, 0, 1, 3)); // [W, H, C] } // WanResidualBlock on one frame: norm, SiLU, conv, norm, SiLU, conv, plus the (1x1) shortcut. -ggml_tensor * Cosmos3EdgeModelArch::resnet(ggml_context * C, const ResW & r, ggml_tensor * x) const { +ggml_tensor * Cosmos3PolicyModelArch::resnet(ggml_context * C, const ResW & r, ggml_tensor * x) const { ggml_tensor * h = r.shortcut.w ? conv1x1(C, r.shortcut, x) : x; ggml_tensor * y = conv(C, r.conv1, ggml_silu(C, chan_rms(C, x, r.norm1)), 1, 1); y = conv(C, r.conv2, ggml_silu(C, chan_rms(C, y, r.norm2)), 1, 1); @@ -845,7 +845,7 @@ ggml_tensor * Cosmos3EdgeModelArch::resnet(ggml_context * C, const ResW & r, ggm } // WanAttentionBlock: single-head attention over the frame's positions, the channels as the head. -ggml_tensor * Cosmos3EdgeModelArch::vae_attention(ggml_context * C, ggml_tensor * x) const { +ggml_tensor * Cosmos3PolicyModelArch::vae_attention(ggml_context * C, ggml_tensor * x) const { const int64_t W = x->ne[0], H = x->ne[1], Ch = x->ne[2], N = W * H; ggml_tensor * qkv = conv1x1(C, vae.qkv, chan_rms(C, x, vae.attn_norm)); // [W, H, 3 Ch] auto part = [&](int i) { // channel block i as [Ch, N]: one row per position @@ -865,7 +865,7 @@ ggml_tensor * Cosmos3EdgeModelArch::vae_attention(ggml_context * C, ggml_tensor // q [head_dim, n_q, n_heads], k and v [head_dim, n_k, n_kv_heads] (the query heads of a key head read it, as // grouped-query attention does) -> [hidden, n_q]. mask [n_k, n_q] F32 or null. -ggml_tensor * Cosmos3EdgeModelArch::attend(ggml_context * C, ggml_tensor * q, ggml_tensor * k, ggml_tensor * v, +ggml_tensor * Cosmos3PolicyModelArch::attend(ggml_context * C, ggml_tensor * q, ggml_tensor * k, ggml_tensor * v, ggml_tensor * mask, int64_t n_q) const { const float scale = 1.0f / std::sqrt((float) head_dim); if (flash_attn_enabled()) { @@ -882,7 +882,7 @@ ggml_tensor * Cosmos3EdgeModelArch::attend(ggml_context * C, ggml_tensor * q, gg // The Wan2.2 encoder on one frame. px: the canvas in [-1, 1], pixel-unshuffled to [W/2, H/2, 12] (host). // lat: the mean of the posterior, [W/16, H/16, z_dim], before normalization and cropping (host). -ggml_cgraph * Cosmos3EdgeModelArch::build_vae(ggml_context * C, VaeIO & io) const { +ggml_cgraph * Cosmos3PolicyModelArch::build_vae(ggml_context * C, VaeIO & io) const { const int64_t W0 = layout.canvas_w / vae_patch, H0 = layout.canvas_h / vae_patch; io.px = ggml_new_tensor_4d(C, GGML_TYPE_F32, W0, H0, 3 * vae_patch * vae_patch, 1); ggml_set_input(io.px); @@ -913,7 +913,7 @@ ggml_cgraph * Cosmos3EdgeModelArch::build_vae(ggml_context * C, VaeIO & io) cons // The understanding stream over the n prompt tokens (causal), writing every layer's keys as the generation // queries read them (their own norm, then RoPE) and values into kv. -ggml_cgraph * Cosmos3EdgeModelArch::build_prefix(ggml_context * C, PrefixIO & io, int64_t n) const { +ggml_cgraph * Cosmos3PolicyModelArch::build_prefix(ggml_context * C, PrefixIO & io, int64_t n) const { io.ids = ggml_new_tensor_1d(C, GGML_TYPE_I32, n); io.cos = ggml_new_tensor_2d(C, GGML_TYPE_F32, head_dim, n); io.sin = ggml_new_tensor_2d(C, GGML_TYPE_F32, head_dim, n); @@ -945,7 +945,7 @@ ggml_cgraph * Cosmos3EdgeModelArch::build_prefix(ggml_context * C, PrefixIO & io // One network call of the generation stream: [video patches | actions] at the timestep, attending to // [prompt | itself] in every layer, to the velocities of the video patches and the actions. -ggml_cgraph * Cosmos3EdgeModelArch::build_step(ggml_context * C, StepIO & io, int64_t n) const { +ggml_cgraph * Cosmos3PolicyModelArch::build_step(ggml_context * C, StepIO & io, int64_t n) const { (void) n; // the prompt length enters through kv const int64_t n_gen = n_video + chunk; io.xv = ggml_new_tensor_2d(C, GGML_TYPE_F32, patch_dim, n_video); @@ -1004,7 +1004,7 @@ ggml_cgraph * Cosmos3EdgeModelArch::build_step(ggml_context * C, StepIO & io, in // The understanding stream's positions are 0..n-1 on all three M-RoPE axes, so its rotation is the plain one. // Float arithmetic as the reference: inv_freq = 1 / theta^(2j/d) in f32, angle = position * inv_freq in f32. -void Cosmos3EdgeModelArch::rope_text(int64_t n, std::vector & cs, std::vector & sn) const { +void Cosmos3PolicyModelArch::rope_text(int64_t n, std::vector & cs, std::vector & sn) const { const int64_t half = head_dim / 2; cs.resize((size_t) (n * head_dim)); sn.resize((size_t) (n * head_dim)); @@ -1022,7 +1022,7 @@ void Cosmos3EdgeModelArch::rope_text(int64_t n, std::vector & cs, std::ve // (temporal / fps) on the time axis and on its patch grid on the height and width axes; action i at // (i + 1) * frame_step / temporal with zero height and width. The three axes interleave over the frequencies // as Qwen3-VL's rotary embedding does ([T H W T H W ... T T] over mrope_section). -void Cosmos3EdgeModelArch::rope_gen(int64_t n_text, std::vector & cs, std::vector & sn) const { +void Cosmos3PolicyModelArch::rope_gen(int64_t n_text, std::vector & cs, std::vector & sn) const { const int64_t half = head_dim / 2, n_gen = n_video + chunk; const int64_t grid_w = latent_w / latent_patch; const float gen_start = (float) (n_text - 1) + 1.f + (float) margin; @@ -1056,7 +1056,7 @@ void Cosmos3EdgeModelArch::rope_gen(int64_t n_text, std::vector & cs, std } // SinusoidalTimesteps of t * timestep_scale: cos features then sin, frequencies exp(-ln(10000) j / half). -void Cosmos3EdgeModelArch::time_sinusoid(int64_t t, std::vector & out) const { +void Cosmos3PolicyModelArch::time_sinusoid(int64_t t, std::vector & out) const { const int64_t half = time_dim / 2; const float ts = (float) t * timestep_scale; out.resize((size_t) time_dim); @@ -1072,7 +1072,7 @@ void Cosmos3EdgeModelArch::time_sinusoid(int64_t t, std::vector & out) co // predict // ------------------------------------------------------------------------------------------------ -std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { +std::vector Cosmos3PolicyModelArch::predict(const Inputs & in) { const double t0 = now_ms(); stats = Stats{}; if (in.precomputed_img_emb) { @@ -1265,7 +1265,7 @@ std::vector Cosmos3EdgeModelArch::predict(const Inputs & in) { } // namespace -std::unique_ptr cosmos3_edge_create(const std::string & mmproj_path, const std::string & ckpt_path, +std::unique_ptr cosmos3_policy_create(const std::string & mmproj_path, const std::string & ckpt_path, const std::string &, const Options & opts) { if (!mmproj_path.empty()) std::printf("%s: note - mmproj '%s' is ignored (the VAE is baked into the GGUF)\n", kTag, mmproj_path.c_str()); @@ -1274,16 +1274,16 @@ std::unique_ptr cosmos3_edge_create(const std::string & mmproj_pa return nullptr; } - auto m = std::make_unique(); + auto m = std::make_unique(); m->mt = opts.weight_dtype.value_or(default_weight_dtype(GGML_TYPE_BF16)); - gguf_reader g("cosmos3_edge"); + gguf_reader g("cosmos3_policy"); if (!g.open(ckpt_path)) return nullptr; - if (!g.has("cosmos3_edge.architecture")) { - std::fprintf(stderr, "%s: %s is not a Cosmos3-Edge GGUF\n", kTag, ckpt_path.c_str()); + if (!g.has("cosmos3_policy.architecture")) { + std::fprintf(stderr, "%s: %s is not a Cosmos3 Policy GGUF\n", kTag, ckpt_path.c_str()); return nullptr; } - if (!m->load_config(g) || !resolve_num_steps("cosmos3_edge", opts, m->steps)) + if (!m->load_config(g) || !resolve_num_steps("cosmos3_policy", opts, m->steps)) return nullptr; const Backend b = backend_init(kTag, m->n_threads); @@ -1340,7 +1340,7 @@ std::unique_ptr cosmos3_edge_create(const std::string & mmproj_pa // ------------------------------------------------------------------------------------------------ // The prompt (lerobot's Cosmos3PromptProcessorStep and Cosmos3TokenizerProcessorStep) and the LIBERO action -// decode (Cosmos3LiberoActionProcessorStep), outside the graphs. See cosmos3_edge.h. +// decode (Cosmos3LiberoActionProcessorStep), outside the graphs. See cosmos3_policy.h. // ------------------------------------------------------------------------------------------------ namespace { @@ -1489,18 +1489,18 @@ bool Cosmos3Prompt::load(const gguf_reader & g) { const int64_t kt = gguf_find_key(ctx, "tokenizer.ggml.tokens"); const int64_t kg = gguf_find_key(ctx, "tokenizer.ggml.token_type"); const int64_t km = gguf_find_key(ctx, "tokenizer.ggml.merges"); - if (kt < 0 || kg < 0 || km < 0 || !g.has("cosmos3_edge.caption.view_description")) { - std::fprintf(stderr, "vla(cosmos3_edge): this GGUF has no tokenizer; convert with --policy-dir, or pass --tokens\n"); + if (kt < 0 || kg < 0 || km < 0 || !g.has("cosmos3_policy.caption.view_description")) { + std::fprintf(stderr, "vla(cosmos3_policy): this GGUF has no tokenizer; convert with --policy-dir, or pass --tokens\n"); return false; } if (gguf_get_arr_type(ctx, kt) != GGUF_TYPE_STRING || gguf_get_arr_type(ctx, km) != GGUF_TYPE_STRING || gguf_get_arr_type(ctx, kg) != GGUF_TYPE_INT32) { - std::fprintf(stderr, "vla(cosmos3_edge): the tokenizer arrays have unexpected types\n"); + std::fprintf(stderr, "vla(cosmos3_policy): the tokenizer arrays have unexpected types\n"); return false; } const size_t n = gguf_get_arr_n(ctx, kt); if (n == 0 || gguf_get_arr_n(ctx, kg) != n) { - std::fprintf(stderr, "vla(cosmos3_edge): the token and token-type arrays disagree\n"); + std::fprintf(stderr, "vla(cosmos3_policy): the token and token-type arrays disagree\n"); return false; } int cp_of_byte[256]; @@ -1549,15 +1549,15 @@ bool Cosmos3Prompt::load(const gguf_reader & g) { for (size_t i = 0; i < nm; i++) rank_.emplace(gguf_get_arr_str(ctx, km, i), (int32_t) i); - view_description_ = g.str("cosmos3_edge.caption.view_description"); - aspect_ratio_ = g.str("cosmos3_edge.caption.aspect_ratio"); - fps_ = g.f32("cosmos3_edge.caption.fps"); - use_state_ = g.u32("cosmos3_edge.caption.use_state") != 0; - chunk_ = (int) g.u32("cosmos3_edge.chunk_size"); - canvas_h_ = (int) g.u32("cosmos3_edge.canvas_h"); - canvas_w_ = (int) g.u32("cosmos3_edge.canvas_w"); + view_description_ = g.str("cosmos3_policy.caption.view_description"); + aspect_ratio_ = g.str("cosmos3_policy.caption.aspect_ratio"); + fps_ = g.f32("cosmos3_policy.caption.fps"); + use_state_ = g.u32("cosmos3_policy.caption.use_state") != 0; + chunk_ = (int) g.u32("cosmos3_policy.chunk_size"); + canvas_h_ = (int) g.u32("cosmos3_policy.canvas_h"); + canvas_w_ = (int) g.u32("cosmos3_policy.canvas_w"); if (fps_ <= 0.0 || chunk_ <= 0 || aspect_ratio_.empty()) { - std::fprintf(stderr, "vla(cosmos3_edge): the caption settings of the GGUF are incomplete\n"); + std::fprintf(stderr, "vla(cosmos3_policy): the caption settings of the GGUF are incomplete\n"); return false; } return true; diff --git a/src/models/cosmos3_edge.h b/src/models/cosmos3_policy.h similarity index 96% rename from src/models/cosmos3_edge.h rename to src/models/cosmos3_policy.h index 73df2e7f..5380f378 100644 --- a/src/models/cosmos3_edge.h +++ b/src/models/cosmos3_policy.h @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Cosmos3-Edge outside the graphs (src/models/cosmos3_edge.cpp): the prompt (lerobot's Cosmos3PromptProcessorStep and +// Cosmos3 Policy outside the graphs (src/models/cosmos3_policy.cpp): the prompt (lerobot's Cosmos3PromptProcessorStep and // Cosmos3TokenizerProcessorStep) and the LIBERO action decode (Cosmos3LiberoActionProcessorStep). // // * The prompt is the JSON caption of the task in the chat template of the understanding stream, then the @@ -34,7 +34,7 @@ namespace vla { struct Cosmos3Prompt { - // Loads the tokenizer and the caption settings from a Cosmos3-Edge GGUF written with + // Loads the tokenizer and the caption settings from a Cosmos3 Policy GGUF written with // `--policy-dir`. False, with a reason on stderr, when the file has none. bool load(const gguf_reader & g); diff --git a/src/serving/vla-cli.cpp b/src/serving/vla-cli.cpp index 0c49eb92..aa55f76e 100644 --- a/src/serving/vla-cli.cpp +++ b/src/serving/vla-cli.cpp @@ -27,7 +27,7 @@ #include "model.h" #include "options.h" #include "serving/hf_fetch.h" -#include "models/cosmos3_edge.h" +#include "models/cosmos3_policy.h" #include "tokenizer.h" #define STB_IMAGE_IMPLEMENTATION @@ -133,7 +133,7 @@ const char * arch_slug(Arch a) { case Arch::OCTO: return "octo"; case Arch::TURBOVLA: return "turbovla"; case Arch::ACT: return "act"; - case Arch::COSMOS3_EDGE: return "cosmos3_edge"; + case Arch::COSMOS3_POLICY: return "cosmos3_policy"; } return ""; } @@ -258,7 +258,7 @@ void usage(const char * prog) { " --state proprioception floats, comma-separated (default zeros); pi05\n" " --text needs it, since the state is part of the prompt\n" " --pretty print one action row (max_action_dim values) per line\n" - " --libero Cosmos3-Edge only: print LIBERO commands [dpos(3), axis-angle(3), gripper] instead of rot6d rows\n" + " --libero Cosmos3 Policy only: print LIBERO commands [dpos(3), axis-angle(3), gripper] instead of rot6d rows\n" " --config policy config.json; its \"runtime\" block sets the flags below,\n" " and flags given here win\n" "%s", @@ -347,8 +347,8 @@ int main(int argc, char ** argv) { std::fprintf(stderr, "vla-cli: %s takes no instruction; drop --text/--tokens\n", arch_slug(arch)); return 1; } - if (libero && arch != Arch::COSMOS3_EDGE) { - std::fprintf(stderr, "vla-cli: --libero decodes the 10-wide rot6d action of Cosmos3-Edge only; %s is %s\n", + if (libero && arch != Arch::COSMOS3_POLICY) { + std::fprintf(stderr, "vla-cli: --libero decodes the 10-wide rot6d action of Cosmos3 Policy only; %s is %s\n", ckpt.c_str(), arch_slug(arch)); return 1; } @@ -360,7 +360,7 @@ int main(int argc, char ** argv) { if (!parse_floats(state_s, state)) return 1; if (!text_s.empty()) { - if (arch == Arch::COSMOS3_EDGE || has_spm_tokenizer(ckpt, arch_slug(arch))) { + if (arch == Arch::COSMOS3_POLICY || has_spm_tokenizer(ckpt, arch_slug(arch))) { if (!tokenize_prompt(ckpt, arch_slug(arch), text_s, state, lang, attn)) return 1; for (size_t i=0; i 0 ? cfg.max_action_dim : 1; - if (libero) { // checked above: Cosmos3-Edge, 10 columns + if (libero) { // checked above: Cosmos3 Policy, 10 columns std::vector cmd; for (size_t r = 0; r + 10 <= act.size(); r += 10) { float row[7]; diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 8ea57d9d..0573a4a9 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -13,7 +13,7 @@ // limitations under the License. #include "tokenizer.h" -#include "models/cosmos3_edge.h" +#include "models/cosmos3_policy.h" #ifdef VLA_USE_SPM #include "sentencepiece_processor.h" @@ -150,20 +150,20 @@ bool tokenize_prompt(const std::string& ckpt_path, const char * arch, const std: return false; const std::string a = arch; - if (a == "cosmos3_edge") { // the task goes into a JSON caption, then a byte-level BPE; no SentencePiece + if (a == "cosmos3_policy") { // the task goes into a JSON caption, then a byte-level BPE; no SentencePiece Cosmos3Prompt prompt; std::string err; if (!prompt.load(g)) return false; if (!prompt.tokens(text, ids, err)) { - std::fprintf(stderr, "vla(cosmos3_edge): cannot tokenize the instruction: %s\n", err.c_str()); + std::fprintf(stderr, "vla(cosmos3_policy): cannot tokenize the instruction: %s\n", err.c_str()); return false; } // The graphs take a fixed number of tokens. Refuse a longer prompt here, before the model is loaded, // rather than truncate it: the chat template and <|vision_start|> are its last tokens. - const int prompt_len = (int) g.u32("cosmos3_edge.prompt_len"); + const int prompt_len = (int) g.u32("cosmos3_policy.prompt_len"); if (prompt_len > 0 && (int) ids.size() > prompt_len) { - std::fprintf(stderr, "vla(cosmos3_edge): the prompt is %zu tokens, the model takes at most %d; shorten the instruction\n", + std::fprintf(stderr, "vla(cosmos3_policy): the prompt is %zu tokens, the model takes at most %d; shorten the instruction\n", ids.size(), prompt_len); return false; } From 8bedfb28dd3e222cb2b662fa4c7938940a59eaef Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 18:00:02 +0700 Subject: [PATCH 15/17] docs: Cosmos3 Policy down to what differs from the other models; shorter changelog entry; no WAM tag in the README --- CHANGELOG.md | 22 ++++-------- README.md | 2 +- docs/MODELS.md | 95 +++++++++----------------------------------------- 3 files changed, 23 insertions(+), 96 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3033c555..c4c96e9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,22 +8,12 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke - **New model: Cosmos3 Policy** (`lerobot/Cosmos3-Edge-Policy-LIBERO`, a world-action model: a 28-layer Mixture-of-Transformers denoises 4 latent video frames and a 16-step action chunk together, 30 UniPC - steps). `src/models/cosmos3_policy.cpp` writes the Wan2.2 VAE encoder and the two-stream Nemotron 3 backbone - as ggml graphs after lerobot's `policies/cosmos3`, runs the UniPC solver on the host, and composes the - canvas the model expects (two views side by side, bicubic with antialias, reflection padding). - The same file builds the prompt from the instruction (JSON caption, chat template, - a byte-level BPE read from the GGUF; ASCII text only) and decodes rot6d to LIBERO commands, so - `vla-cli --text ... --libero` works. `scripts/convert_cosmos3_policy_to_gguf.py` reads the checkpoint's - safetensors (encoder, both streams, the LIBERO domain's action projections, statistics, tokenizer). - Against lerobot's policy in bf16 on the same inputs the chunk agrees to 2.2e-3 (CUDA) and 2.6e-3 (CPU) on one - prompt and 1.8e-2 on another, within what the bf16 reference's own rounding allows. Captions, token ids - and the action decode match lerobot and Hugging Face on every LIBERO task. `vla-server` - serves it unchanged, and `eval/client/vla_cpp_client.py` has a `cosmos3_policy` preset (tokens from the caption - and chat template, with the caption settings read from the server's GGUF through `--gguf`, rot6d decoded to - LIBERO commands); a request to the server returned the same bits as a - direct call (CPU), and `eval/run_libero.sh -m cosmos3_policy` solved a libero_spatial episode through it (CPU, one - episode). Only CPU and CUDA were tried, the server on CPU only. See `docs/MODELS.md#cosmos3-policy-world-action-model` for the build, the input contract - and what is and is not checked. + steps). `src/models/cosmos3_policy.cpp` follows lerobot's `policies/cosmos3`: the Wan2.2 VAE encoder and the + two-stream backbone as ggml graphs, the UniPC solver on the host, the canvas, the prompt (JSON caption, chat + template, byte-level BPE from the GGUF) and the rot6d decode for `vla-cli --text ... --libero`. + `scripts/convert_cosmos3_policy_to_gguf.py` converts the checkpoint. Agrees with lerobot's policy in bf16 to + 2e-3 to 2e-2 on the action chunk; the client preset `cosmos3_policy` and `eval/run_libero.sh -m cosmos3_policy` + serve it. CPU and CUDA only. See `docs/MODELS.md#cosmos3-policy`. - **Hexagon NPU on the Qualcomm Dragonwing IQ-10 (Linux).** `scripts/build_linux_hexagon.sh` cross-builds vla.cpp with `GGML_HEXAGON=ON` in Qualcomm's toolchain container, `vla-server` included. On the IQ-10 (v81, diff --git a/README.md b/README.md index 6e81dc34..add962b7 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ Use [ggml-compiler](https://github.com/khanhnd61-vr/ggml-compiler) and follow [t | [Octo-Small](https://hf.co/vrfai/octo-small-libero-gguf) | Y | Y | Y | Y | Y | - | Y | | [TurboVLA](https://hf.co/vrfai/turbovla-libero-gguf) | Y | Y | Y | Y | Y | Y | Y | | [ACT](https://hf.co/ravediamond/act-aloha-sim-transfer-cube-gguf) | Y | Y | Y | ~ | Y | ~ | ~ | -| [Cosmos3 Policy](docs/MODELS.md#cosmos3-policy-world-action-model) (WAM) | ~ | ~ | - | - | - | - | - | +| [Cosmos3 Policy](docs/MODELS.md#cosmos3-policy) | ~ | ~ | - | - | - | - | - | Legend: `Y` = supported (released and benchmarked), `~` = in progress, `-` = planned. diff --git a/docs/MODELS.md b/docs/MODELS.md index a5fa2a1e..8d00ac16 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -70,90 +70,27 @@ python scripts/inspect_gguf_quant.py model-fq.gguf ./build/vla-bench --ckpt model-fq.gguf --images 1 --size 256 --tokens 16 ``` -## Cosmos3 Policy (world-action model) +## Cosmos3 Policy -Cosmos3 Policy (`lerobot/Cosmos3-Edge-Policy-LIBERO`) is a world-action model: a 28-layer Mixture-of-Transformers -backbone (Nemotron 3 Dense, an understanding stream over the prompt and a generation stream over -`[video patches | actions]`) denoises 4 latent video frames and a 16-step action chunk together, conditioned -on the Wan2.2 VAE latent of the current frame, with 30 UniPC steps. `src/models/cosmos3_policy.cpp` follows -lerobot's `policies/cosmos3/modeling_cosmos3.py`: the VAE encoder and the backbone are ggml graphs (the -understanding stream runs once, its keys and values are kept for the 30 steps), the UniPC solver -(diffusers' `UniPCMultistepScheduler`, flow prediction, order 2, corrector) runs on the host in f32 as the -reference does. Convert from the checkpoint directory: +Cosmos3 Policy (`lerobot/Cosmos3-Edge-Policy-LIBERO`, a world-action model) converts like the others: ```bash -# the VAE encoder (one frame: the 3-D kernels' last temporal tap), the 28 layers of both streams, the -# projections of domain 5 (LIBERO), the latent statistics, the action quantiles, the canvas layout, the caption -# settings and the tokenizer. The decoder, the SigLIP tower and the language head stay out. python scripts/convert_cosmos3_policy_to_gguf.py --ckpt --out cosmos3-policy-libero-bf16.gguf ./build/vla-cli --ckpt cosmos3-policy-libero-bf16.gguf --image third_person.png --image wrist.png \ --text "turn on the stove" --libero --pretty ``` -**Inputs.** Two camera views in the order `[third person, wrist]`, of any size: each is resized to 256x256 with -antialias, composed side by side and fit into the 192x320 canvas the way lerobot's -`Cosmos3VideoCanvasProcessorStep` does (the layout is in the GGUF). Or one 320x192 image that the caller -composed itself. The instruction goes in as `--text`, which builds the JSON caption and the chat template of -`Cosmos3PromptProcessorStep` and tokenizes it with the model's byte-level BPE from the GGUF; or as `--tokens` -ids from lerobot. The text must be ASCII; anything else is refused. `noise` is the 16x10 action noise (random -if omitted, or `VLA_COSMOS3_SEED`); the video noise is drawn here from a seed that follows it. - -**Output.** The 16x10 chunk in dataset units, `[dpos(3), rot6d(6), gripper]`. `vla-cli --libero` prints the -LIBERO command `[dpos(3), axis-angle(3), gripper]` instead (lerobot's `Cosmos3LiberoActionProcessorStep`); -through `libvla` the caller decodes the rot6d. GEMM weights are the checkpoint's bf16 (`--weight-dtype` casts -them at load); on CUDA the VAE runs as f16 direct convolutions, elsewhere as f32 im2col. `--flash-attn`, -`--mm-prec-f32` and `--num-steps` work; `--act-dtype bf16` is refused. The engine is written for this policy's -setup: mode `wam`, no robot state, no classifier-free guidance, one or two cameras of the 256 resolution tier; -the converter refuses a config that differs. - -**Serving.** `vla-server` needs no change for this model: it hands the images, token ids and noise of a request to -`predict()` whatever the architecture is, and Cosmos3 Policy fits its checks (no state, a 16x10 noise, a 16x10 -response; the start-up warm-up of two 224x224 views and 32 made-up tokens runs). The server has no text field, so -the client sends token ids. `eval/client/vla_cpp_client.py` has a `cosmos3_policy` preset that builds them (the caption -and chat template of lerobot's prompt step, with the policy's tokenizer, and the caption settings read from the -server's GGUF with `--gguf`, the same `cosmos3_policy.caption.*` keys `vla-cli --text` uses; without `--gguf` it assumes -the LIBERO checkpoint's), sends the two 256x256 views as float RGB, and decodes the 16x10 rot6d chunk it gets back -to 16 LIBERO commands: - -```bash -./build/vla-server cosmos3-policy-bf16.gguf # -DVLA_BUILD_SERVER=ON -python eval/client/run_sim_client_direct.py --arch cosmos3_policy --n-action-steps 16 \ - --gguf cosmos3-policy-bf16.gguf --tokenizer /tokenizer ... # nvidia/Cosmos3 Policy if reachable -``` - -`eval/run_libero.sh -m cosmos3_policy` runs the whole flow (server, LIBERO client, stop) from a models directory that -holds `cosmos3-policy-libero-gguf/cosmos3-policy-libero-bf16.gguf`; a missing directory is skipped, so `-m all` is -unaffected. The client needs a Python with LIBERO and a transformers that reads the policy's tokenizer: -`COSMOS3_POLICY_PYTHON` picks it (default: the LIBERO venv of `eval/sim/libero/setup_libero.sh`, which pins an older -transformers), `COSMOS3_POLICY_TOKENIZER` the local `tokenizer/` directory. - -**What was checked** (bf16 GGUF; CPU and CUDA on an RTX 3060): - -- *The engine*, against lerobot's policy run in bf16 (the configuration of its LIBERO numbers) on the same views, - tokens and noise: on a 152-token prompt the 16x10 chunk agrees to a scaled error of 2.2e-3 on CUDA and 2.6e-3 - on CPU, on a 150-token prompt to 1.8e-2 (CUDA). The bf16 reference carries rounding of that order itself (its - latent differs from the engine's f32 one by 1e-2), so the second figure is not yet separated into engine and - reference error; an f32 reference run is what settles it. Stage by stage at the first step, the prompt keys - and values, the generation stream's embeddings, layer 0's queries and output and both velocities agree to - 5e-3 to 1e-2, the reference's precision. The host UniPC port agrees with diffusers' scheduler to 5e-7 on a - synthetic velocity field. One chunk takes 4.3 s on the 3060 (VAE 0.11 s, prompt 0.11 s, 30 steps 4.1 s) and - 74 to 103 s on a 12-thread CPU. -- *The prompt.* For the 40 LIBERO tasks and five edge cases the caption is byte-identical to lerobot's and - the ids to Hugging Face's, and 550 random ASCII and special-token texts tokenize identically. llama.cpp's BPE (`b11223`, pre-tokenizer `tekken`, which uses - a rewritten approximation of the model's regex) gave the same ids on 607 of 607 texts, so the in-tree tokenizer - was cross-checked against both. It implements the ASCII letter classes only, hence the ASCII limit. -- *The action decode.* rot6d to axis-angle matches lerobot's to 7e-7 on 62 rows. -- *The canvas.* The C++ canvas matches torch's CPU result to within one pixel of 184,320 on random images. It - differs from the canvas lerobot makes on a GPU in 33 to 38 pixels, by one level each, as torch's own CPU and - CUDA results do; the actions on the two canvases differ by less than the engine-reference gap above. -- *The server* (CPU, an earlier revision of the engine). A request for one case returned exactly what a direct - `libvla` call returned on the same inputs, the client built the same 150 token ids as the case's, its numpy - rot6d decode matched lerobot's to 7e-7, and `get_action` returned a whole chunk of 16 finite LIBERO commands. - Through `eval/run_libero.sh -m cosmos3_policy -s libero_spatial` (task 0, one episode, CPU) the episode was - solved. The engine has been rewritten since; the server path itself is unchanged. - -Not checked with the hand-written engine: the closed loop on LIBERO (an earlier revision of this port, with -graphs generated from the same PyTorch path, solved 19 of 20 libero_spatial episodes and reached 96.45% over all -of LIBERO against 96.6% for the PyTorch policy in bf16); `--flash-attn` (the VAE's 640-wide attention head is kept -on the explicit path because the CUDA kernels have no such head size, but the remaining path was not compared); -ROCm, SYCL, Metal, OpenVINO and Hexagon; `vla-server` on a GPU. +What differs at run time: the two views must come in the order `[third person, wrist]` (they are composed into +the model's 192x320 canvas as lerobot's processor does; one image of that size is taken as a composed canvas); +`--text` builds the JSON caption and chat template of the prompt step and tokenizes it with the model's BPE from +the GGUF, ASCII only; the output chunk is 16x10 in dataset units, `[dpos(3), rot6d(6), gripper]`, and `--libero` +prints LIBERO commands `[dpos(3), axis-angle(3), gripper]` instead. `vla-server` serves it unchanged; +`eval/client/vla_cpp_client.py --arch cosmos3_policy` builds the token ids and decodes the rot6d chunk, and +`eval/run_libero.sh -m cosmos3_policy` runs it from `cosmos3-policy-libero-gguf/cosmos3-policy-libero-bf16.gguf`. +`--act-dtype bf16` is refused; the engine is written for this policy's setup (mode `wam`, no robot state, no +classifier-free guidance, one or two cameras of the 256 tier) and the converter refuses a config that differs. + +Against lerobot's policy in bf16 on the same views, tokens and noise the chunk agrees to a scaled error of 2.2e-3 +on CUDA and 2.6e-3 on CPU on one prompt and 1.8e-2 on another, the second within the bf16 reference's own +rounding; the caption, token ids and action decode match lerobot and Hugging Face on every LIBERO task. One +chunk takes 4.3 s on an RTX 3060 and 74 to 103 s on a 12-thread CPU. Only CPU and CUDA were tried. From c1f6245282d31c8a9fb742dd8509e8d71d082738 Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 18:02:56 +0700 Subject: [PATCH 16/17] docs: leave MODELS.md as it is; the README row links to the checkpoint --- CHANGELOG.md | 2 +- README.md | 2 +- docs/MODELS.md | 25 ------------------------- eval/run_libero.sh | 2 +- 4 files changed, 3 insertions(+), 28 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4c96e9e..8e4b89ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ Notable changes to vla.cpp. Format loosely follows [Keep a Changelog](https://ke template, byte-level BPE from the GGUF) and the rot6d decode for `vla-cli --text ... --libero`. `scripts/convert_cosmos3_policy_to_gguf.py` converts the checkpoint. Agrees with lerobot's policy in bf16 to 2e-3 to 2e-2 on the action chunk; the client preset `cosmos3_policy` and `eval/run_libero.sh -m cosmos3_policy` - serve it. CPU and CUDA only. See `docs/MODELS.md#cosmos3-policy`. + serve it. CPU and CUDA only. - **Hexagon NPU on the Qualcomm Dragonwing IQ-10 (Linux).** `scripts/build_linux_hexagon.sh` cross-builds vla.cpp with `GGML_HEXAGON=ON` in Qualcomm's toolchain container, `vla-server` included. On the IQ-10 (v81, diff --git a/README.md b/README.md index add962b7..f136f7cc 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ Use [ggml-compiler](https://github.com/khanhnd61-vr/ggml-compiler) and follow [t | [Octo-Small](https://hf.co/vrfai/octo-small-libero-gguf) | Y | Y | Y | Y | Y | - | Y | | [TurboVLA](https://hf.co/vrfai/turbovla-libero-gguf) | Y | Y | Y | Y | Y | Y | Y | | [ACT](https://hf.co/ravediamond/act-aloha-sim-transfer-cube-gguf) | Y | Y | Y | ~ | Y | ~ | ~ | -| [Cosmos3 Policy](docs/MODELS.md#cosmos3-policy) | ~ | ~ | - | - | - | - | - | +| [Cosmos3 Policy](https://hf.co/lerobot/Cosmos3-Edge-Policy-LIBERO) | ~ | ~ | - | - | - | - | - | Legend: `Y` = supported (released and benchmarked), `~` = in progress, `-` = planned. diff --git a/docs/MODELS.md b/docs/MODELS.md index 8d00ac16..75b8b3c7 100644 --- a/docs/MODELS.md +++ b/docs/MODELS.md @@ -69,28 +69,3 @@ python scripts/foldquant_fake_export.py --in model-bf16.gguf --out model-fq.gguf python scripts/inspect_gguf_quant.py model-fq.gguf ./build/vla-bench --ckpt model-fq.gguf --images 1 --size 256 --tokens 16 ``` - -## Cosmos3 Policy - -Cosmos3 Policy (`lerobot/Cosmos3-Edge-Policy-LIBERO`, a world-action model) converts like the others: - -```bash -python scripts/convert_cosmos3_policy_to_gguf.py --ckpt --out cosmos3-policy-libero-bf16.gguf -./build/vla-cli --ckpt cosmos3-policy-libero-bf16.gguf --image third_person.png --image wrist.png \ - --text "turn on the stove" --libero --pretty -``` - -What differs at run time: the two views must come in the order `[third person, wrist]` (they are composed into -the model's 192x320 canvas as lerobot's processor does; one image of that size is taken as a composed canvas); -`--text` builds the JSON caption and chat template of the prompt step and tokenizes it with the model's BPE from -the GGUF, ASCII only; the output chunk is 16x10 in dataset units, `[dpos(3), rot6d(6), gripper]`, and `--libero` -prints LIBERO commands `[dpos(3), axis-angle(3), gripper]` instead. `vla-server` serves it unchanged; -`eval/client/vla_cpp_client.py --arch cosmos3_policy` builds the token ids and decodes the rot6d chunk, and -`eval/run_libero.sh -m cosmos3_policy` runs it from `cosmos3-policy-libero-gguf/cosmos3-policy-libero-bf16.gguf`. -`--act-dtype bf16` is refused; the engine is written for this policy's setup (mode `wam`, no robot state, no -classifier-free guidance, one or two cameras of the 256 tier) and the converter refuses a config that differs. - -Against lerobot's policy in bf16 on the same views, tokens and noise the chunk agrees to a scaled error of 2.2e-3 -on CUDA and 2.6e-3 on CPU on one prompt and 1.8e-2 on another, the second within the bf16 reference's own -rounding; the caption, token ids and action decode match lerobot and Hugging Face on every LIBERO task. One -chunk takes 4.3 s on an RTX 3060 and 74 to 103 s on a 12-thread CPU. Only CPU and CUDA were tried. diff --git a/eval/run_libero.sh b/eval/run_libero.sh index 14b672ce..1fc8f44f 100644 --- a/eval/run_libero.sh +++ b/eval/run_libero.sh @@ -576,7 +576,7 @@ if should_run vla_jepa; then fi fi -# cosmos3_policy: the GGUF of scripts/convert_cosmos3_policy_to_gguf.py (docs/MODELS.md#cosmos3-policy-world-action-model), not +# cosmos3_policy: the GGUF of scripts/convert_cosmos3_policy_to_gguf.py, not # published yet, so a missing one is skipped instead of failing a sweep over all models. if should_run cosmos3_policy; then cosmos3_gguf="${MODELS_ROOT}/cosmos3-policy-libero-gguf/cosmos3-policy-libero-bf16.gguf" From 448b3354ecb99080e146e3c7e682a704dfa77bdc Mon Sep 17 00:00:00 2001 From: Khanh Nguyen Date: Mon, 9 Nov 2026 18:06:58 +0700 Subject: [PATCH 17/17] README: the Cosmos3 Policy row links to the vrfai GGUF --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f136f7cc..78edc845 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ Use [ggml-compiler](https://github.com/khanhnd61-vr/ggml-compiler) and follow [t | [Octo-Small](https://hf.co/vrfai/octo-small-libero-gguf) | Y | Y | Y | Y | Y | - | Y | | [TurboVLA](https://hf.co/vrfai/turbovla-libero-gguf) | Y | Y | Y | Y | Y | Y | Y | | [ACT](https://hf.co/ravediamond/act-aloha-sim-transfer-cube-gguf) | Y | Y | Y | ~ | Y | ~ | ~ | -| [Cosmos3 Policy](https://hf.co/lerobot/Cosmos3-Edge-Policy-LIBERO) | ~ | ~ | - | - | - | - | - | +| [Cosmos3 Policy](https://hf.co/vrfai/cosmos3-policy-libero-gguf) | ~ | ~ | - | - | - | - | - | Legend: `Y` = supported (released and benchmarked), `~` = in progress, `-` = planned.