diff --git a/research/u8-cleanup-markowitz-lpr-seed30/CLAIM.json b/research/u8-cleanup-markowitz-lpr-seed30/CLAIM.json new file mode 100644 index 0000000000..84328034d7 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/CLAIM.json @@ -0,0 +1,54 @@ +{ + "track": "20-39: Complex supplier: improve one specific circuit, frame schedule, decoder, or paid recursive profile", + "assignment_seed": 30, + "base_commit": "abdc6a7002abdbcd9e21bfc5e1a795784deacfdf", + "status": "completed", + "pr_url": "https://github.com/CrocSwap/integer-mult-bounds/pull/1119", + "selected_frontier_certificate": { + "path": "certificates/selected-result.json", + "sha256": "a1324455ccdf7261df660e3748374a6680fdbe15c97a7161cf30c9d0ab49cd8f", + "kappa": "1661960547713947/1000000000000000000" + }, + "candidate_tasks_evaluated": [ + { + "id": 1, + "title": "Partial E4 -> E5 entrance-promotion reversion inside one 4-helper group [659, 661, 662, 663] of U8 to fill T37 rank-1 idle gaps", + "status": "scoped_negative_finding_recorded", + "summary": "Reverting m in {1, 2, 3} helpers of [659, 661, 662, 663] from E5 (dim 5) to E4 (dim 4) forces the 12 bipartite delivery gates B[420..431] into {656, 657, 658, 660} to split between frames E4 and E5, splitting the single rank-4 climb (1 -> 5) on {656, 657, 658, 660} into (1 -> 4 -> 5) and yielding local profile deltas {1:+2, 2:+1, 3:+3, 4:-3} (m=1) and {1:+2, 2:+2, 3:+4, 4:-4} (m=2), which strictly worsen the complex moment." + }, + { + "id": 2, + "title": "Frame-0 premix refactorization at the head of section A in U8", + "status": "ruled_out_in_favorable_budget_check", + "summary": "The frame-0 premix prefix of section A in U8 comprises only 57 scalar macros (482 real primitives per orientation) with small coefficients (max_num = 2, max_den = 2), offering negligible circuit savings." + }, + { + "id": 3, + "title": "Two-sided Markowitz LPR (R^{-1} P L^{-1}) Schur-complement refactorization with Weyl-group signed cycles for full_frame_cleanup on the selected U8 complex supplier word", + "status": "completed_positive_circuit_improvement", + "summary": "Replaces the 6,105-macro one-sided dyadic Gauss-Jordan high_inverse in U8 full_frame_cleanup with a 3,525-macro two-sided Markowitz R^{-1} P L^{-1} factorization with Weyl-group signed cycles (seed=30, trial=16, swap_pen=6, scale_pen=0), cutting cleanup macros by 2,580 (-42.26%), cleanup real primitives by 37,320 per orientation (-54.31%, or -74,640 across the forward+backward pair), maximum cleanup numerator from 131,646 to 8, and backward prefix L1 bit bound from 72 bits to 54 bits (-18 bits, 210,704x reduction) while preserving all 728 exact columns, native frames, paid recursive profile, and residual adapter recipes." + } + ], + "search_domain": { + "rng": "random.Random(30)", + "trials": 40, + "swap_penalty_grid": [3, 4, 5, 6], + "scale_penalty_grid": [0, 1], + "stopping_rule": "Evaluate exactly 40 deterministic trials seeded by assignment seed 30 (plus deterministic grid sp in {2,3,4,5,6}, scp in {0,1} without tie-breaking noise) and select the word minimizing lexicographically (real_component_primitives, scalar_macros).", + "completed_coverage": "All 10 deterministic grid points and all 40 seed-30 trials completed; minimum attained at seed=30 trial=16 (swap_pen=6, scale_pen=0) with 3,525 scalar macros and 31,394 real-component primitives per orientation." + }, + "deliverables": [ + "research/u8-cleanup-markowitz-lpr-seed30/CLAIM.json", + "research/u8-cleanup-markowitz-lpr-seed30/CLAIM.md", + "research/u8-cleanup-markowitz-lpr-seed30/PROOF.md", + "research/u8-cleanup-markowitz-lpr-seed30/RECIPE.json", + "research/u8-cleanup-markowitz-lpr-seed30/SOURCES.json", + "research/u8-cleanup-markowitz-lpr-seed30/EXPECTED.json", + "research/u8-cleanup-markowitz-lpr-seed30/verify.py", + "research/u8-cleanup-markowitz-lpr-seed30/independent.py", + "research/u8-cleanup-markowitz-lpr-seed30/test_package.py", + "research/u8-cleanup-markowitz-lpr-seed30/VALIDATION.md", + "research/u8-cleanup-markowitz-lpr-seed30/NOTICE.md", + "research/u8-cleanup-markowitz-lpr-seed30/README.md" + ] +} diff --git a/research/u8-cleanup-markowitz-lpr-seed30/CLAIM.md b/research/u8-cleanup-markowitz-lpr-seed30/CLAIM.md new file mode 100644 index 0000000000..7c01123ecc --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/CLAIM.md @@ -0,0 +1,26 @@ +# Sprint Claim — Seed 30 (Track 20–39: Complex Supplier) + +- **Track & Seed:** `20–39: Complex supplier: improve one specific circuit, frame schedule, decoder, or paid recursive profile` (OS random seed: **`30`**) +- **Base Commit:** `abdc6a7002abdbcd9e21bfc5e1a795784deacfdf` +- **Submitted PR:** [`CrocSwap/integer-mult-bounds#1119`](https://github.com/CrocSwap/integer-mult-bounds/pull/1119) +- **Selected Frontier Certificate:** `certificates/selected-result.json` (conditional $\kappa = 1661960547713947 / 10^{18} = 0.001661960547713947$, PR #942 on PR #869/#870 and PR #890 / PR #858) +- **Coordination Note:** No pinned sprint coordination issue exists on `CrocSwap/integer-mult-bounds` (open issues are `#913` and `#650`). This claim is recorded locally in `CLAIM.json` and `CLAIM.md` and checked against all open PRs through `#1118` for non-overlap. + +## Three Narrow Candidate Tasks Evaluated + +1. **Candidate 1 (Partial $E_4 \to E_5$ entrance-promotion reversion inside one 4-helper group `[659, 661, 662, 663]` of U8 to fill T37 rank-1 idle gaps):** + - **Hypothesis:** In PR #869 (`PROOF-NOTE-PROMO.md`), two 4-helper groups (`659, 661, 662, 663` and `666, 669, 672, 673`) had their entrance frames promoted from $E_4 = [298, 170, 102, 30]$ (dim 4) to $E_5 = [298, 170, 102, 30, 1]$ (dim 5), changing the local paid profile by $\Delta = \{2:-4, 3:-2, 4:+2\}$ per group. Since T37 (`research/complex-t37-owners`) has 2 remaining rank-1 idle slots (examined via $J$-pair unpromotion in PR #1072), we tested reverting $m \in \{1, 2, 3\}$ helpers of `[659, 661, 662, 663]` back to $E_4$. + - **Outcome (Scoped Negative Finding):** In U8 (`native/barch/FULL-WORD.json.gz`), the 12 bipartite delivery gates `B[420..431]` (`dst in {656, 657, 658, 660}`, `src in {659, 661, 662, 663}`) find the destination helpers `656, 657, 658, 660` at frame dimension $1$. When $1 \le m \le 3$ helpers in `{659, 661, 662, 663}` are reverted to $E_4$ (dim 4) and $4-m$ remain at $E_5$ (dim 5), each of `656, 657, 658, 660` must first climb $1 \to 4$ (rank 3) for the $E_4$ sources and then climb $4 \to 5$ (rank 1) for the $E_5$ sources, splitting 4 rank-4 climbs into 4 rank-3 climbs plus 4 rank-1 climbs. This produces local profile deltas $\Delta_{\text{local}}(m=1) = \{1:+2, 2:+1, 3:+3, 4:-3\}$ and $\Delta_{\text{local}}(m=2) = \{1:+2, 2:+2, 3:+4, 4:-4\}$, strictly worsening the complex moment at $b_{\text{front}}$. Recorded and verified in `PROOF.md` and `verify.py`. + +2. **Candidate 2 (Frame-0 `premix` refactorization at the head of section `A` in U8):** + - **Outcome:** Ruled out during the Step 4 favorable-budget check because the frame-0 `premix` prefix of `A` in U8 contains only 57 scalar macros (482 real primitives per orientation) with small coefficients ($\max |\text{num}| = 2$, $\max \text{den} = 2$). + +3. **Candidate 3 (Selected — Two-sided Markowitz $R^{-1} P L^{-1}$ Schur-complement refactorization with Weyl-group signed cycles for `full_frame_cleanup` on the selected U8 complex supplier word):** + - **Object:** `cleanup` (`full_frame_cleanup` at frame `1` = `FULL`) in the selected U8 complex supplier word (`native/barch/FULL-WORD.json.gz` content sha256 `090fd574...`, `native/local/CANONICAL-WORD.json.gz` content sha256 `48b532f1...`). + - **Mechanism & Result:** Replaces the 6,105-macro one-sided dyadic Gauss-Jordan elimination (`high_inverse = "dyadic_sparse_Gauss_Jordan"`, which suffers severe fill-in and coefficient explosion up to `131,646`) with a 3,525-macro two-sided Markowitz $R^{-1} P L^{-1}$ Schur-complement factorization with Weyl-group signed cycles (`seed = 30`, `trial = 16`, `swap_pen = 6`, `scale_pen = 0`): + - Cuts `full_frame_cleanup` scalar macros from **6,105 to 3,525** (**$-2,580$ macros per orientation, $-42.26\%$**). + - Cuts `full_frame_cleanup` real-component primitives from **68,714 to 31,394** per orientation (**$-37,320$ real primitives per orientation, $-54.31\%$**). + - Cuts full U8 local program real-component primitives from **193,306 to 155,986** (forward) and **193,354 to 156,034** (backward), saving **74,640 real primitives per forward+backward invocation pair** (**$-19.30\%$** of the entire U8 local program). + - Cuts maximum `cleanup` numerator magnitude from **131,646 to 8** ($16,455.75\times$ reduction) and maximum denominator from **64 to 8**. + - Cuts the backward orientation's peak prefix $L_1$ coefficient norm (`prefix_l1_upper`) from `48299247708521178587951/16` (`72` bits) to **`57316408753392281/4`** (**`54` bits**, **$-18$ bits**, a **$210,704\times$ reduction**), and the forward peak prefix $L_1$ norm from `6812058044968180837/256` (`55` bits) to **`1938756620440273`** (**`51` bits**, **$-4$ bits**, a **$13.7\times$ reduction**). + - Preserves all 728 exact columns in both orientations, all 1,005 native frames, all 2,949 directed frame edges, the paid recursive child profile `{1: 2548, 2: 338, 3: 446, 4: 162, 5: 72, 8: 8}`, and byte-identical `RESIDUAL-ADAPTERS.json` (`8b06181f...`). Does not claim a new $\kappa$. diff --git a/research/u8-cleanup-markowitz-lpr-seed30/EXPECTED.json b/research/u8-cleanup-markowitz-lpr-seed30/EXPECTED.json new file mode 100644 index 0000000000..74abb9c2d0 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/EXPECTED.json @@ -0,0 +1,157 @@ +{ + "package": "u8-cleanup-markowitz-lpr-seed30", + "seed": 30, + "track": "20-39: Complex supplier", + "base_commit": "abdc6a7002abdbcd9e21bfc5e1a795784deacfdf", + "status": "PASS_U8_CLEANUP_MARKOWITZ_LPR_REFACTORIZATION", + "changes_kappa": false, + "selected_kappa": { + "numerator": 1661960547713947, + "denominator": 1000000000000000000, + "decimal": "0.001661960547713947" + }, + "cleanup_section_comparison": { + "baseline_u8": { + "method": "dyadic_sparse_Gauss_Jordan", + "scalar_macros": 6105, + "add_macros": 6005, + "scale_macros": 100, + "real_component_primitives_per_orientation": 68714, + "max_abs_numerator": 131646, + "max_denominator": 64 + }, + "refactored_lpr_seed30": { + "method": "two_sided_Markowitz_LPR_Weyl_seed30", + "scalar_macros": 3525, + "add_macros": 3355, + "scale_macros": 170, + "R_inv_macros": 1744, + "P_macros": 406, + "L_inv_macros": 1375, + "disjoint_cycles": 61, + "real_component_primitives_per_orientation": 31394, + "max_abs_numerator": 8, + "max_denominator": 8 + }, + "deltas_per_orientation": { + "scalar_macros": -2580, + "scalar_macros_pct": -42.26044226044226, + "real_component_primitives": -37320, + "real_component_primitives_pct": -54.31207614168874 + } + }, + "full_local_program_comparison": { + "baseline_u8": { + "scalar_operations_audit": 19189, + "refactored_cleanup_gates_total": 6276, + "early_cleanup_gates": 171, + "events_per_orientation": 24415, + "scalar_macros_per_orientation": 19213, + "forward_real_component_primitive_bound": 193306, + "backward_real_component_primitive_bound": 193354, + "pair_real_component_primitive_bound": 386660, + "forward_prefix_l1_upper": "6812058044968180837/256", + "forward_prefix_bits_upper": 55, + "backward_prefix_l1_upper": "48299247708521178587951/16", + "backward_prefix_bits_upper": 72 + }, + "refactored_lpr_seed30": { + "scalar_operations_audit": 16609, + "refactored_cleanup_gates_total": 3696, + "early_cleanup_gates": 171, + "events_per_orientation": 21835, + "scalar_macros_per_orientation": 16633, + "forward_real_component_primitive_bound": 155986, + "backward_real_component_primitive_bound": 156034, + "pair_real_component_primitive_bound": 312020, + "forward_prefix_l1_upper": "1938756620440273", + "forward_prefix_bits_upper": 51, + "backward_prefix_l1_upper": "57316408753392281/4", + "backward_prefix_bits_upper": 54, + "raw_full_word_content_sha256": "2fcbb16c5a87553f4b4cfff7bfd75b7900a99ce66f9ff9fa47e971d53f5ebd30", + "canonical_word_content_sha256": "e9152741730bf34f4cdff694d38dace6b624d643d7bf53e7d492822101eebe8f", + "forward_program_sha256": "268751349882fba3e5f7834a6676ad545042a7d634a585334594cd1f433afc4e", + "backward_program_sha256": "0bfe1e727bfafca2f573caa862a6fe7308b5cea28c91df6ce2d36df226f2a45f", + "residual_adapters_sha256": "8b06181f69832da05e3bffab0737598013e20de6f1f48aad43617fbfe62df615", + "wrapper_checks_sha256": "75510637de1a14c5d37e2fe95d4c11aabc5cf3d2f1508dfb04f9795972629865" + }, + "deltas": { + "events_per_orientation": -2580, + "events_pair": -5160, + "scalar_macros_per_orientation": -2580, + "scalar_macros_pair": -5160, + "real_component_primitives_per_orientation": -37320, + "real_component_primitives_pair": -74640, + "forward_prefix_bits_delta": -4, + "backward_prefix_bits_delta": -18 + } + }, + "preserved_invariants": { + "all_columns_each_orientation": 728, + "helpers": 504, + "frames": 1005, + "directed_edges": 2949, + "paid_profile": { + "1": 2548, + "2": 338, + "3": 446, + "4": 162, + "5": 72, + "8": 8 + }, + "local_rank_mass": 5634, + "upstream_local_negative_controls_rejected": 25, + "upstream_wrapper_negative_controls_rejected": 17, + "package_negative_controls_rejected": 12 + }, + "scoped_negative_finding_candidate1": { + "object": "Partial E4 entrance-promotion reversion inside 4-helper group [659, 661, 662, 663] of U8", + "entrance_e5_vectors": [ + 298, + 170, + 102, + 30, + 1 + ], + "entrance_e4_vectors": [ + 298, + 170, + 102, + 30 + ], + "coupled_delivery_registers": [ + 656, + 657, + 658, + 660 + ], + "local_profile_deltas_by_m": { + "0": {}, + "1": { + "1": 2, + "2": 1, + "3": 3, + "4": -3 + }, + "2": { + "1": 2, + "2": 2, + "3": 4, + "4": -4 + }, + "3": { + "1": -1, + "2": 4, + "3": 4, + "4": -4 + }, + "4": { + "1": -8, + "2": 8, + "3": 4, + "4": -4 + } + }, + "mechanism": "When 1 <= m <= 3 helpers in {659, 661, 662, 663} are reverted to E4, the 12 bipartite delivery gates B[420..431] into {656, 657, 658, 660} split between frame E4 (dim 4) and frame E5 (dim 5), splitting the single rank-4 climb (1 -> 5) on each of {656, 657, 658, 660} into a rank-3 climb (1 -> 4) plus a rank-1 climb (4 -> 5)." + } +} diff --git a/research/u8-cleanup-markowitz-lpr-seed30/NOTICE.md b/research/u8-cleanup-markowitz-lpr-seed30/NOTICE.md new file mode 100644 index 0000000000..a3bc505d58 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/NOTICE.md @@ -0,0 +1,19 @@ +# Notice and Attribution + +**Package:** `research/u8-cleanup-markowitz-lpr-seed30` +**License:** Apache-2.0 (following the repository license at the root of `CrocSwap/integer-mult-bounds`). + +## Contributor Attribution and AI Disclosure + +- **Contributor:** `steph4n-gh` +- **AI Assistance Disclosure:** Substantial AI assistance from **Gemini 4 Argon** (Google DeepMind / Antigravity) was used in the mathematical formulation of the two-sided Markowitz $R^{-1} P L^{-1}$ Schur-complement cleanup factorization and Weyl-group signed cycle realization, the analysis of the partial-$E_4$ entrance-promotion climb-splitting lemma, and the implementation of `verify.py`, `independent.py`, and `test_package.py`. + +## Credit to Predecessor Work + +This package builds directly on and credits the following predecessor contributions in `CrocSwap/integer-mult-bounds`: + +- **Jonathan Capalbo (`jon314159`, PR #942):** Selected frontier certificate (`certificates/selected-result.json`, $\kappa = 1661960547713947 / 10^{18}$), T37 owner-allocation proof (`research/complex-t37-owners/`), and the PR #942 audit bundle (`research/community-frontier942-audit/t37-replay.tar.gz`). +- **Jeremy Kothe (`jeremykothe2`, PR #869 / PR #870):** The U8 complex supplier word (`research/gauge44-barch/construction/barch/RECIPE-U8.json`, `LOCAL-PINS-barch-U8.json`) and the `gauge44-barch` pipeline (`PROOF-NOTE-BARCH.md`, `PROOF-NOTE-FRAMES-X4.md`, `PROOF-NOTE-PROMO.md`, `PROOF-NOTE-LAYERS.md`, `PROOF-NOTE-NOTRI.md`). +- **Chafik Boukhalfa (`chafreaky`, PR #890) and Hao Yan (`icekylinx`, PR #858, PR #704, PR #635, PR #571, PR #558, PR #552, PR #531, PR #514, PR #433, PR #425):** The hyperplane-ended (`HPE`) and cold-hyperplane-ended (`COLD-HPE`) local compiler and verification suite (`hpe_audit_and_transport.py`, `hpe_emit_local.py`, `hpe_audit_local.py`, `hpe_adapters_local.py`), the `cold44x.py` refactored-cleanup architecture, and the multi-cold global assembly pipeline. +- **DreamingOfClouds (PR #484, PR #593, PR #589, PR #555):** Entrance-frame residual wrapper theorems ($L_{E,U}^{-1} S_{E,U} R_{E,U}^{-1} = C_{[w]} \otimes I$), arbitrary-dirt local compensation audits, and the selected bit-side supplier (`PR #589` on `PR #555`). +- **`steph4n-gh` (PR #1072):** Analysis of the remaining rank-1 idle slots in T37 under $J$-pair unpromotion (`research/complex-t37-jpair-unpromotion-seed24/`). diff --git a/research/u8-cleanup-markowitz-lpr-seed30/PROOF.md b/research/u8-cleanup-markowitz-lpr-seed30/PROOF.md new file mode 100644 index 0000000000..5ac30b5562 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/PROOF.md @@ -0,0 +1,122 @@ +# Mathematical Proofs: Two-Sided Markowitz $R^{-1} P L^{-1}$ Cleanup Refactorization and Partial-$E_4$ Climb-Splitting Lemma + +**Package:** `research/u8-cleanup-markowitz-lpr-seed30` +**Base Commit:** `abdc6a7002abdbcd9e21bfc5e1a795784deacfdf` +**Assignment Seed:** `30` (Track `20–39: Complex supplier`) +**Status:** Finite circuit construction and scoped negative result (`no new kappa`) + +--- + +## 1. Setting and Problem Statement + +In the selected U8 complex supplier word (`native/barch/FULL-WORD.json.gz`, content SHA-256 `090fd574747fbf9628e70cb9beb792732914cfa52e1df147579fe4dbccc68c5a`; canonical word `native/local/CANONICAL-WORD.json.gz`, content SHA-256 `24db880b7dab31e6af4eec8a1aba1bbbae29cd50d9a7b77cf0e9b571b3e5ae7c`), the register space has dimension $n = 2v + R = 2(112) + 504 = 728$: + +- **Data registers:** $D = \{0, \dots, 111\}$ ($v = 112$), +- **Target registers:** $T = \{112, \dots, 223\}$ ($v = 112$), +- **Helper registers:** $H = \{224, \dots, 727\}$ ($R = 504$), partitioned at the end of section `B` + `cleanup_tail` into $126$ hyperplane-ended helpers $H_{\text{hpe}}$ (whose terminal frame in `canonical['final']` is a proper subspace $U \subsetneq \text{FULL}$) and $378$ `FULL`-ended helpers $H_{\text{full}}$. + +After the prefix +$$\mathcal{W}_{\text{prefix}} = \text{precondition} + \text{compensation} + A + \text{cut} + B + \text{tail}$$ +has executed, every register in $T \cup H_{\text{hpe}}$ has already reached its exact endpoint state, while the remaining $m = |D \cup H_{\text{full}}| = 112 + 378 = 490$ registers sit at frame `1` (`FULL`) in an invertible dyadic linear state $M_{\text{after}} \in GL_{728}(\mathbb{Z}[1/2])$ supported on $S = D \cup H_{\text{full}}$. The `full_frame_cleanup` section (`canonical['cleanup']`) must implement the exact inverse linear transformation +$$M_0 = M_{\text{after}}^{-1} \in GL_{728}(\mathbb{Z}[1/2]),$$ +which acts as the identity on $\overline{S} = T \cup H_{\text{hpe}}$ and maps $M_{\text{after}}$ back to the identity on $S$ (leaving the compensated target accumulations $y_t \leftarrow y_t + x_t$ untouched on $T$). + +### Why the Baseline U8 `cleanup` Has Coefficient Blowup + +In `cold44x.py` (`high_inverse = "dyadic_sparse_Gauss_Jordan"`), the baseline U8 `cleanup` was synthesized by running **one-sided (row-only) Gauss-Jordan elimination** on $M_{\text{after}}$ (which has $9,430$ off-diagonal nonzeros) in the fixed register order $c = 0, 1, \dots, 727$. Because no column operations or sparsity-preserving pivot orderings were used: + +1. Eliminating dense columns early caused severe fill-in across the remaining active submatrix, requiring **$6,105$ scalar macros** ($6,005$ `add` and $100$ `scale`) and **$68,714$ real-component primitives per orientation**. +2. Repeated row additions compounded odd numerators up to **$\max |\text{num}| = 131,646$** and denominators up to **$\max \text{den} = 64$**. +3. By contrast, inspecting $M_0 = M_{\text{after}}^{-1}$ directly reveals that $M_0$ has **only $2,844$ off-diagonal nonzeros**, and **every single entry of $M_0$ has numerator in $\{0, \pm 1, \pm 2, \pm 3, \pm 4\}$ and denominator in $\{1, 2, 4\}$**! + +--- + +## 2. Two-Sided Markowitz $R^{-1} P L^{-1}$ Schur-Complement Factorization + +Let $E_{\text{add}}(d, s, q) = I + q e_d e_s^T$ ($d \ne s$, $q \in \mathbb{Z}[1/2]$) and $E_{\text{scale}}(d, q) = I + (q - 1) e_d e_d^T$ ($q = \pm 2^k$, $k \in \mathbb{Z}$) denote the elementary row matrices corresponding to `["add", d, s, num, den, 1]` and `["scale", d, num, den, 1]`. Under `hpe_audit_and_transport.py` and `hpe_emit_local.py`, a gate list $W = [g_1, g_2, \dots, g_N]$ acts sequentially from left to right on the row-state matrix $X$ via $X \mapsto E(g_N) \cdots E(g_2) E(g_1) X$, so the linear operator implemented by $W$ is the ordered matrix product +$$\operatorname{Mat}(W) = E(g_N) \cdots E(g_2) E(g_1).$$ + +### Proposition 1 (Zero-Fill-In Right Column Clearing and $R^{-1} P L^{-1}$ Exactness) + +Let $M^{(0)} = M_0 \in GL_n(\mathbb{Z}[1/2])$ be trivial outside the active index set $S$ ($|S| = m$). Suppose for steps $t = 1, \dots, m$ we choose a pivot pair $(r_t, c_t) \in S_r^{(t-1)} \times S_c^{(t-1)}$ such that the pivot entry +$$p_t = M^{(t-1)}[r_t, c_t] = \sigma_t 2^{e_t}, \qquad \sigma_t \in \{+1, -1\},\; e_t \in \mathbb{Z},$$ +is a unit in $\mathbb{Z}[1/2]$. At step $t$: + +1. **Left column-clearing product $L_t$:** For each $i \in S_r^{(t-1)} \setminus \{r_t\}$ with $M^{(t-1)}[i, c_t] \ne 0$, apply the left row operation adding $(-M^{(t-1)}[i, c_t] / p_t) \cdot \text{row}_{r_t}$ to $\text{row}_i$. Then in $\widetilde{M}^{(t)} = L_t M^{(t-1)}$: + - Column $c_t$ has a single nonzero entry $\widetilde{M}^{(t)}[r_t, c_t] = p_t$, i.e., $\widetilde{M}^{(t)}[\cdot, c_t] = p_t e_{r_t}$. + - Row $r_t$ is unchanged: $\widetilde{M}^{(t)}[r_t, \cdot] = M^{(t-1)}[r_t, \cdot]$. + - On $(S_r^{(t-1)} \setminus \{r_t\}) \times (S_c^{(t-1)} \setminus \{c_t\})$, the active submatrix updates by the rank-1 Schur complement + $$\widetilde{M}^{(t)}[i, j] = M^{(t-1)}[i, j] - \frac{M^{(t-1)}[i, c_t]\, M^{(t-1)}[r_t, j]}{p_t}.$$ + +2. **Right row-clearing product $R_t$ (zero fill-in):** For each $j \in S_c^{(t-1)} \setminus \{c_t\}$ with $M^{(t-1)}[r_t, j] \ne 0$, right-multiply $\widetilde{M}^{(t)}$ by $E_{\text{add}}(c_t, j, -M^{(t-1)}[r_t, j] / p_t)$ (which adds $(-M^{(t-1)}[r_t, j] / p_t) \cdot \text{col}_{c_t}$ to $\text{col}_j$). Because $\widetilde{M}^{(t)}[\cdot, c_t] = p_t e_{r_t}$ is already zero in every row $i \ne r_t$, this right column operation: + - Zeros out $\widetilde{M}^{(t)}[r_t, j]$ for all $j \ne c_t$, leaving $M^{(t)} = L_t M^{(t-1)} R_t$ with $M^{(t)}[r_t, \cdot] = p_t e_{c_t}^T$ and $M^{(t)}[\cdot, c_t] = p_t e_{r_t}$, and + - Causes **strictly zero fill-in** on all rows $i \ne r_t$: $M^{(t)}[i, j] = \widetilde{M}^{(t)}[i, j]$ for all $i \ne r_t$. + +3. **Binary scale placement for $|p_t| = 2^{e_t} \ne 1$:** To reduce the decoupled pivot entry $p_t = \sigma_t 2^{e_t}$ to $\sigma_t \in \{+1, -1\}$, a single binary scale gate $E_{\text{scale}}(\cdot, 2^{-e_t})$ may be placed at any of three algebraically equivalent positions without altering the Schur complement $M^{(t)}[i, j]$ ($i \ne r_t, j \ne c_t$): + - **(Option A — Pre-$L_t$ row scale):** Apply $E_{\text{scale}}(r_t, 2^{-e_t})$ on the left *before* $L_t$; then $L_t$ uses multipliers $-M^{(t-1)}[i, c_t] / \sigma_t$ and $R_t$ uses $-M^{(t-1)}[r_t, j] / p_t$. + - **(Option B — Pre-$R_t$ column scale):** Apply $E_{\text{scale}}(c_t, 2^{-e_t})$ on the right *between* $L_t$ and $R_t$; then $L_t$ uses $-M^{(t-1)}[i, c_t] / p_t$ and $R_t$ uses $-M^{(t-1)}[r_t, j] / \sigma_t$. + - **(Option C — Post-elimination unit-row scale):** Apply $E_{\text{scale}}(r_t, 2^{-e_t})$ on the left *after* all $L_t, R_t$ (when row $r_t$ has only the single entry $p_t$ at column $c_t$); then both $L_t$ and $R_t$ use unscaled multipliers $-M^{(t-1)}[i, c_t] / p_t$ and $-M^{(t-1)}[r_t, j] / p_t$. + +4. **Global factorization and execution order:** After $m$ steps, let $L = L_{\text{post}} L_m \cdots L_1 = E(\ell_a) \cdots E(\ell_1)$ and $R = R_1 \cdots R_m = E(\rho_1) \cdots E(\rho_b)$. Then + $$L M_0 R = P \implies M_0 = L^{-1} P R^{-1} = E(\ell_1)^{-1} \cdots E(\ell_a)^{-1} \, P \, E(\rho_b)^{-1} \cdots E(\rho_1)^{-1},$$ + where $P$ is the signed permutation matrix with $P[r_t, c_t] = \sigma_t \in \{+1, -1\}$ for $t = 1, \dots, m$ and $P[i, i] = 1$ for $i \notin S$. Therefore, the gate list + $$W_{\text{cleanup}} = \big[\rho_1^{-1}, \dots, \rho_b^{-1}\big] + W_P + \big[\ell_a^{-1}, \dots, \ell_1^{-1}\big]$$ + satisfies $\operatorname{Mat}(W_{\text{cleanup}}) = L^{-1} P R^{-1} = M_0$ exactly. $\square$ + +--- + +## 3. Weyl-Group Signed Cycle Decomposition of $P$ + +### Proposition 2 (Scale-Free 3-Add Signed Cycle Realization) + +Let $P$ be a signed permutation matrix on $S$ defined by $P e_c = s_c e_{\pi(c)}$ with bijection $\pi : S \to S$ and signs $s_c \in \{+1, -1\}$. Decompose $\pi$ into disjoint cycles. + +1. For any fixed point $\pi(c) = c$: if $s_c = +1$, no gate is needed; if $s_c = -1$, the single gate `["scale", c, -1, 1, 1]` realizes $e_c \mapsto -e_c$. +2. For any cycle $(c_0, c_1, \dots, c_{k-1})$ of length $k \ge 2$ with $\pi(c_m) = c_{(m+1) \bmod k}$, define on any register pair $(a, b)$ the two 3-add Weyl-group generators of $SL_2(\mathbb{Z})$: + $$W_+(a, b) = \big[\text{add}(a, b, -1),\; \text{add}(b, a, +1),\; \text{add}(a, b, -1)\big] : (x_a, x_b) \mapsto (-x_b, +x_a),$$ + $$W_-(a, b) = \big[\text{add}(a, b, +1),\; \text{add}(b, a, -1),\; \text{add}(a, b, +1)\big] : (x_a, x_b) \mapsto (+x_b, -x_a).$$ + Execute for $\text{idx} = k - 1, k - 2, \dots, 1$ on $(a, b) = (c_{\text{idx}-1}, c_{\text{idx}})$: + - Choose $W_+(c_{\text{idx}-1}, c_{\text{idx}})$ if $s_{c_{\text{idx}-1}} = +1$, or $W_-(c_{\text{idx}-1}, c_{\text{idx}})$ if $s_{c_{\text{idx}-1}} = -1$. + + **Proof of exactness:** Before step $\text{idx}$, registers $c_0, \dots, c_{\text{idx}-1}$ have not yet been touched and hold their initial values $+1 \cdot x_{c_0}, \dots, +1 \cdot x_{c_{\text{idx}-1}}$, while register $c_{\text{idx}}$ holds $\tau_{\text{idx}} x_{c_{k-1}}$ where $\tau_{k-1} = +1$. Applying $W_{s_{c_{\text{idx}-1}}}(c_{\text{idx}-1}, c_{\text{idx}})$ writes $s_{c_{\text{idx}-1}} x_{c_{\text{idx}-1}}$ into $c_{\text{idx}}$ (which is never touched again in subsequent steps $\text{idx}' < \text{idx}$) and writes $(-s_{c_{\text{idx}-1}} \tau_{\text{idx}}) x_{c_{k-1}}$ into $c_{\text{idx}-1}$. By downward induction to $\text{idx} = 1$, every register $c_1, \dots, c_{k-1}$ receives its exact signed target $s_{c_0} x_{c_0}, \dots, s_{c_{k-2}} x_{c_{k-2}}$ using $3(k-1)$ `add` gates and **zero** `scale` gates, while $c_0$ holds $\tau_0 x_{c_{k-1}}$ with + $$\tau_0 = \prod_{m=0}^{k-2} (-s_{c_m}) \in \{+1, -1\}.$$ + Appending `["scale", c_0, -1, 1, 1]` if and only if $\tau_0 \ne s_{c_{k-1}}$ realizes the entire signed cycle in $3(k-1)$ `add` gates and at most one `scale` gate. $\square$ + +--- + +## 4. Dual Orientation Symmetry and $L_1$ Prefix Reduction + +### Proposition 3 (Forward/Backward Primitive Symmetry and $L_1$ Norm Control) + +In `hpe_emit_local.py`, each gate $e$ in `cleanup` is emitted as `scalar(e, False)` in the forward program and `scalar(e, True) = dual(e)` in the backward program, where: +- $\operatorname{dual}(\text{add}(d, s, a, b)) = \text{add}(s, d, -a, b)$ has the identical odd numerator $|{-a}| = |a|$ and denominator $b$, hence identical binary Horner `primitive_bound` $3 + (\operatorname{bit\_length}(|a|) - 1) + \operatorname{popcount}(|a|) + (\operatorname{bit\_length}(b) - 1)$. +- Every `scale` gate in $W_{\text{cleanup}}$ has multiplier $q \in \{-1, \pm 2, \pm 4, \pm 8, \pm 1/2, \pm 1/4, \pm 1/8\}$, and $\operatorname{dual}(\text{scale}(d, a, b)) = \text{scale}(d, b, a)$ (or $(-b, |a|)$ for $q < 0$) preserves $|\operatorname{bit\_length}(|a|) - \operatorname{bit\_length}(b)| + \mathbf{1}[q < 0]$. + +Consequently, $W_{\text{cleanup}}$ has the **exact same real-component primitive bound ($31,394$) in both forward and backward orientations**, reducing both orientations by **$37,320$ real primitives** ($-54.31\%$ of `cleanup`, or **$-74,640$ real primitives** across the forward+backward invocation pair). + +Furthermore, because `hpe_emit_local.py` emits the backward `full_frame_cleanup` by applying `dual(e)` to `c['cleanup']` in forward list order (transposing source and destination of each `add` gate without reversing the list), the baseline one-sided Gauss-Jordan `cleanup` (with multipliers up to $131,646$) compounds row $L_1$ norms in the backward orientation to +$$\text{prefix\_l1\_upper}_{\text{bwd}}(\text{U8}) = \frac{48,299,247,708,521,178,587,951}{16} \approx 3.0187 \times 10^{21} \quad (72 \text{ bits}).$$ +Under our two-sided $R^{-1} P L^{-1}$ factorization (`seed = 30`, `trial = 16`), every gate in $W_{\text{cleanup}}$ has $|\text{num}| \le 8$ and $\text{den} \le 8$, reducing the backward peak prefix $L_1$ norm by a factor of **$210,704\times$** to +$$\text{prefix\_l1\_upper}_{\text{bwd}}(\text{LPR}) = \frac{57,316,408,753,392,281}{4} \approx 1.4329 \times 10^{16} \quad (54 \text{ bits}, \; -18 \text{ bits}),$$ +and reducing the forward peak prefix $L_1$ norm by **$13.7\times$** from $6,812,058,044,968,180,837 / 256$ ($55$ bits) to $1,938,756,620,440,273$ ($51$ bits, $-4$ bits). + +--- + +## 5. Scoped Negative Result (Candidate 1): Partial-$E_4$ Entrance-Promotion Reversion Climb-Splitting Lemma + +### Proposition 4 (Bipartite Delivery Climb Splitting on Partial $E_4 \to E_5$ Reversion) + +In U8 (`native/barch/FULL-WORD.json.gz`), the 4-helper group $G = \{659, 661, 662, 663\}$ enters at the 5-dimensional frame $E_5 = [298, 170, 102, 30, 1]$ (`start_extra`), extending $E_4 = [298, 170, 102, 30]$ ($\dim E_4 = 4$). The first gates in `A + B` that read $G$ are the 12 bipartite delivery gates `B[420..431]`, which consist of 3 gates into each destination helper $d \in D_G = \{656, 657, 658, 660\}$ from $G$ at frame $E_5$, followed by the 8 gates `B[710..717]` on $G$ at a 7-dimensional frame $F_7 \supset E_5$. + +Immediately before `B[420]`, each destination helper $d \in D_G$ sits at a 1-dimensional frame $F_1(d) \subset E_4 \subset E_5$, and in `B[420..431]` the bipartite subgraph between $D_G$ and $G$ has minimum degree $3$ (every $d \in D_G$ reads $3$ distinct sources in $G$, and every $s \in G$ feeds $3$ distinct destinations in $D_G$). + +Suppose $m \in \{1, 2, 3, 4\}$ helpers $G_4 \subseteq G$ ($|G_4| = m$) have their entrance frame reverted from $E_5$ to $E_4$, and their delivery gates in `B[420..431]` lowered from frame $E_5$ to frame $E_4$ (sorted before the remaining $E_5$ gates of `B[420..431]` so frame monotonicity holds): + +1. **Full group reversion of `B[420..431]` ($m = 4$):** All 12 gates in `B[420..431]` run at $E_4$. Each $d \in D_G$ climbs $F_1(d) \to E_4$ (rank 3 instead of rank 4, $\Delta = \{3:+4, 4:-4\}$) and later climbs from $E_4$ to its subsequent 6-dimensional frame (rank 2 instead of rank 1, $\Delta = \{1:-4, 2:+4\}$), while each $s \in G$ climbs from $E_4$ instead of $E_5$ to its subsequent 6-dimensional frame ($\Delta = \{1:-4, 2:+4\}$), yielding the net local profile delta + $$\Delta_{\text{local}}(m = 4) = \{1: -8,\; 2: +8,\; 3: +4,\; 4: -4\}.$$ + +2. **Partial group reversion ($m \in \{1, 2, 3\}$):** Because every $d \in D_G$ has degree 3 into $G$, for $m \in \{1, 2, 3\}$ at least $3$ destination helpers in $D_G$ read at least one source in $G_4$ (at frame $E_4$) AND at least one source in $G \setminus G_4$ (at frame $E_5$), splitting their single rank-4 climb $1 \to 5$ into a rank-3 climb $1 \to 4$ plus a rank-1 climb $4 \to 5$: + $$\Delta_{\text{local}}(m = 1) = \{1: +2,\; 2: +1,\; 3: +3,\; 4: -3\},$$ + $$\Delta_{\text{local}}(m = 2) = \{1: +2,\; 2: +2,\; 3: +4,\; 4: -4\},$$ + $$\Delta_{\text{local}}(m = 3) = \{1: -1,\; 2: +4,\; 3: +4,\; 4: -4\}.$$ + In every case $m \in \{1, 2, 3, 4\}$, the split climbs on $D_G$ inject $+3$ or $+4$ extra rank-3 children and $+1$ to $+8$ extra rank-2 children, strictly increasing the complex moment at $b_{\text{front}}$. $\square$ diff --git a/research/u8-cleanup-markowitz-lpr-seed30/README.md b/research/u8-cleanup-markowitz-lpr-seed30/README.md new file mode 100644 index 0000000000..ac2be05d64 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/README.md @@ -0,0 +1,99 @@ +# Two-Sided Markowitz $R^{-1} P L^{-1}$ Cleanup Refactorization for the Selected U8 Complex Supplier Word (`seed = 30`) + +- **Track & Seed:** `20–39: Complex supplier: improve one specific circuit, frame schedule, decoder, or paid recursive profile` (OS random seed: **`30`**) +- **Base Commit:** `abdc6a7002abdbcd9e21bfc5e1a795784deacfdf` +- **Selected Frontier Certificate:** `certificates/selected-result.json` (conditional $\kappa = 1661960547713947 / 10^{18} = 0.001661960547713947$, PR #942 on PR #869/#870 and PR #890 / PR #858; **unchanged by this package**) +- **Status:** Finite circuit improvement (`no new kappa`) + scoped negative result on partial $E_4 \to E_5$ entrance-promotion reversion + +--- + +## 1. Concise Summary of What Changed and Was Learned + +In the selected U8 complex supplier word (`native/barch/FULL-WORD.json.gz`, content SHA-256 `090fd574747fbf9628e70cb9beb792732914cfa52e1df147579fe4dbccc68c5a`; `native/local/CANONICAL-WORD.json.gz`, content SHA-256 `24db880b7dab31e6af4eec8a1aba1bbbae29cd50d9a7b77cf0e9b571b3e5ae7c`), the `full_frame_cleanup` section (`canonical['cleanup']`, running at frame `1` = `FULL` on the $490$ `FULL`-ended non-target registers) was originally synthesized by `cold44x.py` via one-sided (row-only) Gauss-Jordan elimination (`high_inverse = "dyadic_sparse_Gauss_Jordan"`) on $M_{\text{after}} = M_0^{-1}$ in fixed register index order $c = 0, 1, \dots, 727$. + +We show that while $M_{\text{after}}$ has $9,430$ off-diagonal nonzeros, the target cleanup operator $M_0 = M_{\text{after}}^{-1} \in GL_{728}(\mathbb{Z}[1/2])$ itself has **only $2,844$ off-diagonal nonzeros**, all with numerators in $\{\pm 1, \pm 2, \pm 3, \pm 4\}$ and denominators in $\{1, 2, 4\}$. One-sided elimination in fixed index order caused severe fill-in ($6,105$ scalar macros, $68,714$ real-component primitives per orientation), coefficient blowup up to $\max |\text{num}| = 131,646$, and a $72$-bit peak prefix $L_1$ coefficient norm (`48299247708521178587951/16`) in the backward orientation. + +Replacing one-sided Gauss-Jordan elimination with a **two-sided Markowitz $R^{-1} P L^{-1}$ Schur-complement factorization and Weyl-group signed cycle realization** (`seed = 30`, `trial = 16`, `swap_pen = 6`, `scale_pen = 0`) achieves the following exact improvements across the U8 complex supplier word while preserving all $728$ columns, native frames, paid recursive profile, and residual adapter recipes: + +| Metric | Baseline U8 (`dyadic_sparse_Gauss_Jordan`) | Refactored U8 (`two_sided_Markowitz_LPR_Weyl_seed30`) | Exact Change | +| :--- | ---: | ---: | ---: | +| `full_frame_cleanup` scalar macros (per orientation) | `6,105` (`6,005 add + 100 scale`) | **`3,525`** (`3,355 add + 170 scale`) | **`-2,580` (`-42.26%`)** | +| `full_frame_cleanup` real primitives (per orientation) | `68,714` | **`31,394`** | **`-37,320` (`-54.31%`)** | +| `full_frame_cleanup` max $\|\text{numerator}\|$ | `131,646` | **`8`** | **`16,455.75x` smaller** | +| `full_frame_cleanup` max denominator | `64` | **`8`** | **`8x` smaller** | +| Total raw scalar operations (`SCALAR-FRAME-AUDIT`) | `19,189` | **`16,609`** | **`-2,580` (`-13.45%`)** | +| Emitted events per orientation (`LOCAL-CHECKS`) | `24,415` | **`21,835`** | **`-2,580` (`-5,160` pair)** | +| Emitted scalar macros per orientation (`LOCAL-CHECKS`) | `19,213` | **`16,633`** | **`-2,580` (`-13.43%`)** | +| Forward real-component primitive bound | `193,306` | **`155,986`** | **`-37,320` (`-19.31%`)** | +| Backward real-component primitive bound | `193,354` | **`156,034`** | **`-37,320` (`-19.30%`)** | +| Forward + backward pair real-component primitives | `386,660` | **`312,020`** | **`-74,640` (`-19.30%`)** | +| Forward `prefix_l1_upper` (`prefix_bits_upper`) | `6812058044968180837/256` (`55` bits) | **`1938756620440273` (`51` bits)** | **`-4` bits (`13.7x` smaller)** | +| Backward `prefix_l1_upper` (`prefix_bits_upper`) | `48299247708521178587951/16` (`72` bits) | **`57316408753392281/4` (`54` bits)** | **`-18` bits (`210,704x` smaller)** | +| Paid recursive child profile (`local_rank_mass = 5634`) | `{1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}` | **`{1:2548, 2:338, 3:446, 4:162, 5:72, 8:8}`** | **Identical (`0` delta)** | +| `RESIDUAL-ADAPTERS.json` SHA-256 | `8b06181f6983...` | **`8b06181f6983...`** | **Byte-identical** | + +### Scoped Negative Finding (Candidate 1) + +Before selecting Candidate 3, we tested whether reverting $m \in \{1, 2, 3\}$ helpers of the 4-helper group $G = \{659, 661, 662, 663\}$ in U8 from entrance frame $E_5 = [298, 170, 102, 30, 1]$ (dim 5) back to $E_4 = [298, 170, 102, 30]$ (dim 4) could profitably fill the 2 remaining rank-1 idle slots in T37 (after PR #1072). We proved and verified (see [`PROOF.md`](PROOF.md) Section 5) that because the 12 bipartite delivery gates `B[420..431]` into $D_G = \{656, 657, 658, 660\}$ find $D_G$ at frame dimension $1$, partial reversion $1 \le m \le 3$ splits the climb $1 \to 5$ on $D_G$ into $1 \to 4 \to 5$, yielding local profile deltas $\Delta(m=1) = \{1:+2, 2:+1, 3:+3, 4:-3\}$, $\Delta(m=2) = \{1:+2, 2:+2, 3:+4, 4:-4\}$, and $\Delta(m=3) = \{1:-1, 2:+4, 3:+4, 4:-4\}$, which strictly worsen the complex moment at $b_{\text{front}}$. + +--- + +## 2. One Reproducible Command and Expected Result + +From the repository root: + +```bash +python3 -I -B research/u8-cleanup-markowitz-lpr-seed30/verify.py +``` + +Expected terminal output: + +```json +{ + "status": "PASS_U8_CLEANUP_MARKOWITZ_LPR_REFACTORIZATION", + "seed": 30, + "track": "20-39: Complex supplier", + "base_commit": "abdc6a7002abdbcd9e21bfc5e1a795784deacfdf", + "changes_kappa": false, + "cleanup_macros_before": 6105, + "cleanup_macros_after": 3525, + "cleanup_macros_saved_per_orientation": 2580, + "cleanup_real_primitives_before": 68714, + "cleanup_real_primitives_after": 31394, + "cleanup_real_primitives_saved_per_orientation": 37320, + "full_local_real_primitives_saved_pair": 74640, + "forward_prefix_bits": { + "before": 55, + "after": 51, + "delta": -4 + }, + "backward_prefix_bits": { + "before": 72, + "after": 54, + "delta": -18 + }, + "independent_verifier": "PASS_INDEPENDENT_INTEGER_LATTICE_VERIFICATION", + "negative_controls": { + "upstream_local_rejected": 25, + "upstream_wrapper_rejected": 17, + "package_controls_rejected": 12 + } +} +``` + +The verifier is also compatible with `python3 -I -O -B research/u8-cleanup-markowitz-lpr-seed30/verify.py`. + +--- + +## 3. Scope, Inherited Assumptions, and Unresolved Obligations + +- **Scope:** Finite circuit improvement for the `full_frame_cleanup` section of the selected U8 complex supplier word (`native/barch/FULL-WORD.json.gz`), verified by both the unchanged upstream 4-stage HPE local pipeline and a code-disjoint pure-integer lattice verifier (`independent.py`), plus a 12-control adversarial mutation suite (`test_package.py`). +- **No Claim of New $\kappa$:** Because `full_frame_cleanup` executes entirely at frame `1` (`FULL`) and involves no frame climbs or recursive child calls, the paid recursive child profile `{1: 2548, 2: 338, 3: 446, 4: 162, 5: 72, 8: 8}` and the asymptotic exponent $\kappa = 1661960547713947 / 10^{18}$ are unchanged. `certificates/selected-result.json` and `upstream/` are untouched. +- **Inherited Assumptions:** All all-size and analytic bridge assumptions of `certificates/selected-result.json` remain unchanged. + +--- + +## 4. Attribution and Disclosure + +- **Contributor:** `steph4n-gh` +- **AI Assistance Disclosure:** Substantial AI assistance from **Gemini 4 Argon** (Google DeepMind / Antigravity). See [`NOTICE.md`](NOTICE.md) for complete predecessor attributions. diff --git a/research/u8-cleanup-markowitz-lpr-seed30/RECIPE.json b/research/u8-cleanup-markowitz-lpr-seed30/RECIPE.json new file mode 100644 index 0000000000..60569cc176 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/RECIPE.json @@ -0,0 +1,28055 @@ +{ + "name": "u8-cleanup-markowitz-lpr-seed30", + "seed": 30, + "track": "20-39: Complex supplier", + "base_commit": "abdc6a7002abdbcd9e21bfc5e1a795784deacfdf", + "method": "two_sided_Markowitz_LPR_Weyl_seed30", + "selected_trial": 16, + "swap_penalty": 6, + "scale_penalty": 0, + "active_registers": 490, + "disjoint_cycles": 61, + "section_lengths": { + "R_inv": 1744, + "P": 406, + "L_inv": 1375, + "total": 3525 + }, + "cleanup_word": [ + [ + "add", + 541, + 244, + 1, + 4, + 1 + ], + [ + "add", + 541, + 350, + -1, + 1, + 1 + ], + [ + "add", + 541, + 420, + -1, + 2, + 1 + ], + [ + "add", + 547, + 274, + -1, + 2, + 1 + ], + [ + "add", + 547, + 354, + -1, + 1, + 1 + ], + [ + "add", + 547, + 386, + 1, + 1, + 1 + ], + [ + "add", + 550, + 262, + 1, + 4, + 1 + ], + [ + "add", + 550, + 360, + -1, + 1, + 1 + ], + [ + "add", + 550, + 406, + -1, + 2, + 1 + ], + [ + "add", + 500, + 294, + -1, + 2, + 1 + ], + [ + "add", + 500, + 310, + 1, + 1, + 1 + ], + [ + "add", + 500, + 358, + 1, + 1, + 1 + ], + [ + "add", + 501, + 292, + -1, + 2, + 1 + ], + [ + "add", + 501, + 308, + 1, + 1, + 1 + ], + [ + "add", + 501, + 356, + 1, + 1, + 1 + ], + [ + "add", + 562, + 376, + -1, + 1, + 1 + ], + [ + "add", + 562, + 408, + 1, + 1, + 1 + ], + [ + "add", + 562, + 476, + 1, + 4, + 1 + ], + [ + "add", + 538, + 263, + 1, + 4, + 1 + ], + [ + "add", + 538, + 344, + -1, + 1, + 1 + ], + [ + "add", + 538, + 407, + -1, + 2, + 1 + ], + [ + "add", + 488, + 278, + -1, + 2, + 1 + ], + [ + "add", + 488, + 326, + 1, + 1, + 1 + ], + [ + "add", + 488, + 342, + 1, + 1, + 1 + ], + [ + "add", + 534, + 295, + -1, + 2, + 1 + ], + [ + "add", + 534, + 343, + -1, + 1, + 1 + ], + [ + "add", + 534, + 375, + 1, + 1, + 1 + ], + [ + "add", + 551, + 60, + -1, + 1, + 1 + ], + [ + "add", + 551, + 260, + 1, + 4, + 1 + ], + [ + "add", + 551, + 404, + -1, + 2, + 1 + ], + [ + "add", + 563, + 66, + -1, + 1, + 1 + ], + [ + "add", + 563, + 105, + 1, + 1, + 1 + ], + [ + "add", + 563, + 477, + 1, + 4, + 1 + ], + [ + "add", + 574, + 392, + -1, + 1, + 1 + ], + [ + "add", + 574, + 412, + 1, + 1, + 1 + ], + [ + "add", + 574, + 474, + 1, + 4, + 1 + ], + [ + "add", + 537, + 276, + -1, + 2, + 1 + ], + [ + "add", + 537, + 340, + -1, + 1, + 1 + ], + [ + "add", + 537, + 388, + 1, + 1, + 1 + ], + [ + "add", + 546, + 279, + -1, + 2, + 1 + ], + [ + "add", + 546, + 359, + -1, + 1, + 1 + ], + [ + "add", + 546, + 391, + 1, + 1, + 1 + ], + [ + "add", + 540, + 246, + 1, + 4, + 1 + ], + [ + "add", + 540, + 348, + -1, + 1, + 1 + ], + [ + "add", + 540, + 422, + -1, + 2, + 1 + ], + [ + "add", + 575, + 97, + -1, + 1, + 1 + ], + [ + "add", + 575, + 414, + 1, + 1, + 1 + ], + [ + "add", + 575, + 475, + 1, + 4, + 1 + ], + [ + "add", + 553, + 242, + 1, + 4, + 1 + ], + [ + "add", + 553, + 366, + -1, + 1, + 1 + ], + [ + "add", + 553, + 418, + -1, + 2, + 1 + ], + [ + "add", + 539, + 28, + -1, + 1, + 1 + ], + [ + "add", + 539, + 258, + 1, + 4, + 1 + ], + [ + "add", + 539, + 402, + -1, + 2, + 1 + ], + [ + "add", + 487, + 274, + -1, + 2, + 1 + ], + [ + "add", + 487, + 306, + 1, + 1, + 1 + ], + [ + "add", + 487, + 354, + 1, + 1, + 1 + ], + [ + "add", + 577, + 398, + -1, + 1, + 1 + ], + [ + "add", + 577, + 430, + 1, + 1, + 1 + ], + [ + "add", + 577, + 463, + 1, + 4, + 1 + ], + [ + "add", + 576, + 396, + -1, + 1, + 1 + ], + [ + "add", + 576, + 428, + 1, + 1, + 1 + ], + [ + "add", + 576, + 462, + 1, + 4, + 1 + ], + [ + "add", + 548, + 294, + -1, + 2, + 1 + ], + [ + "add", + 548, + 358, + -1, + 1, + 1 + ], + [ + "add", + 548, + 374, + 1, + 1, + 1 + ], + [ + "add", + 489, + 276, + -1, + 2, + 1 + ], + [ + "add", + 489, + 324, + 1, + 1, + 1 + ], + [ + "add", + 489, + 340, + 1, + 1, + 1 + ], + [ + "add", + 549, + 292, + -1, + 2, + 1 + ], + [ + "add", + 549, + 356, + -1, + 1, + 1 + ], + [ + "add", + 549, + 372, + 1, + 1, + 1 + ], + [ + "add", + 552, + 247, + 1, + 4, + 1 + ], + [ + "add", + 552, + 364, + -1, + 1, + 1 + ], + [ + "add", + 552, + 423, + -1, + 2, + 1 + ], + [ + "add", + 564, + 380, + -1, + 1, + 1 + ], + [ + "add", + 564, + 424, + 1, + 1, + 1 + ], + [ + "add", + 564, + 464, + 1, + 4, + 1 + ], + [ + "add", + 536, + 278, + -1, + 2, + 1 + ], + [ + "add", + 536, + 342, + -1, + 1, + 1 + ], + [ + "add", + 536, + 390, + 1, + 1, + 1 + ], + [ + "add", + 499, + 290, + -1, + 2, + 1 + ], + [ + "add", + 499, + 322, + 1, + 1, + 1 + ], + [ + "add", + 499, + 338, + 1, + 1, + 1 + ], + [ + "add", + 535, + 290, + -1, + 2, + 1 + ], + [ + "add", + 535, + 338, + -1, + 1, + 1 + ], + [ + "add", + 535, + 370, + 1, + 1, + 1 + ], + [ + "add", + 565, + 44, + 1, + 1, + 1 + ], + [ + "add", + 565, + 382, + -1, + 1, + 1 + ], + [ + "add", + 565, + 465, + 1, + 4, + 1 + ], + [ + "add", + 556, + 236, + 2, + 1, + 1 + ], + [ + "add", + 556, + 283, + -1, + 2, + 1 + ], + [ + "add", + 556, + 379, + -1, + 1, + 1 + ], + [ + "add", + 556, + 395, + 1, + 1, + 1 + ], + [ + "add", + 533, + 7, + 2, + 1, + 1 + ], + [ + "add", + 533, + 48, + -1, + 2, + 1 + ], + [ + "add", + 533, + 73, + 1, + 1, + 1 + ], + [ + "add", + 533, + 82, + -1, + 1, + 1 + ], + [ + "add", + 485, + 54, + 1, + 1, + 1 + ], + [ + "add", + 485, + 67, + 1, + 1, + 1 + ], + [ + "add", + 485, + 100, + -1, + 2, + 1 + ], + [ + "add", + 485, + 226, + -1, + 1, + 1 + ], + [ + "add", + 498, + 295, + -1, + 2, + 1 + ], + [ + "add", + 498, + 322, + 1, + 1, + 1 + ], + [ + "add", + 498, + 343, + 1, + 1, + 1 + ], + [ + "add", + 498, + 523, + -1, + 1, + 1 + ], + [ + "add", + 484, + 231, + -1, + 1, + 1 + ], + [ + "add", + 484, + 283, + -1, + 2, + 1 + ], + [ + "add", + 484, + 299, + 1, + 1, + 1 + ], + [ + "add", + 484, + 379, + 1, + 1, + 1 + ], + [ + "add", + 557, + 5, + 1, + 1, + 1 + ], + [ + "add", + 557, + 67, + -1, + 1, + 1 + ], + [ + "add", + 557, + 100, + -1, + 2, + 1 + ], + [ + "add", + 557, + 238, + 2, + 1, + 1 + ], + [ + "add", + 486, + 279, + -1, + 2, + 1 + ], + [ + "add", + 486, + 306, + 1, + 1, + 1 + ], + [ + "add", + 486, + 359, + 1, + 1, + 1 + ], + [ + "add", + 486, + 511, + -1, + 1, + 1 + ], + [ + "add", + 532, + 232, + 2, + 1, + 1 + ], + [ + "add", + 532, + 315, + -1, + 2, + 1 + ], + [ + "add", + 532, + 347, + -1, + 1, + 1 + ], + [ + "add", + 532, + 363, + 1, + 1, + 1 + ], + [ + "add", + 509, + 34, + 1, + 1, + 1 + ], + [ + "add", + 509, + 48, + -1, + 2, + 1 + ], + [ + "add", + 509, + 82, + 1, + 1, + 1 + ], + [ + "add", + 509, + 228, + -1, + 1, + 1 + ], + [ + "add", + 508, + 230, + -1, + 1, + 1 + ], + [ + "add", + 508, + 315, + -1, + 2, + 1 + ], + [ + "add", + 508, + 331, + 1, + 1, + 1 + ], + [ + "add", + 508, + 347, + 1, + 1, + 1 + ], + [ + "add", + 88, + 80, + 1, + 2, + 1 + ], + [ + "add", + 74, + 83, + 1, + 2, + 1 + ], + [ + "add", + 91, + 70, + 1, + 2, + 1 + ], + [ + "add", + 33, + 49, + 1, + 2, + 1 + ], + [ + "add", + 111, + 36, + 1, + 2, + 1 + ], + [ + "add", + 31, + 12, + 1, + 2, + 1 + ], + [ + "add", + 446, + 20, + 1, + 4, + 1 + ], + [ + "add", + 446, + 110, + -1, + 4, + 1 + ], + [ + "add", + 446, + 447, + -1, + 1, + 1 + ], + [ + "add", + 51, + 13, + 1, + 2, + 1 + ], + [ + "add", + 89, + 72, + 1, + 2, + 1 + ], + [ + "add", + 53, + 15, + 1, + 2, + 1 + ], + [ + "add", + 27, + 0, + 1, + 2, + 1 + ], + [ + "add", + 55, + 101, + 1, + 2, + 1 + ], + [ + "add", + 85, + 98, + 1, + 2, + 1 + ], + [ + "add", + 1, + 6, + 1, + 2, + 1 + ], + [ + "add", + 4, + 68, + 1, + 2, + 1 + ], + [ + "add", + 444, + 110, + 1, + 4, + 1 + ], + [ + "add", + 444, + 432, + -1, + 4, + 1 + ], + [ + "add", + 444, + 439, + 1, + 2, + 1 + ], + [ + "add", + 444, + 443, + -1, + 2, + 1 + ], + [ + "add", + 583, + 402, + -1, + 1, + 1 + ], + [ + "add", + 46, + 37, + 1, + 4, + 1 + ], + [ + "add", + 46, + 110, + 1, + 4, + 1 + ], + [ + "add", + 46, + 443, + -1, + 2, + 1 + ], + [ + "add", + 554, + 50, + 1, + 1, + 1 + ], + [ + "add", + 554, + 518, + -1, + 2, + 1 + ], + [ + "add", + 554, + 530, + -1, + 1, + 1 + ], + [ + "add", + 438, + 20, + -1, + 2, + 1 + ], + [ + "add", + 438, + 432, + 1, + 2, + 1 + ], + [ + "add", + 438, + 443, + -1, + 1, + 1 + ], + [ + "add", + 434, + 37, + -1, + 2, + 1 + ], + [ + "add", + 434, + 432, + 1, + 2, + 1 + ], + [ + "add", + 434, + 447, + 2, + 1, + 1 + ], + [ + "add", + 440, + 21, + 1, + 2, + 1 + ], + [ + "add", + 440, + 47, + 1, + 1, + 1 + ], + [ + "add", + 440, + 436, + -1, + 2, + 1 + ], + [ + "add", + 542, + 32, + 1, + 1, + 1 + ], + [ + "add", + 542, + 518, + -1, + 2, + 1 + ], + [ + "add", + 542, + 530, + 1, + 1, + 1 + ], + [ + "add", + 439, + 20, + -1, + 4, + 1 + ], + [ + "add", + 439, + 37, + -1, + 4, + 1 + ], + [ + "add", + 439, + 110, + 1, + 2, + 1 + ], + [ + "add", + 439, + 443, + -1, + 2, + 1 + ], + [ + "add", + 443, + 20, + 1, + 2, + 1 + ], + [ + "add", + 443, + 37, + -1, + 2, + 1 + ], + [ + "add", + 436, + 20, + 1, + 4, + 1 + ], + [ + "add", + 436, + 21, + -1, + 2, + 1 + ], + [ + "add", + 436, + 37, + -1, + 4, + 1 + ], + [ + "add", + 436, + 47, + -1, + 1, + 1 + ], + [ + "add", + 436, + 447, + 1, + 1, + 1 + ], + [ + "add", + 47, + 21, + 1, + 2, + 1 + ], + [ + "add", + 47, + 445, + -1, + 1, + 1 + ], + [ + "add", + 447, + 110, + 1, + 4, + 1 + ], + [ + "add", + 447, + 432, + 1, + 4, + 1 + ], + [ + "add", + 594, + 423, + -1, + 1, + 1 + ], + [ + "add", + 571, + 386, + -1, + 1, + 1 + ], + [ + "add", + 596, + 422, + -1, + 1, + 1 + ], + [ + "add", + 597, + 420, + -1, + 1, + 1 + ], + [ + "add", + 582, + 407, + -1, + 1, + 1 + ], + [ + "add", + 559, + 370, + -1, + 1, + 1 + ], + [ + "add", + 559, + 388, + -1, + 1, + 1 + ], + [ + "add", + 559, + 573, + 1, + 1, + 1 + ], + [ + "add", + 595, + 418, + -1, + 1, + 1 + ], + [ + "add", + 561, + 372, + -1, + 1, + 1 + ], + [ + "add", + 561, + 404, + -1, + 1, + 1 + ], + [ + "add", + 561, + 585, + 1, + 1, + 1 + ], + [ + "add", + 7, + 17, + -1, + 4, + 1 + ], + [ + "add", + 7, + 18, + -1, + 4, + 1 + ], + [ + "add", + 7, + 30, + -1, + 4, + 1 + ], + [ + "add", + 7, + 40, + -1, + 4, + 1 + ], + [ + "add", + 7, + 41, + -1, + 4, + 1 + ], + [ + "add", + 7, + 43, + -1, + 4, + 1 + ], + [ + "add", + 7, + 45, + -1, + 4, + 1 + ], + [ + "add", + 7, + 58, + -1, + 4, + 1 + ], + [ + "add", + 7, + 61, + -1, + 4, + 1 + ], + [ + "add", + 7, + 63, + -1, + 4, + 1 + ], + [ + "add", + 7, + 81, + 1, + 4, + 1 + ], + [ + "add", + 7, + 92, + 1, + 4, + 1 + ], + [ + "add", + 7, + 103, + -1, + 4, + 1 + ], + [ + "add", + 7, + 108, + -1, + 4, + 1 + ], + [ + "add", + 7, + 235, + -1, + 2, + 1 + ], + [ + "add", + 237, + 233, + -1, + 2, + 1 + ], + [ + "add", + 237, + 235, + 1, + 2, + 1 + ], + [ + "add", + 226, + 16, + -1, + 2, + 1 + ], + [ + "add", + 226, + 18, + 1, + 2, + 1 + ], + [ + "add", + 226, + 22, + -1, + 2, + 1 + ], + [ + "add", + 226, + 42, + -1, + 2, + 1 + ], + [ + "add", + 226, + 45, + 1, + 2, + 1 + ], + [ + "add", + 226, + 61, + 1, + 2, + 1 + ], + [ + "add", + 226, + 63, + 1, + 2, + 1 + ], + [ + "add", + 226, + 64, + -1, + 2, + 1 + ], + [ + "add", + 226, + 92, + -1, + 2, + 1 + ], + [ + "add", + 226, + 95, + -1, + 2, + 1 + ], + [ + "add", + 226, + 103, + 1, + 2, + 1 + ], + [ + "add", + 226, + 107, + -1, + 2, + 1 + ], + [ + "add", + 226, + 108, + 1, + 2, + 1 + ], + [ + "add", + 226, + 224, + 1, + 2, + 1 + ], + [ + "add", + 226, + 239, + 2, + 1, + 1 + ], + [ + "add", + 232, + 76, + 1, + 2, + 1 + ], + [ + "add", + 232, + 87, + 1, + 1, + 1 + ], + [ + "add", + 232, + 228, + -1, + 2, + 1 + ], + [ + "add", + 230, + 8, + 1, + 2, + 1 + ], + [ + "add", + 230, + 16, + -1, + 2, + 1 + ], + [ + "add", + 230, + 22, + -1, + 2, + 1 + ], + [ + "add", + 230, + 42, + -1, + 2, + 1 + ], + [ + "add", + 230, + 57, + -1, + 2, + 1 + ], + [ + "add", + 230, + 59, + 1, + 2, + 1 + ], + [ + "add", + 230, + 62, + 1, + 2, + 1 + ], + [ + "add", + 230, + 64, + -1, + 2, + 1 + ], + [ + "add", + 230, + 93, + 1, + 2, + 1 + ], + [ + "add", + 230, + 94, + 1, + 2, + 1 + ], + [ + "add", + 230, + 95, + -1, + 2, + 1 + ], + [ + "add", + 230, + 96, + 1, + 2, + 1 + ], + [ + "add", + 230, + 107, + -1, + 2, + 1 + ], + [ + "add", + 230, + 224, + 1, + 2, + 1 + ], + [ + "add", + 230, + 235, + -1, + 1, + 1 + ], + [ + "add", + 228, + 8, + -1, + 4, + 1 + ], + [ + "add", + 228, + 18, + 1, + 4, + 1 + ], + [ + "add", + 228, + 45, + 1, + 4, + 1 + ], + [ + "add", + 228, + 57, + 1, + 4, + 1 + ], + [ + "add", + 228, + 59, + -1, + 4, + 1 + ], + [ + "add", + 228, + 61, + 1, + 4, + 1 + ], + [ + "add", + 228, + 62, + -1, + 4, + 1 + ], + [ + "add", + 228, + 63, + 1, + 4, + 1 + ], + [ + "add", + 228, + 76, + -1, + 2, + 1 + ], + [ + "add", + 228, + 87, + -1, + 1, + 1 + ], + [ + "add", + 228, + 92, + -1, + 4, + 1 + ], + [ + "add", + 228, + 93, + -1, + 4, + 1 + ], + [ + "add", + 228, + 94, + -1, + 4, + 1 + ], + [ + "add", + 228, + 96, + -1, + 4, + 1 + ], + [ + "add", + 228, + 103, + 1, + 4, + 1 + ], + [ + "add", + 228, + 108, + 1, + 4, + 1 + ], + [ + "add", + 228, + 239, + 1, + 1, + 1 + ], + [ + "add", + 585, + 404, + -1, + 1, + 1 + ], + [ + "add", + 570, + 391, + -1, + 1, + 1 + ], + [ + "add", + 584, + 406, + -1, + 1, + 1 + ], + [ + "add", + 560, + 374, + -1, + 1, + 1 + ], + [ + "add", + 573, + 388, + -1, + 1, + 1 + ], + [ + "add", + 572, + 390, + -1, + 1, + 1 + ], + [ + "add", + 558, + 375, + -1, + 1, + 1 + ], + [ + "add", + 52, + 14, + 1, + 2, + 1 + ], + [ + "add", + 52, + 413, + -1, + 1, + 1 + ], + [ + "add", + 99, + 78, + 1, + 2, + 1 + ], + [ + "add", + 99, + 429, + -1, + 1, + 1 + ], + [ + "add", + 90, + 71, + 1, + 2, + 1 + ], + [ + "add", + 90, + 253, + -1, + 1, + 1 + ], + [ + "add", + 25, + 2, + 1, + 2, + 1 + ], + [ + "add", + 25, + 269, + -1, + 1, + 1 + ], + [ + "add", + 239, + 233, + 1, + 2, + 1 + ], + [ + "add", + 87, + 76, + 1, + 2, + 1 + ], + [ + "scale", + 249, + 1, + 2, + 1 + ], + [ + "add", + 249, + 255, + 1, + 1, + 1 + ], + [ + "scale", + 377, + 1, + 2, + 1 + ], + [ + "add", + 377, + 383, + -1, + 1, + 1 + ], + [ + "scale", + 281, + 1, + 2, + 1 + ], + [ + "add", + 281, + 287, + -1, + 1, + 1 + ], + [ + "scale", + 495, + 1, + 2, + 1 + ], + [ + "add", + 495, + 507, + -1, + 1, + 1 + ], + [ + "add", + 727, + 507, + -2, + 1, + 1 + ], + [ + "add", + 727, + 720, + 1, + 2, + 1 + ], + [ + "add", + 720, + 506, + 2, + 1, + 1 + ], + [ + "add", + 720, + 507, + -2, + 1, + 1 + ], + [ + "add", + 720, + 531, + 2, + 1, + 1 + ], + [ + "add", + 720, + 721, + -1, + 2, + 1 + ], + [ + "add", + 720, + 722, + -1, + 2, + 1 + ], + [ + "add", + 720, + 723, + 1, + 2, + 1 + ], + [ + "add", + 720, + 724, + -1, + 1, + 1 + ], + [ + "add", + 720, + 725, + -1, + 1, + 1 + ], + [ + "add", + 720, + 726, + -1, + 1, + 1 + ], + [ + "scale", + 507, + 2, + 1, + 1 + ], + [ + "add", + 507, + 303, + -1, + 1, + 1 + ], + [ + "add", + 507, + 399, + -1, + 1, + 1 + ], + [ + "scale", + 297, + 1, + 2, + 1 + ], + [ + "add", + 297, + 303, + -1, + 1, + 1 + ], + [ + "add", + 301, + 299, + 1, + 2, + 1 + ], + [ + "add", + 102, + 54, + 1, + 2, + 1 + ], + [ + "add", + 506, + 69, + -1, + 1, + 1 + ], + [ + "add", + 506, + 494, + 1, + 2, + 1 + ], + [ + "add", + 494, + 3, + -1, + 1, + 1 + ], + [ + "add", + 494, + 56, + -1, + 1, + 1 + ], + [ + "add", + 494, + 69, + -1, + 1, + 1 + ], + [ + "add", + 726, + 69, + -1, + 1, + 1 + ], + [ + "add", + 726, + 721, + 1, + 2, + 1 + ], + [ + "add", + 721, + 69, + -1, + 1, + 1 + ], + [ + "add", + 721, + 519, + -1, + 1, + 1 + ], + [ + "add", + 721, + 722, + 1, + 2, + 1 + ], + [ + "add", + 721, + 723, + 1, + 2, + 1 + ], + [ + "add", + 721, + 724, + -1, + 1, + 1 + ], + [ + "add", + 721, + 725, + 1, + 1, + 1 + ], + [ + "add", + 725, + 519, + -1, + 2, + 1 + ], + [ + "add", + 725, + 531, + -1, + 1, + 1 + ], + [ + "add", + 725, + 722, + 1, + 2, + 1 + ], + [ + "add", + 722, + 518, + -1, + 2, + 1 + ], + [ + "add", + 722, + 530, + 1, + 1, + 1 + ], + [ + "add", + 722, + 531, + -2, + 1, + 1 + ], + [ + "add", + 722, + 723, + -1, + 2, + 1 + ], + [ + "add", + 722, + 724, + 1, + 1, + 1 + ], + [ + "add", + 724, + 518, + -1, + 2, + 1 + ], + [ + "add", + 724, + 530, + -1, + 1, + 1 + ], + [ + "add", + 724, + 723, + 1, + 2, + 1 + ], + [ + "add", + 723, + 518, + -1, + 2, + 1 + ], + [ + "add", + 723, + 519, + -1, + 2, + 1 + ], + [ + "add", + 723, + 530, + -1, + 1, + 1 + ], + [ + "add", + 723, + 531, + 1, + 1, + 1 + ], + [ + "add", + 531, + 335, + -1, + 1, + 1 + ], + [ + "add", + 531, + 367, + -1, + 1, + 1 + ], + [ + "add", + 531, + 519, + 1, + 2, + 1 + ], + [ + "add", + 519, + 319, + -1, + 1, + 1 + ], + [ + "add", + 519, + 335, + -1, + 1, + 1 + ], + [ + "add", + 519, + 351, + -1, + 1, + 1 + ], + [ + "add", + 519, + 367, + -1, + 1, + 1 + ], + [ + "add", + 530, + 50, + -1, + 1, + 1 + ], + [ + "add", + 530, + 84, + -1, + 1, + 1 + ], + [ + "add", + 530, + 518, + 1, + 2, + 1 + ], + [ + "add", + 518, + 32, + -1, + 1, + 1 + ], + [ + "add", + 518, + 50, + -1, + 1, + 1 + ], + [ + "add", + 518, + 75, + -1, + 1, + 1 + ], + [ + "add", + 518, + 84, + -1, + 1, + 1 + ], + [ + "add", + 50, + 34, + 1, + 2, + 1 + ], + [ + "add", + 50, + 333, + -1, + 1, + 1 + ], + [ + "add", + 69, + 5, + 1, + 2, + 1 + ], + [ + "add", + 69, + 397, + -1, + 1, + 1 + ], + [ + "add", + 84, + 73, + 1, + 2, + 1 + ], + [ + "add", + 84, + 365, + -1, + 1, + 1 + ], + [ + "scale", + 393, + 1, + 2, + 1 + ], + [ + "add", + 393, + 399, + 1, + 1, + 1 + ], + [ + "scale", + 345, + 1, + 2, + 1 + ], + [ + "add", + 345, + 351, + -1, + 1, + 1 + ], + [ + "scale", + 409, + 1, + 2, + 1 + ], + [ + "add", + 409, + 415, + 1, + 1, + 1 + ], + [ + "add", + 414, + 42, + 1, + 4, + 1 + ], + [ + "add", + 414, + 106, + -1, + 4, + 1 + ], + [ + "scale", + 265, + 1, + 2, + 1 + ], + [ + "add", + 265, + 271, + -1, + 1, + 1 + ], + [ + "scale", + 313, + 1, + 2, + 1 + ], + [ + "add", + 313, + 319, + 1, + 1, + 1 + ], + [ + "scale", + 361, + 1, + 2, + 1 + ], + [ + "add", + 361, + 367, + -1, + 1, + 1 + ], + [ + "scale", + 329, + 1, + 2, + 1 + ], + [ + "add", + 329, + 335, + 1, + 1, + 1 + ], + [ + "scale", + 425, + 1, + 2, + 1 + ], + [ + "add", + 425, + 431, + 1, + 1, + 1 + ], + [ + "add", + 445, + 20, + -1, + 4, + 1 + ], + [ + "add", + 445, + 37, + 1, + 4, + 1 + ], + [ + "add", + 445, + 441, + -1, + 2, + 1 + ], + [ + "add", + 333, + 331, + 1, + 2, + 1 + ], + [ + "add", + 22, + 108, + -1, + 1, + 1 + ], + [ + "add", + 269, + 267, + 1, + 2, + 1 + ], + [ + "add", + 94, + 61, + -1, + 1, + 1 + ], + [ + "add", + 413, + 411, + 1, + 2, + 1 + ], + [ + "add", + 105, + 41, + 1, + 4, + 1 + ], + [ + "add", + 105, + 106, + 1, + 4, + 1 + ], + [ + "add", + 429, + 427, + 1, + 2, + 1 + ], + [ + "add", + 16, + 43, + -1, + 1, + 1 + ], + [ + "add", + 253, + 251, + 1, + 2, + 1 + ], + [ + "add", + 62, + 63, + -1, + 1, + 1 + ], + [ + "add", + 397, + 395, + 1, + 2, + 1 + ], + [ + "add", + 64, + 96, + -1, + 1, + 1 + ], + [ + "add", + 365, + 363, + 1, + 2, + 1 + ], + [ + "scale", + 404, + 1, + 2, + 1 + ], + [ + "add", + 404, + 408, + -1, + 1, + 1 + ], + [ + "add", + 44, + 43, + 1, + 4, + 1 + ], + [ + "add", + 44, + 104, + 1, + 4, + 1 + ], + [ + "add", + 39, + 288, + 1, + 1, + 1 + ], + [ + "add", + 77, + 272, + 1, + 1, + 1 + ], + [ + "add", + 40, + 18, + -1, + 1, + 1 + ], + [ + "add", + 30, + 59, + -1, + 1, + 1 + ], + [ + "add", + 349, + 315, + 1, + 4, + 1 + ], + [ + "add", + 349, + 347, + 1, + 2, + 1 + ], + [ + "add", + 285, + 283, + 1, + 4, + 1 + ], + [ + "add", + 285, + 379, + -1, + 2, + 1 + ], + [ + "add", + 381, + 283, + 1, + 4, + 1 + ], + [ + "add", + 381, + 379, + 1, + 2, + 1 + ], + [ + "add", + 317, + 315, + 1, + 4, + 1 + ], + [ + "add", + 317, + 347, + -1, + 2, + 1 + ], + [ + "add", + 402, + 41, + -1, + 2, + 1 + ], + [ + "add", + 402, + 400, + 1, + 2, + 1 + ], + [ + "add", + 370, + 8, + -1, + 2, + 1 + ], + [ + "add", + 370, + 368, + 1, + 2, + 1 + ], + [ + "add", + 630, + 279, + -1, + 2, + 1 + ], + [ + "add", + 630, + 359, + -1, + 1, + 1 + ], + [ + "add", + 630, + 625, + 1, + 2, + 1 + ], + [ + "add", + 625, + 274, + -1, + 1, + 1 + ], + [ + "add", + 625, + 279, + -1, + 2, + 1 + ], + [ + "add", + 625, + 290, + -1, + 1, + 1 + ], + [ + "add", + 625, + 359, + -1, + 1, + 1 + ], + [ + "add", + 625, + 624, + 1, + 2, + 1 + ], + [ + "add", + 625, + 626, + 1, + 2, + 1 + ], + [ + "add", + 625, + 627, + 1, + 2, + 1 + ], + [ + "add", + 625, + 628, + -1, + 1, + 1 + ], + [ + "add", + 625, + 629, + 1, + 1, + 1 + ], + [ + "add", + 625, + 631, + 1, + 1, + 1 + ], + [ + "add", + 631, + 274, + -1, + 2, + 1 + ], + [ + "add", + 631, + 354, + -1, + 1, + 1 + ], + [ + "add", + 631, + 624, + 1, + 2, + 1 + ], + [ + "add", + 624, + 274, + -1, + 2, + 1 + ], + [ + "add", + 624, + 279, + -1, + 2, + 1 + ], + [ + "add", + 624, + 338, + 2, + 1, + 1 + ], + [ + "add", + 624, + 354, + -1, + 1, + 1 + ], + [ + "add", + 624, + 359, + 1, + 1, + 1 + ], + [ + "add", + 624, + 626, + -1, + 2, + 1 + ], + [ + "add", + 624, + 627, + 1, + 2, + 1 + ], + [ + "add", + 624, + 628, + -1, + 1, + 1 + ], + [ + "add", + 624, + 629, + -1, + 1, + 1 + ], + [ + "add", + 629, + 290, + -1, + 2, + 1 + ], + [ + "add", + 629, + 338, + -1, + 1, + 1 + ], + [ + "add", + 629, + 626, + 1, + 2, + 1 + ], + [ + "add", + 626, + 295, + -1, + 2, + 1 + ], + [ + "add", + 626, + 338, + -2, + 1, + 1 + ], + [ + "add", + 626, + 343, + 1, + 1, + 1 + ], + [ + "add", + 626, + 627, + -1, + 2, + 1 + ], + [ + "add", + 626, + 628, + 1, + 1, + 1 + ], + [ + "add", + 628, + 295, + -1, + 2, + 1 + ], + [ + "add", + 628, + 343, + -1, + 1, + 1 + ], + [ + "add", + 628, + 627, + 1, + 2, + 1 + ], + [ + "add", + 627, + 290, + -1, + 2, + 1 + ], + [ + "add", + 627, + 295, + -1, + 2, + 1 + ], + [ + "add", + 627, + 338, + 1, + 1, + 1 + ], + [ + "add", + 627, + 343, + -1, + 1, + 1 + ], + [ + "add", + 717, + 505, + -1, + 2, + 1 + ], + [ + "add", + 717, + 529, + -1, + 1, + 1 + ], + [ + "add", + 717, + 714, + 1, + 2, + 1 + ], + [ + "add", + 714, + 492, + -1, + 2, + 1 + ], + [ + "add", + 714, + 493, + 1, + 2, + 1 + ], + [ + "add", + 714, + 504, + -1, + 2, + 1 + ], + [ + "add", + 714, + 516, + -1, + 1, + 1 + ], + [ + "add", + 714, + 517, + 1, + 1, + 1 + ], + [ + "add", + 714, + 528, + 1, + 1, + 1 + ], + [ + "add", + 714, + 529, + -2, + 1, + 1 + ], + [ + "add", + 714, + 712, + -1, + 2, + 1 + ], + [ + "add", + 714, + 713, + 1, + 2, + 1 + ], + [ + "add", + 714, + 715, + -1, + 2, + 1 + ], + [ + "add", + 714, + 716, + 1, + 1, + 1 + ], + [ + "add", + 714, + 718, + 1, + 1, + 1 + ], + [ + "add", + 714, + 719, + -1, + 1, + 1 + ], + [ + "add", + 718, + 492, + -1, + 2, + 1 + ], + [ + "add", + 718, + 516, + -1, + 1, + 1 + ], + [ + "add", + 718, + 713, + 1, + 2, + 1 + ], + [ + "add", + 713, + 492, + -1, + 2, + 1 + ], + [ + "add", + 713, + 493, + -1, + 1, + 1 + ], + [ + "add", + 713, + 505, + -1, + 2, + 1 + ], + [ + "add", + 713, + 516, + -1, + 1, + 1 + ], + [ + "add", + 713, + 529, + 1, + 1, + 1 + ], + [ + "add", + 713, + 712, + 1, + 2, + 1 + ], + [ + "add", + 713, + 715, + 1, + 2, + 1 + ], + [ + "add", + 713, + 716, + -1, + 1, + 1 + ], + [ + "add", + 713, + 719, + 1, + 1, + 1 + ], + [ + "add", + 719, + 493, + -1, + 2, + 1 + ], + [ + "add", + 719, + 517, + -1, + 1, + 1 + ], + [ + "add", + 719, + 712, + 1, + 2, + 1 + ], + [ + "add", + 712, + 492, + -1, + 2, + 1 + ], + [ + "add", + 712, + 493, + -1, + 2, + 1 + ], + [ + "add", + 712, + 505, + -1, + 2, + 1 + ], + [ + "add", + 712, + 516, + 1, + 1, + 1 + ], + [ + "add", + 712, + 517, + -1, + 1, + 1 + ], + [ + "add", + 712, + 529, + 1, + 1, + 1 + ], + [ + "add", + 712, + 715, + 1, + 2, + 1 + ], + [ + "add", + 712, + 716, + -1, + 1, + 1 + ], + [ + "add", + 716, + 504, + -1, + 2, + 1 + ], + [ + "add", + 716, + 528, + -1, + 1, + 1 + ], + [ + "add", + 716, + 715, + 1, + 2, + 1 + ], + [ + "add", + 715, + 504, + -1, + 2, + 1 + ], + [ + "add", + 715, + 505, + -1, + 2, + 1 + ], + [ + "add", + 715, + 528, + -1, + 1, + 1 + ], + [ + "add", + 715, + 529, + 1, + 1, + 1 + ], + [ + "add", + 516, + 316, + -1, + 1, + 1 + ], + [ + "add", + 516, + 396, + -1, + 1, + 1 + ], + [ + "add", + 516, + 428, + 2, + 1, + 1 + ], + [ + "add", + 516, + 462, + 1, + 4, + 1 + ], + [ + "add", + 516, + 468, + -1, + 2, + 1 + ], + [ + "add", + 516, + 492, + 1, + 2, + 1 + ], + [ + "add", + 492, + 247, + 1, + 4, + 1 + ], + [ + "add", + 492, + 252, + -1, + 2, + 1 + ], + [ + "add", + 492, + 284, + -1, + 1, + 1 + ], + [ + "add", + 492, + 316, + -1, + 1, + 1 + ], + [ + "add", + 492, + 364, + -1, + 1, + 1 + ], + [ + "add", + 492, + 396, + -1, + 1, + 1 + ], + [ + "add", + 492, + 423, + -1, + 1, + 1 + ], + [ + "add", + 492, + 428, + 2, + 1, + 1 + ], + [ + "add", + 492, + 462, + 1, + 4, + 1 + ], + [ + "add", + 492, + 468, + -1, + 2, + 1 + ], + [ + "add", + 528, + 332, + -1, + 1, + 1 + ], + [ + "add", + 528, + 380, + -1, + 1, + 1 + ], + [ + "add", + 528, + 424, + 2, + 1, + 1 + ], + [ + "add", + 528, + 464, + 1, + 4, + 1 + ], + [ + "add", + 528, + 466, + -1, + 2, + 1 + ], + [ + "add", + 528, + 504, + 1, + 2, + 1 + ], + [ + "add", + 504, + 246, + 1, + 4, + 1 + ], + [ + "add", + 504, + 248, + -1, + 2, + 1 + ], + [ + "add", + 504, + 300, + -1, + 1, + 1 + ], + [ + "add", + 504, + 332, + -1, + 1, + 1 + ], + [ + "add", + 504, + 348, + -1, + 1, + 1 + ], + [ + "add", + 504, + 380, + -1, + 1, + 1 + ], + [ + "add", + 504, + 422, + -1, + 1, + 1 + ], + [ + "add", + 504, + 424, + 2, + 1, + 1 + ], + [ + "add", + 504, + 464, + 1, + 4, + 1 + ], + [ + "add", + 504, + 466, + -1, + 2, + 1 + ], + [ + "add", + 517, + 318, + -1, + 1, + 1 + ], + [ + "add", + 517, + 398, + -1, + 1, + 1 + ], + [ + "add", + 517, + 430, + 2, + 1, + 1 + ], + [ + "add", + 517, + 463, + 1, + 4, + 1 + ], + [ + "add", + 517, + 469, + -1, + 2, + 1 + ], + [ + "add", + 517, + 493, + 1, + 2, + 1 + ], + [ + "add", + 493, + 242, + 1, + 4, + 1 + ], + [ + "add", + 493, + 254, + -1, + 2, + 1 + ], + [ + "add", + 493, + 286, + -1, + 1, + 1 + ], + [ + "add", + 493, + 318, + -1, + 1, + 1 + ], + [ + "add", + 493, + 366, + -1, + 1, + 1 + ], + [ + "add", + 493, + 398, + -1, + 1, + 1 + ], + [ + "add", + 493, + 418, + -1, + 1, + 1 + ], + [ + "add", + 493, + 430, + 2, + 1, + 1 + ], + [ + "add", + 493, + 463, + 1, + 4, + 1 + ], + [ + "add", + 493, + 469, + -1, + 2, + 1 + ], + [ + "scale", + 505, + 1, + 2, + 1 + ], + [ + "add", + 505, + 10, + -1, + 2, + 1 + ], + [ + "add", + 505, + 244, + 1, + 4, + 1 + ], + [ + "add", + 505, + 302, + -1, + 1, + 1 + ], + [ + "add", + 505, + 350, + -1, + 1, + 1 + ], + [ + "add", + 505, + 420, + -1, + 1, + 1 + ], + [ + "add", + 505, + 529, + -1, + 1, + 1 + ], + [ + "scale", + 529, + 2, + 1, + 1 + ], + [ + "add", + 529, + 10, + 1, + 2, + 1 + ], + [ + "add", + 529, + 43, + -1, + 2, + 1 + ], + [ + "add", + 529, + 104, + -1, + 2, + 1 + ], + [ + "add", + 529, + 244, + -1, + 4, + 1 + ], + [ + "add", + 529, + 302, + 1, + 1, + 1 + ], + [ + "add", + 529, + 334, + -1, + 1, + 1 + ], + [ + "add", + 529, + 350, + 1, + 1, + 1 + ], + [ + "add", + 529, + 382, + -1, + 1, + 1 + ], + [ + "add", + 529, + 420, + 1, + 1, + 1 + ], + [ + "add", + 529, + 465, + 1, + 4, + 1 + ], + [ + "add", + 529, + 467, + -1, + 2, + 1 + ], + [ + "add", + 430, + 43, + 1, + 4, + 1 + ], + [ + "add", + 430, + 104, + -1, + 4, + 1 + ], + [ + "add", + 424, + 420, + 1, + 2, + 1 + ], + [ + "add", + 693, + 24, + -1, + 1, + 1 + ], + [ + "add", + 693, + 479, + -1, + 2, + 1 + ], + [ + "add", + 693, + 690, + 1, + 2, + 1 + ], + [ + "add", + 690, + 24, + -2, + 1, + 1 + ], + [ + "add", + 690, + 312, + 1, + 1, + 1 + ], + [ + "add", + 690, + 332, + -1, + 1, + 1 + ], + [ + "add", + 690, + 334, + 1, + 1, + 1 + ], + [ + "add", + 690, + 466, + -1, + 2, + 1 + ], + [ + "add", + 690, + 467, + 1, + 2, + 1 + ], + [ + "add", + 690, + 478, + -1, + 2, + 1 + ], + [ + "add", + 690, + 688, + -1, + 2, + 1 + ], + [ + "add", + 690, + 689, + 1, + 2, + 1 + ], + [ + "add", + 690, + 691, + -1, + 2, + 1 + ], + [ + "add", + 690, + 692, + 1, + 1, + 1 + ], + [ + "add", + 690, + 694, + 1, + 1, + 1 + ], + [ + "add", + 690, + 695, + -1, + 1, + 1 + ], + [ + "add", + 695, + 334, + -1, + 1, + 1 + ], + [ + "add", + 695, + 467, + -1, + 2, + 1 + ], + [ + "add", + 695, + 688, + 1, + 2, + 1 + ], + [ + "add", + 688, + 24, + 1, + 1, + 1 + ], + [ + "add", + 688, + 332, + 2, + 1, + 1 + ], + [ + "add", + 688, + 334, + -1, + 1, + 1 + ], + [ + "add", + 688, + 467, + -1, + 2, + 1 + ], + [ + "add", + 688, + 479, + -1, + 2, + 1 + ], + [ + "add", + 688, + 689, + -1, + 2, + 1 + ], + [ + "add", + 688, + 691, + 1, + 2, + 1 + ], + [ + "add", + 688, + 692, + -1, + 1, + 1 + ], + [ + "add", + 688, + 694, + -1, + 1, + 1 + ], + [ + "add", + 694, + 332, + -1, + 1, + 1 + ], + [ + "add", + 694, + 466, + -1, + 2, + 1 + ], + [ + "add", + 694, + 689, + 1, + 2, + 1 + ], + [ + "add", + 689, + 24, + 1, + 1, + 1 + ], + [ + "add", + 689, + 332, + -1, + 1, + 1 + ], + [ + "add", + 689, + 334, + 1, + 1, + 1 + ], + [ + "add", + 689, + 466, + -1, + 2, + 1 + ], + [ + "add", + 689, + 467, + -1, + 2, + 1 + ], + [ + "add", + 689, + 479, + -1, + 2, + 1 + ], + [ + "add", + 689, + 691, + 1, + 2, + 1 + ], + [ + "add", + 689, + 692, + -1, + 1, + 1 + ], + [ + "add", + 692, + 312, + -1, + 1, + 1 + ], + [ + "add", + 692, + 478, + -1, + 2, + 1 + ], + [ + "add", + 692, + 691, + 1, + 2, + 1 + ], + [ + "add", + 691, + 24, + 1, + 1, + 1 + ], + [ + "add", + 691, + 312, + -1, + 1, + 1 + ], + [ + "add", + 691, + 478, + -1, + 2, + 1 + ], + [ + "add", + 691, + 479, + -1, + 2, + 1 + ], + [ + "add", + 334, + 23, + -1, + 4, + 1 + ], + [ + "add", + 334, + 43, + 1, + 4, + 1 + ], + [ + "add", + 334, + 104, + 1, + 4, + 1 + ], + [ + "add", + 334, + 108, + 1, + 4, + 1 + ], + [ + "add", + 334, + 467, + 1, + 2, + 1 + ], + [ + "add", + 467, + 8, + -1, + 2, + 1 + ], + [ + "add", + 467, + 10, + -1, + 2, + 1 + ], + [ + "add", + 467, + 23, + -1, + 4, + 1 + ], + [ + "add", + 467, + 43, + 1, + 4, + 1 + ], + [ + "add", + 467, + 104, + 1, + 4, + 1 + ], + [ + "add", + 467, + 108, + 1, + 4, + 1 + ], + [ + "add", + 467, + 290, + 1, + 4, + 1 + ], + [ + "add", + 467, + 302, + 1, + 1, + 1 + ], + [ + "add", + 467, + 338, + 1, + 2, + 1 + ], + [ + "add", + 467, + 368, + 1, + 2, + 1 + ], + [ + "add", + 332, + 23, + 1, + 4, + 1 + ], + [ + "add", + 332, + 320, + -1, + 4, + 1 + ], + [ + "add", + 332, + 322, + 1, + 2, + 1 + ], + [ + "add", + 332, + 466, + 1, + 2, + 1 + ], + [ + "add", + 332, + 523, + -1, + 2, + 1 + ], + [ + "add", + 466, + 23, + 1, + 4, + 1 + ], + [ + "add", + 466, + 248, + -1, + 2, + 1 + ], + [ + "add", + 466, + 295, + 1, + 4, + 1 + ], + [ + "add", + 466, + 300, + 1, + 1, + 1 + ], + [ + "add", + 466, + 320, + -1, + 4, + 1 + ], + [ + "add", + 466, + 322, + 1, + 2, + 1 + ], + [ + "add", + 466, + 343, + 1, + 2, + 1 + ], + [ + "add", + 466, + 375, + -1, + 1, + 1 + ], + [ + "add", + 466, + 523, + -1, + 2, + 1 + ], + [ + "add", + 637, + 292, + -1, + 2, + 1 + ], + [ + "add", + 637, + 356, + -1, + 1, + 1 + ], + [ + "add", + 637, + 634, + 1, + 2, + 1 + ], + [ + "add", + 634, + 276, + 1, + 2, + 1 + ], + [ + "add", + 634, + 278, + -1, + 2, + 1 + ], + [ + "add", + 634, + 294, + -1, + 2, + 1 + ], + [ + "add", + 634, + 340, + 1, + 1, + 1 + ], + [ + "add", + 634, + 342, + -1, + 1, + 1 + ], + [ + "add", + 634, + 356, + -2, + 1, + 1 + ], + [ + "add", + 634, + 358, + 1, + 1, + 1 + ], + [ + "add", + 634, + 632, + -1, + 2, + 1 + ], + [ + "add", + 634, + 633, + 1, + 2, + 1 + ], + [ + "add", + 634, + 635, + -1, + 2, + 1 + ], + [ + "add", + 634, + 636, + 1, + 1, + 1 + ], + [ + "add", + 634, + 638, + 1, + 1, + 1 + ], + [ + "add", + 634, + 639, + -1, + 1, + 1 + ], + [ + "add", + 638, + 278, + -1, + 2, + 1 + ], + [ + "add", + 638, + 342, + -1, + 1, + 1 + ], + [ + "add", + 638, + 633, + 1, + 2, + 1 + ], + [ + "add", + 633, + 276, + -1, + 1, + 1 + ], + [ + "add", + 633, + 278, + -1, + 2, + 1 + ], + [ + "add", + 633, + 292, + -1, + 2, + 1 + ], + [ + "add", + 633, + 342, + -1, + 1, + 1 + ], + [ + "add", + 633, + 356, + 1, + 1, + 1 + ], + [ + "add", + 633, + 632, + 1, + 2, + 1 + ], + [ + "add", + 633, + 635, + 1, + 2, + 1 + ], + [ + "add", + 633, + 636, + -1, + 1, + 1 + ], + [ + "add", + 633, + 639, + 1, + 1, + 1 + ], + [ + "add", + 639, + 276, + -1, + 2, + 1 + ], + [ + "add", + 639, + 340, + -1, + 1, + 1 + ], + [ + "add", + 639, + 632, + 1, + 2, + 1 + ], + [ + "add", + 632, + 276, + -1, + 2, + 1 + ], + [ + "add", + 632, + 278, + -1, + 2, + 1 + ], + [ + "add", + 632, + 292, + -1, + 2, + 1 + ], + [ + "add", + 632, + 340, + -1, + 1, + 1 + ], + [ + "add", + 632, + 342, + 1, + 1, + 1 + ], + [ + "add", + 632, + 356, + 1, + 1, + 1 + ], + [ + "add", + 632, + 635, + 1, + 2, + 1 + ], + [ + "add", + 632, + 636, + -1, + 1, + 1 + ], + [ + "add", + 636, + 294, + -1, + 2, + 1 + ], + [ + "add", + 636, + 358, + -1, + 1, + 1 + ], + [ + "add", + 636, + 635, + 1, + 2, + 1 + ], + [ + "add", + 635, + 292, + -1, + 2, + 1 + ], + [ + "add", + 635, + 294, + -1, + 2, + 1 + ], + [ + "add", + 635, + 356, + 1, + 1, + 1 + ], + [ + "add", + 635, + 358, + -1, + 1, + 1 + ], + [ + "add", + 710, + 490, + -1, + 2, + 1 + ], + [ + "add", + 710, + 526, + -1, + 1, + 1 + ], + [ + "add", + 710, + 705, + 1, + 2, + 1 + ], + [ + "add", + 705, + 490, + -1, + 2, + 1 + ], + [ + "add", + 705, + 491, + -1, + 1, + 1 + ], + [ + "add", + 705, + 503, + -1, + 1, + 1 + ], + [ + "add", + 705, + 526, + -1, + 1, + 1 + ], + [ + "add", + 705, + 704, + 1, + 2, + 1 + ], + [ + "add", + 705, + 706, + 1, + 2, + 1 + ], + [ + "add", + 705, + 707, + 1, + 2, + 1 + ], + [ + "add", + 705, + 708, + -1, + 1, + 1 + ], + [ + "add", + 705, + 709, + 1, + 1, + 1 + ], + [ + "add", + 705, + 711, + 1, + 1, + 1 + ], + [ + "add", + 711, + 491, + -1, + 2, + 1 + ], + [ + "add", + 711, + 527, + -1, + 1, + 1 + ], + [ + "add", + 711, + 704, + 1, + 2, + 1 + ], + [ + "add", + 704, + 490, + -1, + 2, + 1 + ], + [ + "add", + 704, + 491, + -1, + 2, + 1 + ], + [ + "add", + 704, + 515, + 2, + 1, + 1 + ], + [ + "add", + 704, + 526, + 1, + 1, + 1 + ], + [ + "add", + 704, + 527, + -1, + 1, + 1 + ], + [ + "add", + 704, + 706, + -1, + 2, + 1 + ], + [ + "add", + 704, + 707, + 1, + 2, + 1 + ], + [ + "add", + 704, + 708, + -1, + 1, + 1 + ], + [ + "add", + 704, + 709, + -1, + 1, + 1 + ], + [ + "add", + 709, + 503, + -1, + 2, + 1 + ], + [ + "add", + 709, + 515, + -1, + 1, + 1 + ], + [ + "add", + 709, + 706, + 1, + 2, + 1 + ], + [ + "add", + 706, + 502, + -1, + 2, + 1 + ], + [ + "add", + 706, + 514, + 1, + 1, + 1 + ], + [ + "add", + 706, + 515, + -2, + 1, + 1 + ], + [ + "add", + 706, + 707, + -1, + 2, + 1 + ], + [ + "add", + 706, + 708, + 1, + 1, + 1 + ], + [ + "add", + 708, + 502, + -1, + 2, + 1 + ], + [ + "add", + 708, + 514, + -1, + 1, + 1 + ], + [ + "add", + 708, + 707, + 1, + 2, + 1 + ], + [ + "add", + 707, + 502, + -1, + 2, + 1 + ], + [ + "add", + 707, + 503, + -1, + 2, + 1 + ], + [ + "add", + 707, + 514, + -1, + 1, + 1 + ], + [ + "add", + 707, + 515, + 1, + 1, + 1 + ], + [ + "add", + 526, + 328, + -1, + 1, + 1 + ], + [ + "add", + 526, + 392, + -1, + 1, + 1 + ], + [ + "add", + 526, + 412, + 2, + 1, + 1 + ], + [ + "add", + 526, + 474, + 1, + 4, + 1 + ], + [ + "add", + 526, + 480, + -1, + 2, + 1 + ], + [ + "add", + 526, + 490, + 1, + 2, + 1 + ], + [ + "add", + 490, + 263, + 1, + 4, + 1 + ], + [ + "add", + 490, + 268, + -1, + 2, + 1 + ], + [ + "add", + 490, + 280, + -1, + 1, + 1 + ], + [ + "add", + 490, + 328, + -1, + 1, + 1 + ], + [ + "add", + 490, + 344, + -1, + 1, + 1 + ], + [ + "add", + 490, + 392, + -1, + 1, + 1 + ], + [ + "add", + 490, + 407, + -1, + 1, + 1 + ], + [ + "add", + 490, + 412, + 2, + 1, + 1 + ], + [ + "add", + 490, + 474, + 1, + 4, + 1 + ], + [ + "add", + 490, + 480, + -1, + 2, + 1 + ], + [ + "add", + 514, + 312, + -1, + 1, + 1 + ], + [ + "add", + 514, + 376, + -1, + 1, + 1 + ], + [ + "add", + 514, + 408, + 2, + 1, + 1 + ], + [ + "add", + 514, + 476, + 1, + 4, + 1 + ], + [ + "add", + 514, + 478, + -1, + 2, + 1 + ], + [ + "add", + 514, + 502, + 1, + 2, + 1 + ], + [ + "add", + 502, + 262, + 1, + 4, + 1 + ], + [ + "add", + 502, + 264, + -1, + 2, + 1 + ], + [ + "add", + 502, + 296, + -1, + 1, + 1 + ], + [ + "add", + 502, + 312, + -1, + 1, + 1 + ], + [ + "add", + 502, + 360, + -1, + 1, + 1 + ], + [ + "add", + 502, + 376, + -1, + 1, + 1 + ], + [ + "add", + 502, + 406, + -1, + 1, + 1 + ], + [ + "add", + 502, + 408, + 2, + 1, + 1 + ], + [ + "add", + 502, + 476, + 1, + 4, + 1 + ], + [ + "add", + 502, + 478, + -1, + 2, + 1 + ], + [ + "scale", + 503, + 1, + 2, + 1 + ], + [ + "add", + 503, + 19, + -1, + 1, + 1 + ], + [ + "add", + 503, + 60, + -1, + 1, + 1 + ], + [ + "add", + 503, + 79, + -1, + 2, + 1 + ], + [ + "add", + 503, + 260, + 1, + 4, + 1 + ], + [ + "add", + 503, + 408, + -2, + 1, + 1 + ], + [ + "add", + 503, + 515, + -1, + 1, + 1 + ], + [ + "scale", + 515, + 2, + 1, + 1 + ], + [ + "add", + 515, + 19, + 1, + 1, + 1 + ], + [ + "add", + 515, + 24, + -1, + 1, + 1 + ], + [ + "add", + 515, + 41, + -1, + 2, + 1 + ], + [ + "add", + 515, + 60, + 1, + 1, + 1 + ], + [ + "add", + 515, + 66, + -1, + 1, + 1 + ], + [ + "add", + 515, + 79, + 1, + 2, + 1 + ], + [ + "add", + 515, + 106, + -1, + 2, + 1 + ], + [ + "add", + 515, + 260, + -1, + 4, + 1 + ], + [ + "add", + 515, + 408, + 2, + 1, + 1 + ], + [ + "add", + 515, + 477, + 1, + 4, + 1 + ], + [ + "add", + 515, + 479, + -1, + 2, + 1 + ], + [ + "scale", + 479, + 1, + 2, + 1 + ], + [ + "add", + 479, + 19, + 1, + 1, + 1 + ], + [ + "add", + 479, + 24, + -1, + 1, + 1 + ], + [ + "add", + 479, + 79, + -1, + 2, + 1 + ], + [ + "add", + 479, + 292, + 1, + 4, + 1 + ], + [ + "add", + 479, + 356, + 1, + 2, + 1 + ], + [ + "add", + 479, + 372, + -1, + 1, + 1 + ], + [ + "scale", + 24, + 2, + 1, + 1 + ], + [ + "add", + 24, + 19, + -1, + 1, + 1 + ], + [ + "add", + 24, + 35, + 1, + 4, + 1 + ], + [ + "add", + 24, + 41, + 1, + 4, + 1 + ], + [ + "add", + 24, + 45, + 1, + 4, + 1 + ], + [ + "add", + 24, + 79, + 1, + 2, + 1 + ], + [ + "add", + 24, + 106, + 1, + 4, + 1 + ], + [ + "add", + 24, + 292, + -1, + 4, + 1 + ], + [ + "add", + 24, + 315, + -1, + 4, + 1 + ], + [ + "add", + 24, + 347, + 1, + 2, + 1 + ], + [ + "add", + 24, + 356, + -1, + 2, + 1 + ], + [ + "add", + 24, + 372, + 1, + 1, + 1 + ], + [ + "add", + 527, + 42, + -1, + 2, + 1 + ], + [ + "add", + 527, + 97, + -1, + 1, + 1 + ], + [ + "add", + 527, + 106, + 1, + 2, + 1 + ], + [ + "add", + 527, + 109, + -1, + 1, + 1 + ], + [ + "add", + 527, + 475, + 1, + 4, + 1 + ], + [ + "add", + 527, + 481, + -1, + 2, + 1 + ], + [ + "add", + 527, + 491, + 1, + 2, + 1 + ], + [ + "add", + 491, + 28, + -1, + 1, + 1 + ], + [ + "add", + 491, + 38, + -1, + 1, + 1 + ], + [ + "add", + 491, + 41, + -1, + 2, + 1 + ], + [ + "add", + 491, + 42, + -1, + 2, + 1 + ], + [ + "add", + 491, + 97, + -1, + 1, + 1 + ], + [ + "add", + 491, + 106, + 1, + 2, + 1 + ], + [ + "add", + 491, + 109, + -1, + 1, + 1 + ], + [ + "add", + 491, + 258, + 1, + 4, + 1 + ], + [ + "add", + 491, + 270, + -1, + 2, + 1 + ], + [ + "add", + 491, + 400, + 1, + 2, + 1 + ], + [ + "add", + 491, + 475, + 1, + 4, + 1 + ], + [ + "add", + 491, + 481, + -1, + 2, + 1 + ], + [ + "add", + 42, + 41, + -1, + 1, + 1 + ], + [ + "add", + 236, + 17, + -1, + 4, + 1 + ], + [ + "add", + 236, + 18, + -1, + 4, + 1 + ], + [ + "add", + 236, + 58, + -1, + 4, + 1 + ], + [ + "add", + 236, + 59, + -1, + 4, + 1 + ], + [ + "add", + 236, + 81, + 1, + 4, + 1 + ], + [ + "add", + 236, + 95, + 1, + 4, + 1 + ], + [ + "add", + 236, + 96, + 1, + 4, + 1 + ], + [ + "add", + 236, + 107, + 1, + 4, + 1 + ], + [ + "add", + 236, + 108, + 1, + 4, + 1 + ], + [ + "add", + 236, + 224, + -1, + 4, + 1 + ], + [ + "add", + 236, + 231, + 1, + 2, + 1 + ], + [ + "add", + 231, + 8, + 1, + 4, + 1 + ], + [ + "add", + 231, + 17, + -1, + 2, + 1 + ], + [ + "add", + 231, + 18, + -1, + 4, + 1 + ], + [ + "add", + 231, + 41, + -1, + 2, + 1 + ], + [ + "add", + 231, + 43, + -1, + 2, + 1 + ], + [ + "add", + 231, + 45, + 1, + 4, + 1 + ], + [ + "add", + 231, + 57, + -1, + 4, + 1 + ], + [ + "add", + 231, + 58, + -1, + 2, + 1 + ], + [ + "add", + 231, + 59, + -1, + 4, + 1 + ], + [ + "add", + 231, + 61, + 1, + 2, + 1 + ], + [ + "add", + 231, + 63, + 1, + 2, + 1 + ], + [ + "add", + 231, + 81, + 1, + 2, + 1 + ], + [ + "add", + 231, + 92, + -1, + 4, + 1 + ], + [ + "add", + 231, + 93, + 1, + 4, + 1 + ], + [ + "add", + 231, + 96, + 1, + 4, + 1 + ], + [ + "add", + 231, + 103, + 1, + 4, + 1 + ], + [ + "add", + 231, + 108, + 1, + 4, + 1 + ], + [ + "add", + 654, + 246, + 1, + 4, + 1 + ], + [ + "add", + 654, + 348, + -1, + 1, + 1 + ], + [ + "add", + 654, + 649, + -1, + 4, + 1 + ], + [ + "add", + 649, + 244, + -1, + 1, + 1 + ], + [ + "add", + 649, + 246, + -1, + 2, + 1 + ], + [ + "add", + 649, + 260, + -1, + 1, + 1 + ], + [ + "add", + 649, + 348, + 2, + 1, + 1 + ], + [ + "add", + 649, + 648, + 1, + 2, + 1 + ], + [ + "add", + 649, + 650, + 1, + 2, + 1 + ], + [ + "add", + 649, + 651, + 1, + 2, + 1 + ], + [ + "add", + 649, + 652, + 2, + 1, + 1 + ], + [ + "add", + 649, + 653, + -2, + 1, + 1 + ], + [ + "add", + 649, + 655, + -2, + 1, + 1 + ], + [ + "add", + 655, + 244, + 1, + 4, + 1 + ], + [ + "add", + 655, + 350, + -1, + 1, + 1 + ], + [ + "add", + 655, + 648, + -1, + 4, + 1 + ], + [ + "add", + 648, + 60, + -4, + 1, + 1 + ], + [ + "add", + 648, + 244, + -1, + 2, + 1 + ], + [ + "add", + 648, + 246, + -1, + 2, + 1 + ], + [ + "add", + 648, + 348, + -2, + 1, + 1 + ], + [ + "add", + 648, + 350, + 2, + 1, + 1 + ], + [ + "add", + 648, + 650, + -1, + 2, + 1 + ], + [ + "add", + 648, + 651, + 1, + 2, + 1 + ], + [ + "add", + 648, + 652, + 2, + 1, + 1 + ], + [ + "add", + 648, + 653, + 2, + 1, + 1 + ], + [ + "add", + 653, + 60, + -1, + 1, + 1 + ], + [ + "add", + 653, + 260, + 1, + 4, + 1 + ], + [ + "add", + 653, + 650, + -1, + 4, + 1 + ], + [ + "add", + 650, + 60, + 4, + 1, + 1 + ], + [ + "add", + 650, + 262, + -1, + 2, + 1 + ], + [ + "add", + 650, + 360, + -2, + 1, + 1 + ], + [ + "add", + 650, + 651, + -1, + 2, + 1 + ], + [ + "add", + 650, + 652, + -2, + 1, + 1 + ], + [ + "add", + 652, + 262, + 1, + 4, + 1 + ], + [ + "add", + 652, + 360, + -1, + 1, + 1 + ], + [ + "add", + 652, + 651, + -1, + 4, + 1 + ], + [ + "add", + 651, + 60, + -2, + 1, + 1 + ], + [ + "add", + 651, + 260, + -1, + 2, + 1 + ], + [ + "add", + 651, + 262, + -1, + 2, + 1 + ], + [ + "add", + 651, + 360, + 2, + 1, + 1 + ], + [ + "add", + 60, + 29, + 1, + 4, + 1 + ], + [ + "add", + 60, + 59, + 1, + 4, + 1 + ], + [ + "add", + 60, + 260, + -1, + 4, + 1 + ], + [ + "add", + 622, + 283, + -1, + 2, + 1 + ], + [ + "add", + 622, + 379, + -1, + 1, + 1 + ], + [ + "add", + 622, + 617, + 1, + 2, + 1 + ], + [ + "add", + 617, + 48, + -1, + 1, + 1 + ], + [ + "add", + 617, + 100, + -1, + 1, + 1 + ], + [ + "add", + 617, + 283, + -1, + 2, + 1 + ], + [ + "add", + 617, + 379, + -1, + 1, + 1 + ], + [ + "add", + 617, + 616, + 1, + 2, + 1 + ], + [ + "add", + 617, + 618, + 1, + 2, + 1 + ], + [ + "add", + 617, + 619, + 1, + 2, + 1 + ], + [ + "add", + 617, + 620, + -1, + 1, + 1 + ], + [ + "add", + 617, + 621, + 1, + 1, + 1 + ], + [ + "add", + 617, + 623, + 1, + 1, + 1 + ], + [ + "add", + 623, + 67, + -1, + 1, + 1 + ], + [ + "add", + 623, + 100, + -1, + 2, + 1 + ], + [ + "add", + 623, + 616, + 1, + 2, + 1 + ], + [ + "add", + 616, + 67, + -1, + 1, + 1 + ], + [ + "add", + 616, + 82, + 2, + 1, + 1 + ], + [ + "add", + 616, + 100, + -1, + 2, + 1 + ], + [ + "add", + 616, + 283, + -1, + 2, + 1 + ], + [ + "add", + 616, + 379, + 1, + 1, + 1 + ], + [ + "add", + 616, + 618, + -1, + 2, + 1 + ], + [ + "add", + 616, + 619, + 1, + 2, + 1 + ], + [ + "add", + 616, + 620, + -1, + 1, + 1 + ], + [ + "add", + 616, + 621, + -1, + 1, + 1 + ], + [ + "add", + 621, + 48, + -1, + 2, + 1 + ], + [ + "add", + 621, + 82, + -1, + 1, + 1 + ], + [ + "add", + 621, + 618, + 1, + 2, + 1 + ], + [ + "add", + 618, + 82, + -2, + 1, + 1 + ], + [ + "add", + 618, + 315, + -1, + 2, + 1 + ], + [ + "add", + 618, + 347, + 1, + 1, + 1 + ], + [ + "add", + 618, + 619, + -1, + 2, + 1 + ], + [ + "add", + 618, + 620, + 1, + 1, + 1 + ], + [ + "add", + 620, + 315, + -1, + 2, + 1 + ], + [ + "add", + 620, + 347, + -1, + 1, + 1 + ], + [ + "add", + 620, + 619, + 1, + 2, + 1 + ], + [ + "add", + 619, + 48, + -1, + 2, + 1 + ], + [ + "add", + 619, + 82, + 1, + 1, + 1 + ], + [ + "add", + 619, + 315, + -1, + 2, + 1 + ], + [ + "add", + 619, + 347, + -1, + 1, + 1 + ], + [ + "add", + 702, + 316, + -1, + 1, + 1 + ], + [ + "add", + 702, + 468, + -1, + 2, + 1 + ], + [ + "add", + 702, + 697, + 1, + 2, + 1 + ], + [ + "add", + 697, + 316, + -1, + 1, + 1 + ], + [ + "add", + 697, + 468, + -1, + 2, + 1 + ], + [ + "add", + 697, + 469, + -1, + 1, + 1 + ], + [ + "add", + 697, + 481, + -1, + 1, + 1 + ], + [ + "add", + 697, + 696, + 1, + 2, + 1 + ], + [ + "add", + 697, + 698, + 1, + 2, + 1 + ], + [ + "add", + 697, + 699, + 1, + 2, + 1 + ], + [ + "add", + 697, + 700, + -1, + 1, + 1 + ], + [ + "add", + 697, + 701, + 1, + 1, + 1 + ], + [ + "add", + 697, + 703, + 1, + 1, + 1 + ], + [ + "add", + 701, + 109, + -1, + 1, + 1 + ], + [ + "add", + 701, + 481, + -1, + 2, + 1 + ], + [ + "add", + 701, + 698, + 1, + 2, + 1 + ], + [ + "add", + 698, + 109, + -2, + 1, + 1 + ], + [ + "add", + 698, + 318, + 1, + 1, + 1 + ], + [ + "add", + 698, + 328, + 1, + 1, + 1 + ], + [ + "add", + 698, + 469, + 1, + 2, + 1 + ], + [ + "add", + 698, + 480, + -1, + 2, + 1 + ], + [ + "add", + 698, + 696, + -1, + 2, + 1 + ], + [ + "add", + 698, + 699, + -1, + 2, + 1 + ], + [ + "add", + 698, + 700, + 1, + 1, + 1 + ], + [ + "add", + 698, + 703, + -1, + 1, + 1 + ], + [ + "add", + 703, + 318, + -1, + 1, + 1 + ], + [ + "add", + 703, + 469, + -1, + 2, + 1 + ], + [ + "add", + 703, + 696, + 1, + 2, + 1 + ], + [ + "add", + 696, + 109, + 1, + 1, + 1 + ], + [ + "add", + 696, + 316, + 1, + 1, + 1 + ], + [ + "add", + 696, + 318, + -1, + 1, + 1 + ], + [ + "add", + 696, + 468, + -1, + 2, + 1 + ], + [ + "add", + 696, + 469, + -1, + 2, + 1 + ], + [ + "add", + 696, + 481, + -1, + 2, + 1 + ], + [ + "add", + 696, + 699, + 1, + 2, + 1 + ], + [ + "add", + 696, + 700, + -1, + 1, + 1 + ], + [ + "add", + 700, + 328, + -1, + 1, + 1 + ], + [ + "add", + 700, + 480, + -1, + 2, + 1 + ], + [ + "add", + 700, + 699, + 1, + 2, + 1 + ], + [ + "add", + 699, + 109, + 1, + 1, + 1 + ], + [ + "add", + 699, + 328, + -1, + 1, + 1 + ], + [ + "add", + 699, + 480, + -1, + 2, + 1 + ], + [ + "add", + 699, + 481, + -1, + 2, + 1 + ], + [ + "add", + 109, + 23, + 1, + 4, + 1 + ], + [ + "add", + 109, + 41, + 1, + 4, + 1 + ], + [ + "add", + 109, + 106, + -1, + 4, + 1 + ], + [ + "add", + 109, + 108, + 1, + 4, + 1 + ], + [ + "add", + 109, + 481, + 1, + 2, + 1 + ], + [ + "add", + 481, + 23, + 1, + 4, + 1 + ], + [ + "add", + 481, + 38, + 1, + 1, + 1 + ], + [ + "add", + 481, + 41, + 1, + 4, + 1 + ], + [ + "add", + 481, + 106, + -1, + 4, + 1 + ], + [ + "add", + 481, + 108, + 1, + 4, + 1 + ], + [ + "add", + 481, + 270, + -1, + 2, + 1 + ], + [ + "add", + 481, + 276, + 1, + 4, + 1 + ], + [ + "add", + 481, + 340, + 1, + 2, + 1 + ], + [ + "add", + 481, + 388, + -1, + 1, + 1 + ], + [ + "add", + 318, + 35, + -1, + 4, + 1 + ], + [ + "add", + 318, + 43, + 1, + 4, + 1 + ], + [ + "add", + 318, + 104, + -1, + 4, + 1 + ], + [ + "add", + 318, + 107, + 1, + 4, + 1 + ], + [ + "add", + 318, + 469, + 1, + 2, + 1 + ], + [ + "add", + 469, + 35, + -1, + 4, + 1 + ], + [ + "add", + 469, + 43, + 1, + 4, + 1 + ], + [ + "add", + 469, + 104, + -1, + 4, + 1 + ], + [ + "add", + 469, + 107, + 1, + 4, + 1 + ], + [ + "add", + 469, + 254, + -1, + 2, + 1 + ], + [ + "add", + 469, + 274, + 1, + 4, + 1 + ], + [ + "add", + 469, + 286, + 1, + 1, + 1 + ], + [ + "add", + 469, + 354, + 1, + 2, + 1 + ], + [ + "add", + 469, + 386, + -1, + 1, + 1 + ], + [ + "add", + 328, + 324, + 1, + 2, + 1 + ], + [ + "add", + 328, + 412, + -1, + 1, + 1 + ], + [ + "add", + 328, + 480, + 1, + 2, + 1 + ], + [ + "add", + 480, + 268, + -1, + 2, + 1 + ], + [ + "add", + 480, + 278, + 1, + 4, + 1 + ], + [ + "add", + 480, + 280, + 1, + 1, + 1 + ], + [ + "add", + 480, + 324, + 1, + 2, + 1 + ], + [ + "add", + 480, + 342, + 1, + 2, + 1 + ], + [ + "add", + 480, + 390, + -1, + 1, + 1 + ], + [ + "add", + 480, + 412, + -1, + 1, + 1 + ], + [ + "add", + 412, + 106, + 1, + 4, + 1 + ], + [ + "add", + 412, + 400, + -1, + 4, + 1 + ], + [ + "add", + 412, + 407, + 1, + 2, + 1 + ], + [ + "add", + 386, + 96, + -1, + 2, + 1 + ], + [ + "add", + 386, + 384, + 1, + 2, + 1 + ], + [ + "add", + 390, + 96, + -1, + 2, + 1 + ], + [ + "add", + 390, + 384, + 1, + 2, + 1 + ], + [ + "add", + 670, + 380, + -1, + 1, + 1 + ], + [ + "add", + 670, + 464, + 1, + 4, + 1 + ], + [ + "add", + 670, + 665, + -1, + 4, + 1 + ], + [ + "add", + 665, + 380, + 2, + 1, + 1 + ], + [ + "add", + 665, + 464, + -1, + 2, + 1 + ], + [ + "add", + 665, + 465, + -1, + 1, + 1 + ], + [ + "add", + 665, + 475, + -1, + 1, + 1 + ], + [ + "add", + 665, + 664, + 1, + 2, + 1 + ], + [ + "add", + 665, + 666, + 1, + 2, + 1 + ], + [ + "add", + 665, + 667, + 1, + 2, + 1 + ], + [ + "add", + 665, + 668, + 2, + 1, + 1 + ], + [ + "add", + 665, + 669, + -2, + 1, + 1 + ], + [ + "add", + 665, + 671, + -2, + 1, + 1 + ], + [ + "add", + 669, + 97, + -1, + 1, + 1 + ], + [ + "add", + 669, + 475, + 1, + 4, + 1 + ], + [ + "add", + 669, + 666, + -1, + 4, + 1 + ], + [ + "add", + 666, + 97, + 4, + 1, + 1 + ], + [ + "add", + 666, + 382, + -2, + 1, + 1 + ], + [ + "add", + 666, + 392, + -2, + 1, + 1 + ], + [ + "add", + 666, + 465, + 1, + 2, + 1 + ], + [ + "add", + 666, + 474, + -1, + 2, + 1 + ], + [ + "add", + 666, + 664, + -1, + 2, + 1 + ], + [ + "add", + 666, + 667, + -1, + 2, + 1 + ], + [ + "add", + 666, + 668, + -2, + 1, + 1 + ], + [ + "add", + 666, + 671, + 2, + 1, + 1 + ], + [ + "add", + 671, + 382, + -1, + 1, + 1 + ], + [ + "add", + 671, + 465, + 1, + 4, + 1 + ], + [ + "add", + 671, + 664, + -1, + 4, + 1 + ], + [ + "add", + 664, + 97, + -2, + 1, + 1 + ], + [ + "add", + 664, + 380, + -2, + 1, + 1 + ], + [ + "add", + 664, + 382, + 2, + 1, + 1 + ], + [ + "add", + 664, + 464, + -1, + 2, + 1 + ], + [ + "add", + 664, + 465, + -1, + 2, + 1 + ], + [ + "add", + 664, + 475, + -1, + 2, + 1 + ], + [ + "add", + 664, + 667, + 1, + 2, + 1 + ], + [ + "add", + 664, + 668, + 2, + 1, + 1 + ], + [ + "add", + 668, + 392, + -1, + 1, + 1 + ], + [ + "add", + 668, + 474, + 1, + 4, + 1 + ], + [ + "add", + 668, + 667, + -1, + 4, + 1 + ], + [ + "add", + 667, + 97, + -2, + 1, + 1 + ], + [ + "add", + 667, + 392, + 2, + 1, + 1 + ], + [ + "add", + 667, + 474, + -1, + 2, + 1 + ], + [ + "add", + 667, + 475, + -1, + 2, + 1 + ], + [ + "scale", + 475, + 1, + 2, + 1 + ], + [ + "add", + 475, + 28, + -2, + 1, + 1 + ], + [ + "add", + 475, + 97, + 2, + 1, + 1 + ], + [ + "add", + 475, + 258, + -1, + 2, + 1 + ], + [ + "add", + 475, + 276, + -1, + 2, + 1 + ], + [ + "add", + 475, + 340, + 1, + 1, + 1 + ], + [ + "scale", + 97, + 2, + 1, + 1 + ], + [ + "add", + 97, + 28, + -1, + 1, + 1 + ], + [ + "add", + 97, + 41, + 1, + 4, + 1 + ], + [ + "add", + 97, + 65, + 1, + 4, + 1 + ], + [ + "add", + 97, + 96, + 1, + 4, + 1 + ], + [ + "add", + 97, + 106, + -1, + 4, + 1 + ], + [ + "add", + 97, + 258, + -1, + 4, + 1 + ], + [ + "add", + 97, + 276, + -1, + 4, + 1 + ], + [ + "add", + 97, + 340, + 1, + 2, + 1 + ], + [ + "add", + 382, + 26, + -1, + 4, + 1 + ], + [ + "add", + 382, + 43, + 1, + 4, + 1 + ], + [ + "add", + 382, + 95, + 1, + 4, + 1 + ], + [ + "add", + 382, + 104, + 1, + 4, + 1 + ], + [ + "add", + 382, + 465, + -1, + 4, + 1 + ], + [ + "add", + 465, + 26, + 1, + 2, + 1 + ], + [ + "add", + 465, + 43, + -1, + 2, + 1 + ], + [ + "add", + 465, + 95, + -1, + 2, + 1 + ], + [ + "add", + 465, + 104, + -1, + 2, + 1 + ], + [ + "add", + 465, + 244, + -1, + 2, + 1 + ], + [ + "add", + 465, + 290, + -1, + 2, + 1 + ], + [ + "add", + 465, + 322, + 2, + 1, + 1 + ], + [ + "add", + 465, + 338, + 1, + 1, + 1 + ], + [ + "add", + 465, + 350, + -2, + 1, + 1 + ], + [ + "add", + 350, + 58, + 1, + 4, + 1 + ], + [ + "add", + 350, + 86, + -1, + 4, + 1 + ], + [ + "add", + 350, + 244, + -1, + 4, + 1 + ], + [ + "add", + 392, + 106, + 1, + 4, + 1 + ], + [ + "add", + 392, + 388, + -1, + 2, + 1 + ], + [ + "add", + 392, + 400, + -1, + 4, + 1 + ], + [ + "add", + 392, + 407, + 1, + 2, + 1 + ], + [ + "add", + 392, + 474, + -1, + 4, + 1 + ], + [ + "add", + 474, + 106, + -1, + 2, + 1 + ], + [ + "add", + 474, + 263, + -1, + 2, + 1 + ], + [ + "add", + 474, + 278, + -1, + 2, + 1 + ], + [ + "add", + 474, + 326, + 2, + 1, + 1 + ], + [ + "add", + 474, + 342, + 1, + 1, + 1 + ], + [ + "add", + 474, + 344, + -2, + 1, + 1 + ], + [ + "add", + 474, + 388, + 1, + 1, + 1 + ], + [ + "add", + 474, + 400, + 1, + 2, + 1 + ], + [ + "add", + 474, + 407, + -1, + 1, + 1 + ], + [ + "add", + 26, + 368, + 1, + 1, + 1 + ], + [ + "add", + 380, + 283, + -1, + 4, + 1 + ], + [ + "add", + 380, + 368, + -1, + 2, + 1 + ], + [ + "add", + 380, + 375, + 1, + 2, + 1 + ], + [ + "add", + 380, + 379, + -1, + 2, + 1 + ], + [ + "add", + 380, + 464, + -1, + 4, + 1 + ], + [ + "add", + 464, + 246, + -1, + 2, + 1 + ], + [ + "add", + 464, + 283, + 1, + 2, + 1 + ], + [ + "add", + 464, + 295, + -1, + 2, + 1 + ], + [ + "add", + 464, + 322, + 2, + 1, + 1 + ], + [ + "add", + 464, + 343, + 1, + 1, + 1 + ], + [ + "add", + 464, + 348, + -2, + 1, + 1 + ], + [ + "add", + 464, + 368, + 1, + 1, + 1 + ], + [ + "add", + 464, + 375, + -1, + 1, + 1 + ], + [ + "add", + 464, + 379, + 1, + 1, + 1 + ], + [ + "add", + 464, + 523, + -2, + 1, + 1 + ], + [ + "add", + 326, + 108, + -1, + 2, + 1 + ], + [ + "add", + 326, + 320, + 1, + 2, + 1 + ], + [ + "add", + 662, + 396, + -1, + 1, + 1 + ], + [ + "add", + 662, + 462, + 1, + 4, + 1 + ], + [ + "add", + 662, + 657, + -1, + 4, + 1 + ], + [ + "add", + 657, + 396, + 2, + 1, + 1 + ], + [ + "add", + 657, + 462, + -1, + 2, + 1 + ], + [ + "add", + 657, + 463, + -1, + 1, + 1 + ], + [ + "add", + 657, + 477, + -1, + 1, + 1 + ], + [ + "add", + 657, + 656, + 1, + 2, + 1 + ], + [ + "add", + 657, + 658, + 1, + 2, + 1 + ], + [ + "add", + 657, + 659, + 1, + 2, + 1 + ], + [ + "add", + 657, + 660, + 2, + 1, + 1 + ], + [ + "add", + 657, + 661, + -2, + 1, + 1 + ], + [ + "add", + 657, + 663, + -2, + 1, + 1 + ], + [ + "add", + 663, + 398, + -1, + 1, + 1 + ], + [ + "add", + 663, + 463, + 1, + 4, + 1 + ], + [ + "add", + 663, + 656, + -1, + 4, + 1 + ], + [ + "add", + 656, + 66, + -4, + 1, + 1 + ], + [ + "add", + 656, + 396, + -2, + 1, + 1 + ], + [ + "add", + 656, + 398, + 2, + 1, + 1 + ], + [ + "add", + 656, + 462, + -1, + 2, + 1 + ], + [ + "add", + 656, + 463, + -1, + 2, + 1 + ], + [ + "add", + 656, + 658, + -1, + 2, + 1 + ], + [ + "add", + 656, + 659, + 1, + 2, + 1 + ], + [ + "add", + 656, + 660, + 2, + 1, + 1 + ], + [ + "add", + 656, + 661, + 2, + 1, + 1 + ], + [ + "add", + 661, + 66, + -1, + 1, + 1 + ], + [ + "add", + 661, + 477, + 1, + 4, + 1 + ], + [ + "add", + 661, + 658, + -1, + 4, + 1 + ], + [ + "add", + 658, + 66, + 4, + 1, + 1 + ], + [ + "add", + 658, + 376, + -2, + 1, + 1 + ], + [ + "add", + 658, + 476, + -1, + 2, + 1 + ], + [ + "add", + 658, + 659, + -1, + 2, + 1 + ], + [ + "add", + 658, + 660, + -2, + 1, + 1 + ], + [ + "add", + 660, + 376, + -1, + 1, + 1 + ], + [ + "add", + 660, + 476, + 1, + 4, + 1 + ], + [ + "add", + 660, + 659, + -1, + 4, + 1 + ], + [ + "add", + 659, + 66, + -2, + 1, + 1 + ], + [ + "add", + 659, + 376, + 2, + 1, + 1 + ], + [ + "add", + 659, + 476, + -1, + 2, + 1 + ], + [ + "add", + 659, + 477, + -1, + 2, + 1 + ], + [ + "scale", + 477, + 1, + 2, + 1 + ], + [ + "add", + 477, + 29, + 1, + 2, + 1 + ], + [ + "add", + 477, + 59, + 1, + 2, + 1 + ], + [ + "add", + 477, + 66, + 2, + 1, + 1 + ], + [ + "add", + 477, + 260, + -1, + 1, + 1 + ], + [ + "add", + 477, + 292, + -1, + 2, + 1 + ], + [ + "add", + 477, + 308, + 2, + 1, + 1 + ], + [ + "add", + 477, + 356, + 1, + 1, + 1 + ], + [ + "scale", + 66, + 2, + 1, + 1 + ], + [ + "add", + 66, + 8, + 1, + 4, + 1 + ], + [ + "add", + 66, + 29, + 1, + 4, + 1 + ], + [ + "add", + 66, + 41, + 1, + 4, + 1 + ], + [ + "add", + 66, + 59, + 1, + 4, + 1 + ], + [ + "add", + 66, + 106, + 1, + 4, + 1 + ], + [ + "add", + 66, + 260, + -1, + 2, + 1 + ], + [ + "add", + 66, + 283, + -1, + 4, + 1 + ], + [ + "add", + 66, + 292, + -1, + 4, + 1 + ], + [ + "add", + 66, + 308, + 1, + 1, + 1 + ], + [ + "add", + 66, + 356, + 1, + 2, + 1 + ], + [ + "add", + 66, + 368, + -1, + 4, + 1 + ], + [ + "add", + 66, + 379, + -1, + 2, + 1 + ], + [ + "add", + 398, + 43, + 1, + 4, + 1 + ], + [ + "add", + 398, + 65, + -1, + 4, + 1 + ], + [ + "add", + 398, + 96, + 1, + 4, + 1 + ], + [ + "add", + 398, + 104, + -1, + 4, + 1 + ], + [ + "add", + 398, + 463, + -1, + 4, + 1 + ], + [ + "add", + 463, + 43, + -1, + 2, + 1 + ], + [ + "add", + 463, + 65, + 1, + 2, + 1 + ], + [ + "add", + 463, + 96, + -1, + 2, + 1 + ], + [ + "add", + 463, + 104, + 1, + 2, + 1 + ], + [ + "add", + 463, + 242, + -1, + 2, + 1 + ], + [ + "add", + 463, + 274, + -1, + 2, + 1 + ], + [ + "add", + 463, + 306, + 2, + 1, + 1 + ], + [ + "add", + 463, + 354, + 1, + 1, + 1 + ], + [ + "add", + 463, + 366, + -2, + 1, + 1 + ], + [ + "add", + 396, + 65, + 1, + 4, + 1 + ], + [ + "add", + 396, + 384, + -1, + 4, + 1 + ], + [ + "add", + 396, + 391, + 1, + 2, + 1 + ], + [ + "add", + 396, + 428, + -1, + 1, + 1 + ], + [ + "add", + 396, + 462, + -1, + 4, + 1 + ], + [ + "add", + 462, + 65, + -1, + 2, + 1 + ], + [ + "add", + 462, + 247, + -1, + 2, + 1 + ], + [ + "add", + 462, + 279, + -1, + 2, + 1 + ], + [ + "add", + 462, + 306, + 2, + 1, + 1 + ], + [ + "add", + 462, + 359, + 1, + 1, + 1 + ], + [ + "add", + 462, + 364, + -2, + 1, + 1 + ], + [ + "add", + 462, + 384, + 1, + 2, + 1 + ], + [ + "add", + 462, + 391, + -1, + 1, + 1 + ], + [ + "add", + 462, + 428, + 2, + 1, + 1 + ], + [ + "add", + 462, + 511, + -2, + 1, + 1 + ], + [ + "add", + 428, + 104, + 1, + 4, + 1 + ], + [ + "add", + 428, + 416, + -1, + 4, + 1 + ], + [ + "add", + 428, + 423, + 1, + 2, + 1 + ], + [ + "add", + 376, + 3, + 1, + 1, + 1 + ], + [ + "add", + 376, + 67, + 1, + 2, + 1 + ], + [ + "add", + 376, + 100, + 1, + 4, + 1 + ], + [ + "add", + 376, + 372, + -1, + 2, + 1 + ], + [ + "add", + 376, + 476, + -1, + 4, + 1 + ], + [ + "add", + 476, + 3, + -2, + 1, + 1 + ], + [ + "add", + 476, + 67, + -1, + 1, + 1 + ], + [ + "add", + 476, + 100, + -1, + 2, + 1 + ], + [ + "add", + 476, + 262, + -1, + 2, + 1 + ], + [ + "add", + 476, + 294, + -1, + 2, + 1 + ], + [ + "add", + 476, + 310, + 2, + 1, + 1 + ], + [ + "add", + 476, + 358, + 1, + 1, + 1 + ], + [ + "add", + 476, + 360, + -2, + 1, + 1 + ], + [ + "add", + 476, + 372, + 1, + 1, + 1 + ], + [ + "add", + 646, + 247, + 1, + 4, + 1 + ], + [ + "add", + 646, + 364, + -1, + 1, + 1 + ], + [ + "add", + 646, + 641, + -1, + 4, + 1 + ], + [ + "add", + 641, + 242, + -1, + 1, + 1 + ], + [ + "add", + 641, + 247, + -1, + 2, + 1 + ], + [ + "add", + 641, + 258, + -1, + 1, + 1 + ], + [ + "add", + 641, + 364, + 2, + 1, + 1 + ], + [ + "add", + 641, + 640, + 1, + 2, + 1 + ], + [ + "add", + 641, + 642, + 1, + 2, + 1 + ], + [ + "add", + 641, + 643, + 1, + 2, + 1 + ], + [ + "add", + 641, + 644, + 2, + 1, + 1 + ], + [ + "add", + 641, + 645, + -2, + 1, + 1 + ], + [ + "add", + 641, + 647, + -2, + 1, + 1 + ], + [ + "add", + 647, + 242, + 1, + 4, + 1 + ], + [ + "add", + 647, + 366, + -1, + 1, + 1 + ], + [ + "add", + 647, + 640, + -1, + 4, + 1 + ], + [ + "add", + 640, + 28, + -4, + 1, + 1 + ], + [ + "add", + 640, + 242, + -1, + 2, + 1 + ], + [ + "add", + 640, + 247, + -1, + 2, + 1 + ], + [ + "add", + 640, + 364, + -2, + 1, + 1 + ], + [ + "add", + 640, + 366, + 2, + 1, + 1 + ], + [ + "add", + 640, + 642, + -1, + 2, + 1 + ], + [ + "add", + 640, + 643, + 1, + 2, + 1 + ], + [ + "add", + 640, + 644, + 2, + 1, + 1 + ], + [ + "add", + 640, + 645, + 2, + 1, + 1 + ], + [ + "add", + 645, + 28, + -1, + 1, + 1 + ], + [ + "add", + 645, + 258, + 1, + 4, + 1 + ], + [ + "add", + 645, + 642, + -1, + 4, + 1 + ], + [ + "add", + 642, + 28, + 4, + 1, + 1 + ], + [ + "add", + 642, + 263, + -1, + 2, + 1 + ], + [ + "add", + 642, + 344, + -2, + 1, + 1 + ], + [ + "add", + 642, + 643, + -1, + 2, + 1 + ], + [ + "add", + 642, + 644, + -2, + 1, + 1 + ], + [ + "add", + 644, + 263, + 1, + 4, + 1 + ], + [ + "add", + 644, + 344, + -1, + 1, + 1 + ], + [ + "add", + 644, + 643, + -1, + 4, + 1 + ], + [ + "add", + 643, + 28, + -2, + 1, + 1 + ], + [ + "add", + 643, + 258, + -1, + 2, + 1 + ], + [ + "add", + 643, + 263, + -1, + 2, + 1 + ], + [ + "add", + 643, + 344, + 2, + 1, + 1 + ], + [ + "add", + 685, + 19, + -1, + 1, + 1 + ], + [ + "add", + 685, + 79, + -1, + 2, + 1 + ], + [ + "add", + 685, + 682, + 1, + 2, + 1 + ], + [ + "add", + 682, + 19, + -2, + 1, + 1 + ], + [ + "add", + 682, + 252, + -1, + 2, + 1 + ], + [ + "add", + 682, + 254, + 1, + 2, + 1 + ], + [ + "add", + 682, + 264, + -1, + 2, + 1 + ], + [ + "add", + 682, + 284, + -1, + 1, + 1 + ], + [ + "add", + 682, + 286, + 1, + 1, + 1 + ], + [ + "add", + 682, + 296, + 1, + 1, + 1 + ], + [ + "add", + 682, + 680, + -1, + 2, + 1 + ], + [ + "add", + 682, + 681, + 1, + 2, + 1 + ], + [ + "add", + 682, + 683, + -1, + 2, + 1 + ], + [ + "add", + 682, + 684, + 1, + 1, + 1 + ], + [ + "add", + 682, + 686, + 1, + 1, + 1 + ], + [ + "add", + 682, + 687, + -1, + 1, + 1 + ], + [ + "add", + 686, + 252, + -1, + 2, + 1 + ], + [ + "add", + 686, + 284, + -1, + 1, + 1 + ], + [ + "add", + 686, + 681, + 1, + 2, + 1 + ], + [ + "add", + 681, + 19, + 1, + 1, + 1 + ], + [ + "add", + 681, + 79, + -1, + 2, + 1 + ], + [ + "add", + 681, + 252, + -1, + 2, + 1 + ], + [ + "add", + 681, + 254, + -1, + 1, + 1 + ], + [ + "add", + 681, + 284, + -1, + 1, + 1 + ], + [ + "add", + 681, + 680, + 1, + 2, + 1 + ], + [ + "add", + 681, + 683, + 1, + 2, + 1 + ], + [ + "add", + 681, + 684, + -1, + 1, + 1 + ], + [ + "add", + 681, + 687, + 1, + 1, + 1 + ], + [ + "add", + 687, + 254, + -1, + 2, + 1 + ], + [ + "add", + 687, + 286, + -1, + 1, + 1 + ], + [ + "add", + 687, + 680, + 1, + 2, + 1 + ], + [ + "add", + 680, + 19, + 1, + 1, + 1 + ], + [ + "add", + 680, + 79, + -1, + 2, + 1 + ], + [ + "add", + 680, + 252, + -1, + 2, + 1 + ], + [ + "add", + 680, + 254, + -1, + 2, + 1 + ], + [ + "add", + 680, + 284, + 1, + 1, + 1 + ], + [ + "add", + 680, + 286, + -1, + 1, + 1 + ], + [ + "add", + 680, + 683, + 1, + 2, + 1 + ], + [ + "add", + 680, + 684, + -1, + 1, + 1 + ], + [ + "add", + 684, + 264, + -1, + 2, + 1 + ], + [ + "add", + 684, + 296, + -1, + 1, + 1 + ], + [ + "add", + 684, + 683, + 1, + 2, + 1 + ], + [ + "add", + 683, + 19, + 1, + 1, + 1 + ], + [ + "add", + 683, + 79, + -1, + 2, + 1 + ], + [ + "add", + 683, + 264, + -1, + 2, + 1 + ], + [ + "add", + 683, + 296, + -1, + 1, + 1 + ], + [ + "add", + 19, + 18, + 1, + 4, + 1 + ], + [ + "add", + 19, + 79, + 1, + 2, + 1 + ], + [ + "add", + 19, + 288, + -1, + 4, + 1 + ], + [ + "add", + 79, + 9, + 1, + 4, + 1 + ], + [ + "add", + 79, + 18, + 1, + 4, + 1 + ], + [ + "add", + 79, + 61, + 1, + 4, + 1 + ], + [ + "add", + 79, + 104, + -1, + 4, + 1 + ], + [ + "add", + 79, + 110, + -1, + 4, + 1 + ], + [ + "add", + 79, + 272, + -1, + 4, + 1 + ], + [ + "add", + 79, + 288, + -1, + 4, + 1 + ], + [ + "add", + 79, + 320, + -1, + 4, + 1 + ], + [ + "add", + 79, + 352, + -1, + 4, + 1 + ], + [ + "add", + 79, + 368, + -1, + 4, + 1 + ], + [ + "add", + 79, + 372, + 1, + 2, + 1 + ], + [ + "add", + 286, + 17, + 1, + 4, + 1 + ], + [ + "add", + 286, + 254, + 1, + 2, + 1 + ], + [ + "add", + 286, + 272, + 1, + 4, + 1 + ], + [ + "add", + 286, + 418, + 1, + 2, + 1 + ], + [ + "add", + 254, + 11, + -1, + 4, + 1 + ], + [ + "add", + 254, + 17, + 1, + 4, + 1 + ], + [ + "add", + 254, + 35, + 1, + 4, + 1 + ], + [ + "add", + 254, + 37, + 1, + 4, + 1 + ], + [ + "add", + 254, + 63, + 1, + 4, + 1 + ], + [ + "add", + 254, + 86, + 1, + 4, + 1 + ], + [ + "add", + 254, + 96, + 1, + 4, + 1 + ], + [ + "add", + 254, + 106, + 1, + 4, + 1 + ], + [ + "add", + 254, + 368, + -1, + 4, + 1 + ], + [ + "add", + 254, + 384, + -1, + 4, + 1 + ], + [ + "add", + 254, + 418, + 1, + 2, + 1 + ], + [ + "add", + 418, + 43, + -1, + 2, + 1 + ], + [ + "add", + 418, + 416, + 1, + 2, + 1 + ], + [ + "add", + 678, + 248, + -1, + 2, + 1 + ], + [ + "add", + 678, + 300, + -1, + 1, + 1 + ], + [ + "add", + 678, + 673, + 1, + 2, + 1 + ], + [ + "add", + 673, + 10, + -1, + 1, + 1 + ], + [ + "add", + 673, + 248, + -1, + 2, + 1 + ], + [ + "add", + 673, + 270, + -1, + 1, + 1 + ], + [ + "add", + 673, + 300, + -1, + 1, + 1 + ], + [ + "add", + 673, + 672, + 1, + 2, + 1 + ], + [ + "add", + 673, + 674, + 1, + 2, + 1 + ], + [ + "add", + 673, + 675, + 1, + 2, + 1 + ], + [ + "add", + 673, + 676, + -1, + 1, + 1 + ], + [ + "add", + 673, + 677, + 1, + 1, + 1 + ], + [ + "add", + 673, + 679, + 1, + 1, + 1 + ], + [ + "add", + 679, + 10, + -1, + 2, + 1 + ], + [ + "add", + 679, + 302, + -1, + 1, + 1 + ], + [ + "add", + 679, + 672, + 1, + 2, + 1 + ], + [ + "add", + 672, + 10, + -1, + 2, + 1 + ], + [ + "add", + 672, + 38, + 2, + 1, + 1 + ], + [ + "add", + 672, + 248, + -1, + 2, + 1 + ], + [ + "add", + 672, + 300, + 1, + 1, + 1 + ], + [ + "add", + 672, + 302, + -1, + 1, + 1 + ], + [ + "add", + 672, + 674, + -1, + 2, + 1 + ], + [ + "add", + 672, + 675, + 1, + 2, + 1 + ], + [ + "add", + 672, + 676, + -1, + 1, + 1 + ], + [ + "add", + 672, + 677, + -1, + 1, + 1 + ], + [ + "add", + 677, + 38, + -1, + 1, + 1 + ], + [ + "add", + 677, + 270, + -1, + 2, + 1 + ], + [ + "add", + 677, + 674, + 1, + 2, + 1 + ], + [ + "add", + 674, + 38, + -2, + 1, + 1 + ], + [ + "add", + 674, + 268, + -1, + 2, + 1 + ], + [ + "add", + 674, + 280, + 1, + 1, + 1 + ], + [ + "add", + 674, + 675, + -1, + 2, + 1 + ], + [ + "add", + 674, + 676, + 1, + 1, + 1 + ], + [ + "add", + 676, + 268, + -1, + 2, + 1 + ], + [ + "add", + 676, + 280, + -1, + 1, + 1 + ], + [ + "add", + 676, + 675, + 1, + 2, + 1 + ], + [ + "add", + 675, + 38, + 1, + 1, + 1 + ], + [ + "add", + 675, + 268, + -1, + 2, + 1 + ], + [ + "add", + 675, + 270, + -1, + 2, + 1 + ], + [ + "add", + 675, + 280, + -1, + 1, + 1 + ], + [ + "add", + 302, + 10, + 1, + 2, + 1 + ], + [ + "add", + 302, + 18, + 1, + 4, + 1 + ], + [ + "add", + 302, + 288, + 1, + 4, + 1 + ], + [ + "add", + 10, + 8, + 1, + 4, + 1 + ], + [ + "add", + 10, + 11, + 1, + 4, + 1 + ], + [ + "add", + 10, + 18, + 1, + 4, + 1 + ], + [ + "add", + 10, + 35, + -1, + 4, + 1 + ], + [ + "add", + 10, + 37, + -1, + 4, + 1 + ], + [ + "add", + 10, + 63, + 1, + 4, + 1 + ], + [ + "add", + 10, + 86, + -1, + 4, + 1 + ], + [ + "add", + 10, + 106, + -1, + 4, + 1 + ], + [ + "add", + 10, + 272, + 1, + 4, + 1 + ], + [ + "add", + 10, + 288, + 1, + 4, + 1 + ], + [ + "add", + 86, + 336, + 1, + 1, + 1 + ], + [ + "add", + 441, + 37, + -1, + 1, + 1 + ], + [ + "add", + 441, + 110, + 1, + 2, + 1 + ], + [ + "add", + 441, + 432, + -1, + 2, + 1 + ], + [ + "add", + 110, + 37, + -1, + 1, + 1 + ], + [ + "add", + 20, + 432, + 1, + 1, + 1 + ], + [ + "add", + 37, + 432, + 1, + 1, + 1 + ], + [ + "add", + 320, + 23, + 1, + 1, + 1 + ], + [ + "add", + 108, + 23, + 1, + 1, + 1 + ], + [ + "scale", + 322, + 1, + 2, + 1 + ], + [ + "add", + 244, + 58, + -1, + 2, + 1 + ], + [ + "add", + 244, + 248, + 1, + 1, + 1 + ], + [ + "add", + 244, + 300, + -2, + 1, + 1 + ], + [ + "add", + 244, + 336, + -1, + 2, + 1 + ], + [ + "add", + 244, + 375, + 1, + 1, + 1 + ], + [ + "add", + 248, + 300, + -2, + 1, + 1 + ], + [ + "add", + 248, + 375, + 1, + 1, + 1 + ], + [ + "scale", + 300, + 2, + 1, + 1 + ], + [ + "add", + 300, + 288, + -1, + 2, + 1 + ], + [ + "add", + 300, + 295, + 1, + 4, + 1 + ], + [ + "add", + 300, + 343, + -1, + 2, + 1 + ], + [ + "add", + 300, + 375, + -1, + 2, + 1 + ], + [ + "add", + 300, + 422, + 1, + 2, + 1 + ], + [ + "add", + 422, + 43, + -1, + 2, + 1 + ], + [ + "add", + 422, + 416, + 1, + 2, + 1 + ], + [ + "add", + 342, + 17, + 1, + 2, + 1 + ], + [ + "add", + 342, + 272, + -1, + 2, + 1 + ], + [ + "add", + 342, + 278, + -1, + 2, + 1 + ], + [ + "add", + 342, + 283, + 1, + 2, + 1 + ], + [ + "add", + 342, + 379, + -1, + 1, + 1 + ], + [ + "add", + 278, + 17, + -1, + 2, + 1 + ], + [ + "add", + 278, + 58, + -1, + 2, + 1 + ], + [ + "add", + 278, + 96, + -1, + 2, + 1 + ], + [ + "add", + 278, + 272, + 1, + 2, + 1 + ], + [ + "add", + 278, + 283, + -1, + 2, + 1 + ], + [ + "add", + 278, + 315, + -1, + 2, + 1 + ], + [ + "add", + 278, + 336, + 1, + 2, + 1 + ], + [ + "add", + 278, + 347, + -1, + 1, + 1 + ], + [ + "add", + 278, + 379, + 1, + 1, + 1 + ], + [ + "add", + 278, + 384, + 1, + 2, + 1 + ], + [ + "add", + 343, + 18, + 1, + 2, + 1 + ], + [ + "add", + 343, + 288, + 1, + 2, + 1 + ], + [ + "add", + 343, + 295, + -1, + 2, + 1 + ], + [ + "add", + 290, + 18, + -1, + 1, + 1 + ], + [ + "add", + 290, + 288, + 1, + 1, + 1 + ], + [ + "add", + 290, + 338, + -2, + 1, + 1 + ], + [ + "add", + 338, + 8, + -1, + 4, + 1 + ], + [ + "add", + 338, + 18, + 1, + 4, + 1 + ], + [ + "add", + 338, + 93, + -1, + 4, + 1 + ], + [ + "add", + 338, + 288, + -1, + 4, + 1 + ], + [ + "add", + 338, + 336, + 1, + 4, + 1 + ], + [ + "add", + 338, + 368, + 1, + 4, + 1 + ], + [ + "add", + 384, + 65, + 1, + 1, + 1 + ], + [ + "add", + 96, + 65, + 1, + 1, + 1 + ], + [ + "add", + 468, + 252, + -1, + 1, + 1 + ], + [ + "add", + 468, + 279, + 1, + 2, + 1 + ], + [ + "add", + 468, + 284, + 2, + 1, + 1 + ], + [ + "add", + 468, + 316, + -2, + 1, + 1 + ], + [ + "add", + 468, + 359, + 1, + 1, + 1 + ], + [ + "add", + 238, + 8, + -1, + 4, + 1 + ], + [ + "add", + 238, + 17, + 1, + 4, + 1 + ], + [ + "add", + 238, + 18, + 1, + 4, + 1 + ], + [ + "add", + 238, + 41, + 1, + 4, + 1 + ], + [ + "add", + 238, + 43, + 1, + 4, + 1 + ], + [ + "add", + 238, + 57, + 1, + 4, + 1 + ], + [ + "add", + 238, + 58, + 1, + 4, + 1 + ], + [ + "add", + 238, + 61, + -1, + 4, + 1 + ], + [ + "add", + 238, + 63, + -1, + 4, + 1 + ], + [ + "add", + 238, + 81, + -1, + 4, + 1 + ], + [ + "add", + 238, + 93, + -1, + 4, + 1 + ], + [ + "add", + 274, + 59, + -1, + 1, + 1 + ], + [ + "add", + 274, + 352, + 1, + 1, + 1 + ], + [ + "add", + 274, + 354, + 2, + 1, + 1 + ], + [ + "add", + 354, + 59, + -1, + 4, + 1 + ], + [ + "add", + 354, + 103, + 1, + 4, + 1 + ], + [ + "add", + 354, + 272, + -1, + 4, + 1 + ], + [ + "add", + 354, + 306, + 1, + 2, + 1 + ], + [ + "add", + 354, + 352, + 1, + 4, + 1 + ], + [ + "add", + 260, + 29, + -1, + 2, + 1 + ], + [ + "add", + 260, + 59, + -1, + 2, + 1 + ], + [ + "add", + 260, + 264, + 1, + 1, + 1 + ], + [ + "add", + 260, + 296, + -2, + 1, + 1 + ], + [ + "add", + 260, + 308, + -1, + 1, + 1 + ], + [ + "add", + 260, + 374, + 1, + 1, + 1 + ], + [ + "add", + 29, + 352, + 1, + 1, + 1 + ], + [ + "add", + 264, + 296, + -2, + 1, + 1 + ], + [ + "add", + 264, + 374, + 1, + 1, + 1 + ], + [ + "scale", + 296, + 2, + 1, + 1 + ], + [ + "add", + 296, + 292, + -1, + 4, + 1 + ], + [ + "add", + 296, + 308, + 1, + 2, + 1 + ], + [ + "add", + 296, + 356, + 1, + 2, + 1 + ], + [ + "add", + 296, + 374, + -1, + 2, + 1 + ], + [ + "add", + 296, + 406, + 1, + 2, + 1 + ], + [ + "add", + 478, + 294, + 1, + 2, + 1 + ], + [ + "add", + 478, + 312, + -2, + 1, + 1 + ], + [ + "add", + 478, + 358, + 1, + 1, + 1 + ], + [ + "add", + 478, + 374, + -1, + 1, + 1 + ], + [ + "add", + 356, + 292, + -1, + 2, + 1 + ], + [ + "add", + 356, + 308, + 1, + 1, + 1 + ], + [ + "add", + 406, + 41, + -1, + 2, + 1 + ], + [ + "add", + 406, + 400, + 1, + 2, + 1 + ], + [ + "add", + 292, + 41, + -1, + 2, + 1 + ], + [ + "add", + 292, + 262, + 1, + 2, + 1 + ], + [ + "add", + 292, + 308, + -1, + 1, + 1 + ], + [ + "add", + 292, + 360, + -2, + 1, + 1 + ], + [ + "add", + 292, + 372, + -1, + 1, + 1 + ], + [ + "add", + 292, + 400, + 1, + 2, + 1 + ], + [ + "add", + 372, + 3, + -1, + 1, + 1 + ], + [ + "add", + 372, + 8, + -1, + 4, + 1 + ], + [ + "add", + 372, + 67, + -1, + 2, + 1 + ], + [ + "add", + 372, + 95, + 1, + 4, + 1 + ], + [ + "add", + 372, + 100, + -1, + 4, + 1 + ], + [ + "scale", + 360, + 2, + 1, + 1 + ], + [ + "add", + 360, + 41, + 1, + 2, + 1 + ], + [ + "add", + 360, + 262, + -1, + 2, + 1 + ], + [ + "add", + 360, + 400, + -1, + 2, + 1 + ], + [ + "add", + 262, + 41, + -1, + 2, + 1 + ], + [ + "add", + 262, + 61, + -1, + 2, + 1 + ], + [ + "add", + 262, + 256, + 1, + 2, + 1 + ], + [ + "add", + 262, + 288, + -1, + 2, + 1 + ], + [ + "add", + 262, + 304, + -1, + 2, + 1 + ], + [ + "add", + 262, + 310, + -1, + 1, + 1 + ], + [ + "add", + 262, + 336, + -1, + 2, + 1 + ], + [ + "add", + 262, + 400, + 1, + 2, + 1 + ], + [ + "add", + 262, + 416, + -1, + 2, + 1 + ], + [ + "add", + 310, + 18, + 1, + 2, + 1 + ], + [ + "add", + 310, + 288, + -1, + 2, + 1 + ], + [ + "add", + 310, + 294, + -1, + 2, + 1 + ], + [ + "add", + 310, + 358, + 1, + 1, + 1 + ], + [ + "add", + 3, + 67, + 1, + 2, + 1 + ], + [ + "add", + 3, + 100, + 1, + 4, + 1 + ], + [ + "add", + 3, + 283, + 1, + 4, + 1 + ], + [ + "add", + 3, + 379, + 1, + 2, + 1 + ], + [ + "add", + 67, + 100, + 1, + 2, + 1 + ], + [ + "add", + 56, + 100, + 1, + 2, + 1 + ], + [ + "add", + 56, + 283, + 1, + 4, + 1 + ], + [ + "add", + 56, + 379, + -1, + 2, + 1 + ], + [ + "add", + 41, + 106, + -1, + 1, + 1 + ], + [ + "add", + 400, + 106, + -3, + 1, + 1 + ], + [ + "add", + 38, + 103, + 1, + 4, + 1 + ], + [ + "add", + 38, + 270, + 1, + 2, + 1 + ], + [ + "add", + 38, + 272, + -1, + 4, + 1 + ], + [ + "add", + 38, + 283, + -1, + 4, + 1 + ], + [ + "add", + 38, + 379, + 1, + 2, + 1 + ], + [ + "add", + 270, + 9, + -1, + 4, + 1 + ], + [ + "add", + 270, + 61, + 1, + 4, + 1 + ], + [ + "add", + 270, + 103, + 1, + 4, + 1 + ], + [ + "add", + 270, + 104, + 1, + 4, + 1 + ], + [ + "add", + 270, + 283, + -1, + 4, + 1 + ], + [ + "add", + 270, + 352, + 1, + 4, + 1 + ], + [ + "add", + 270, + 368, + 1, + 4, + 1 + ], + [ + "add", + 270, + 379, + 1, + 2, + 1 + ], + [ + "add", + 28, + 93, + 1, + 4, + 1 + ], + [ + "add", + 28, + 258, + -1, + 4, + 1 + ], + [ + "add", + 28, + 315, + -1, + 4, + 1 + ], + [ + "add", + 28, + 336, + -1, + 4, + 1 + ], + [ + "add", + 28, + 347, + -1, + 2, + 1 + ], + [ + "add", + 258, + 61, + -1, + 2, + 1 + ], + [ + "add", + 258, + 93, + -1, + 2, + 1 + ], + [ + "add", + 258, + 256, + 1, + 2, + 1 + ], + [ + "add", + 258, + 288, + -1, + 2, + 1 + ], + [ + "add", + 258, + 304, + -1, + 2, + 1 + ], + [ + "add", + 258, + 315, + 1, + 2, + 1 + ], + [ + "add", + 258, + 347, + 1, + 1, + 1 + ], + [ + "add", + 258, + 416, + -1, + 2, + 1 + ], + [ + "add", + 308, + 45, + -1, + 2, + 1 + ], + [ + "add", + 308, + 107, + 1, + 2, + 1 + ], + [ + "add", + 308, + 294, + -1, + 2, + 1 + ], + [ + "add", + 308, + 312, + 4, + 1, + 1 + ], + [ + "add", + 308, + 358, + -1, + 1, + 1 + ], + [ + "add", + 308, + 374, + 1, + 1, + 1 + ], + [ + "scale", + 312, + 4, + 1, + 1 + ], + [ + "add", + 312, + 32, + 1, + 1, + 1 + ], + [ + "add", + 312, + 45, + -1, + 4, + 1 + ], + [ + "add", + 312, + 48, + 1, + 4, + 1 + ], + [ + "add", + 312, + 82, + -1, + 2, + 1 + ], + [ + "add", + 312, + 107, + 1, + 4, + 1 + ], + [ + "add", + 312, + 294, + -1, + 2, + 1 + ], + [ + "add", + 312, + 358, + -1, + 1, + 1 + ], + [ + "add", + 312, + 374, + 1, + 1, + 1 + ], + [ + "add", + 294, + 59, + -1, + 1, + 1 + ], + [ + "add", + 294, + 352, + 1, + 1, + 1 + ], + [ + "add", + 294, + 358, + 2, + 1, + 1 + ], + [ + "add", + 294, + 374, + -2, + 1, + 1 + ], + [ + "add", + 358, + 18, + 1, + 4, + 1 + ], + [ + "add", + 358, + 59, + -1, + 4, + 1 + ], + [ + "add", + 358, + 107, + 1, + 4, + 1 + ], + [ + "add", + 358, + 288, + -1, + 4, + 1 + ], + [ + "add", + 358, + 304, + -1, + 4, + 1 + ], + [ + "add", + 358, + 315, + 1, + 4, + 1 + ], + [ + "add", + 358, + 347, + -1, + 2, + 1 + ], + [ + "add", + 358, + 352, + 1, + 4, + 1 + ], + [ + "add", + 358, + 374, + -1, + 2, + 1 + ], + [ + "add", + 374, + 95, + -1, + 2, + 1 + ], + [ + "add", + 374, + 283, + -1, + 2, + 1 + ], + [ + "add", + 374, + 368, + 1, + 2, + 1 + ], + [ + "add", + 374, + 379, + -1, + 1, + 1 + ], + [ + "add", + 32, + 48, + 1, + 4, + 1 + ], + [ + "add", + 32, + 82, + -1, + 2, + 1 + ], + [ + "add", + 32, + 315, + 1, + 4, + 1 + ], + [ + "add", + 32, + 347, + -1, + 2, + 1 + ], + [ + "scale", + 48, + 1, + 2, + 1 + ], + [ + "add", + 48, + 82, + -1, + 1, + 1 + ], + [ + "add", + 75, + 82, + 1, + 1, + 1 + ], + [ + "add", + 75, + 315, + 1, + 4, + 1 + ], + [ + "add", + 75, + 347, + 1, + 2, + 1 + ], + [ + "scale", + 82, + 2, + 1, + 1 + ], + [ + "add", + 35, + 304, + 1, + 1, + 1 + ], + [ + "scale", + 316, + 2, + 1, + 1 + ], + [ + "add", + 316, + 104, + 1, + 4, + 1 + ], + [ + "add", + 316, + 252, + 1, + 2, + 1 + ], + [ + "add", + 316, + 279, + -1, + 4, + 1 + ], + [ + "add", + 316, + 284, + -1, + 1, + 1 + ], + [ + "add", + 316, + 304, + -1, + 2, + 1 + ], + [ + "add", + 316, + 306, + 1, + 2, + 1 + ], + [ + "add", + 316, + 315, + -1, + 4, + 1 + ], + [ + "add", + 316, + 347, + 1, + 2, + 1 + ], + [ + "add", + 316, + 359, + -1, + 2, + 1 + ], + [ + "add", + 316, + 416, + -1, + 4, + 1 + ], + [ + "add", + 316, + 423, + 1, + 2, + 1 + ], + [ + "add", + 316, + 511, + -1, + 2, + 1 + ], + [ + "add", + 18, + 288, + 1, + 1, + 1 + ], + [ + "add", + 256, + 61, + -1, + 1, + 1 + ], + [ + "add", + 256, + 304, + -1, + 1, + 1 + ], + [ + "add", + 256, + 336, + -1, + 1, + 1 + ], + [ + "add", + 256, + 416, + -1, + 1, + 1 + ], + [ + "add", + 416, + 43, + -2, + 1, + 1 + ], + [ + "add", + 416, + 104, + -1, + 1, + 1 + ], + [ + "add", + 43, + 104, + 1, + 1, + 1 + ], + [ + "add", + 366, + 59, + 1, + 4, + 1 + ], + [ + "add", + 366, + 242, + -1, + 4, + 1 + ], + [ + "add", + 366, + 352, + 1, + 4, + 1 + ], + [ + "add", + 242, + 59, + -1, + 2, + 1 + ], + [ + "add", + 242, + 63, + -1, + 2, + 1 + ], + [ + "add", + 242, + 240, + 1, + 2, + 1 + ], + [ + "add", + 242, + 306, + -1, + 1, + 1 + ], + [ + "add", + 240, + 63, + -1, + 1, + 1 + ], + [ + "add", + 240, + 352, + 1, + 1, + 1 + ], + [ + "add", + 352, + 59, + -1, + 1, + 1 + ], + [ + "add", + 348, + 246, + 1, + 4, + 1 + ], + [ + "add", + 364, + 247, + -1, + 4, + 1 + ], + [ + "add", + 364, + 279, + 1, + 4, + 1 + ], + [ + "add", + 364, + 359, + 1, + 2, + 1 + ], + [ + "add", + 9, + 61, + 1, + 1, + 1 + ], + [ + "add", + 9, + 272, + -1, + 1, + 1 + ], + [ + "add", + 9, + 368, + -1, + 1, + 1 + ], + [ + "scale", + 268, + 1, + 2, + 1 + ], + [ + "add", + 268, + 263, + 1, + 4, + 1 + ], + [ + "add", + 268, + 280, + -1, + 1, + 1 + ], + [ + "add", + 268, + 344, + 1, + 1, + 1 + ], + [ + "scale", + 263, + 1, + 2, + 1 + ], + [ + "add", + 263, + 344, + 2, + 1, + 1 + ], + [ + "scale", + 344, + 2, + 1, + 1 + ], + [ + "add", + 344, + 276, + -1, + 4, + 1 + ], + [ + "add", + 344, + 315, + -1, + 4, + 1 + ], + [ + "add", + 344, + 340, + -1, + 2, + 1 + ], + [ + "add", + 344, + 347, + -1, + 2, + 1 + ], + [ + "add", + 359, + 279, + 1, + 2, + 1 + ], + [ + "add", + 246, + 58, + -1, + 2, + 1 + ], + [ + "add", + 246, + 93, + -1, + 2, + 1 + ], + [ + "add", + 246, + 295, + 1, + 1, + 1 + ], + [ + "add", + 246, + 375, + -1, + 1, + 1 + ], + [ + "add", + 295, + 58, + -1, + 4, + 1 + ], + [ + "add", + 295, + 93, + -1, + 4, + 1 + ], + [ + "add", + 295, + 315, + -1, + 4, + 1 + ], + [ + "add", + 295, + 336, + -1, + 2, + 1 + ], + [ + "add", + 295, + 347, + -1, + 2, + 1 + ], + [ + "add", + 295, + 375, + -1, + 1, + 1 + ], + [ + "add", + 375, + 8, + -1, + 4, + 1 + ], + [ + "add", + 375, + 95, + -1, + 4, + 1 + ], + [ + "add", + 375, + 283, + -1, + 4, + 1 + ], + [ + "add", + 375, + 368, + -1, + 2, + 1 + ], + [ + "add", + 375, + 379, + -1, + 2, + 1 + ], + [ + "scale", + 280, + 2, + 1, + 1 + ], + [ + "add", + 280, + 276, + -1, + 4, + 1 + ], + [ + "add", + 280, + 283, + -1, + 4, + 1 + ], + [ + "add", + 280, + 340, + 1, + 2, + 1 + ], + [ + "add", + 280, + 379, + 1, + 2, + 1 + ], + [ + "add", + 81, + 17, + -1, + 1, + 1 + ], + [ + "add", + 81, + 58, + -1, + 1, + 1 + ], + [ + "add", + 81, + 95, + -1, + 1, + 1 + ], + [ + "add", + 81, + 107, + -1, + 1, + 1 + ], + [ + "add", + 81, + 224, + 1, + 1, + 1 + ], + [ + "add", + 224, + 8, + 1, + 2, + 1 + ], + [ + "add", + 224, + 45, + 1, + 2, + 1 + ], + [ + "add", + 224, + 57, + -1, + 2, + 1 + ], + [ + "add", + 224, + 63, + 1, + 1, + 1 + ], + [ + "add", + 224, + 92, + -1, + 2, + 1 + ], + [ + "add", + 224, + 93, + 1, + 2, + 1 + ], + [ + "add", + 224, + 95, + -1, + 1, + 1 + ], + [ + "add", + 224, + 103, + 1, + 2, + 1 + ], + [ + "add", + 224, + 107, + -1, + 1, + 1 + ], + [ + "add", + 57, + 8, + -1, + 1, + 1 + ], + [ + "add", + 57, + 45, + 1, + 1, + 1 + ], + [ + "add", + 57, + 92, + -1, + 1, + 1 + ], + [ + "add", + 57, + 93, + -1, + 1, + 1 + ], + [ + "add", + 57, + 103, + 1, + 1, + 1 + ], + [ + "add", + 92, + 45, + -1, + 1, + 1 + ], + [ + "add", + 92, + 63, + -1, + 1, + 1 + ], + [ + "add", + 92, + 103, + -1, + 1, + 1 + ], + [ + "add", + 8, + 95, + 1, + 1, + 1 + ], + [ + "add", + 8, + 283, + 1, + 1, + 1 + ], + [ + "add", + 8, + 368, + 2, + 1, + 1 + ], + [ + "add", + 8, + 379, + 2, + 1, + 1 + ], + [ + "add", + 95, + 283, + 1, + 1, + 1 + ], + [ + "add", + 95, + 368, + 1, + 1, + 1 + ], + [ + "add", + 95, + 379, + 2, + 1, + 1 + ], + [ + "add", + 379, + 283, + 1, + 2, + 1 + ], + [ + "add", + 17, + 103, + -1, + 1, + 1 + ], + [ + "add", + 272, + 103, + -1, + 1, + 1 + ], + [ + "add", + 340, + 276, + -1, + 2, + 1 + ], + [ + "add", + 276, + 58, + 1, + 4, + 1 + ], + [ + "add", + 276, + 93, + -1, + 4, + 1 + ], + [ + "add", + 276, + 315, + 1, + 4, + 1 + ], + [ + "add", + 276, + 347, + 1, + 2, + 1 + ], + [ + "add", + 63, + 11, + 1, + 1, + 1 + ], + [ + "add", + 63, + 304, + 1, + 1, + 1 + ], + [ + "add", + 63, + 336, + 1, + 1, + 1 + ], + [ + "add", + 11, + 304, + 1, + 1, + 1 + ], + [ + "add", + 11, + 336, + 1, + 1, + 1 + ], + [ + "add", + 336, + 58, + -1, + 2, + 1 + ], + [ + "add", + 336, + 93, + -1, + 2, + 1 + ], + [ + "add", + 336, + 315, + 1, + 2, + 1 + ], + [ + "add", + 336, + 347, + 1, + 1, + 1 + ], + [ + "add", + 247, + 252, + -1, + 1, + 1 + ], + [ + "add", + 247, + 284, + 2, + 1, + 1 + ], + [ + "add", + 247, + 306, + -1, + 1, + 1 + ], + [ + "add", + 247, + 511, + 1, + 1, + 1 + ], + [ + "add", + 252, + 284, + -2, + 1, + 1 + ], + [ + "scale", + 284, + 2, + 1, + 1 + ], + [ + "add", + 284, + 279, + 1, + 2, + 1 + ], + [ + "add", + 284, + 306, + -1, + 2, + 1 + ], + [ + "add", + 284, + 511, + 1, + 2, + 1 + ], + [ + "add", + 279, + 306, + -1, + 1, + 1 + ], + [ + "add", + 279, + 511, + 1, + 1, + 1 + ], + [ + "add", + 93, + 58, + 1, + 1, + 1 + ], + [ + "add", + 306, + 45, + -1, + 2, + 1 + ], + [ + "add", + 306, + 304, + 1, + 2, + 1 + ], + [ + "add", + 58, + 315, + 1, + 2, + 1 + ], + [ + "add", + 58, + 347, + 1, + 1, + 1 + ], + [ + "add", + 347, + 315, + 1, + 2, + 1 + ], + [ + "add", + 107, + 45, + -1, + 1, + 1 + ], + [ + "add", + 304, + 45, + -1, + 1, + 1 + ], + [ + "add", + 45, + 511, + 1, + 1, + 1 + ], + [ + "add", + 7, + 237, + -1, + 1, + 1 + ], + [ + "add", + 237, + 7, + 1, + 1, + 1 + ], + [ + "add", + 7, + 237, + -1, + 1, + 1 + ], + [ + "scale", + 7, + -1, + 1, + 1 + ], + [ + "add", + 374, + 377, + -1, + 1, + 1 + ], + [ + "add", + 377, + 374, + 1, + 1, + 1 + ], + [ + "add", + 374, + 377, + -1, + 1, + 1 + ], + [ + "add", + 375, + 374, + -1, + 1, + 1 + ], + [ + "add", + 374, + 375, + 1, + 1, + 1 + ], + [ + "add", + 375, + 374, + -1, + 1, + 1 + ], + [ + "add", + 372, + 375, + -1, + 1, + 1 + ], + [ + "add", + 375, + 372, + 1, + 1, + 1 + ], + [ + "add", + 372, + 375, + -1, + 1, + 1 + ], + [ + "add", + 8, + 372, + -1, + 1, + 1 + ], + [ + "add", + 372, + 8, + 1, + 1, + 1 + ], + [ + "add", + 8, + 372, + -1, + 1, + 1 + ], + [ + "add", + 9, + 271, + 1, + 1, + 1 + ], + [ + "add", + 271, + 9, + -1, + 1, + 1 + ], + [ + "add", + 9, + 271, + 1, + 1, + 1 + ], + [ + "add", + 10, + 253, + -1, + 1, + 1 + ], + [ + "add", + 253, + 10, + 1, + 1, + 1 + ], + [ + "add", + 10, + 253, + -1, + 1, + 1 + ], + [ + "scale", + 10, + -1, + 1, + 1 + ], + [ + "add", + 348, + 249, + -1, + 1, + 1 + ], + [ + "add", + 249, + 348, + 1, + 1, + 1 + ], + [ + "add", + 348, + 249, + -1, + 1, + 1 + ], + [ + "add", + 295, + 348, + -1, + 1, + 1 + ], + [ + "add", + 348, + 295, + 1, + 1, + 1 + ], + [ + "add", + 295, + 348, + -1, + 1, + 1 + ], + [ + "add", + 356, + 295, + 1, + 1, + 1 + ], + [ + "add", + 295, + 356, + -1, + 1, + 1 + ], + [ + "add", + 356, + 295, + 1, + 1, + 1 + ], + [ + "add", + 59, + 356, + -1, + 1, + 1 + ], + [ + "add", + 356, + 59, + 1, + 1, + 1 + ], + [ + "add", + 59, + 356, + -1, + 1, + 1 + ], + [ + "add", + 361, + 59, + -1, + 1, + 1 + ], + [ + "add", + 59, + 361, + 1, + 1, + 1 + ], + [ + "add", + 361, + 59, + -1, + 1, + 1 + ], + [ + "add", + 294, + 361, + -1, + 1, + 1 + ], + [ + "add", + 361, + 294, + 1, + 1, + 1 + ], + [ + "add", + 294, + 361, + -1, + 1, + 1 + ], + [ + "add", + 343, + 294, + 1, + 1, + 1 + ], + [ + "add", + 294, + 343, + -1, + 1, + 1 + ], + [ + "add", + 343, + 294, + 1, + 1, + 1 + ], + [ + "add", + 276, + 343, + -1, + 1, + 1 + ], + [ + "add", + 343, + 276, + 1, + 1, + 1 + ], + [ + "add", + 276, + 343, + -1, + 1, + 1 + ], + [ + "add", + 103, + 276, + -1, + 1, + 1 + ], + [ + "add", + 276, + 103, + 1, + 1, + 1 + ], + [ + "add", + 103, + 276, + -1, + 1, + 1 + ], + [ + "add", + 281, + 103, + -1, + 1, + 1 + ], + [ + "add", + 103, + 281, + 1, + 1, + 1 + ], + [ + "add", + 281, + 103, + -1, + 1, + 1 + ], + [ + "add", + 342, + 281, + 1, + 1, + 1 + ], + [ + "add", + 281, + 342, + -1, + 1, + 1 + ], + [ + "add", + 342, + 281, + 1, + 1, + 1 + ], + [ + "add", + 246, + 342, + -1, + 1, + 1 + ], + [ + "add", + 342, + 246, + 1, + 1, + 1 + ], + [ + "add", + 246, + 342, + -1, + 1, + 1 + ], + [ + "add", + 247, + 246, + -1, + 1, + 1 + ], + [ + "add", + 246, + 247, + 1, + 1, + 1 + ], + [ + "add", + 247, + 246, + -1, + 1, + 1 + ], + [ + "add", + 244, + 247, + -1, + 1, + 1 + ], + [ + "add", + 247, + 244, + 1, + 1, + 1 + ], + [ + "add", + 244, + 247, + -1, + 1, + 1 + ], + [ + "add", + 11, + 244, + 1, + 1, + 1 + ], + [ + "add", + 244, + 11, + -1, + 1, + 1 + ], + [ + "add", + 11, + 244, + 1, + 1, + 1 + ], + [ + "scale", + 11, + -1, + 1, + 1 + ], + [ + "add", + 16, + 427, + 1, + 1, + 1 + ], + [ + "add", + 427, + 16, + -1, + 1, + 1 + ], + [ + "add", + 16, + 427, + 1, + 1, + 1 + ], + [ + "add", + 17, + 283, + 1, + 1, + 1 + ], + [ + "add", + 283, + 17, + -1, + 1, + 1 + ], + [ + "add", + 17, + 283, + 1, + 1, + 1 + ], + [ + "add", + 310, + 297, + 1, + 1, + 1 + ], + [ + "add", + 297, + 310, + -1, + 1, + 1 + ], + [ + "add", + 310, + 297, + 1, + 1, + 1 + ], + [ + "add", + 45, + 310, + 1, + 1, + 1 + ], + [ + "add", + 310, + 45, + -1, + 1, + 1 + ], + [ + "add", + 45, + 310, + 1, + 1, + 1 + ], + [ + "add", + 319, + 45, + 1, + 1, + 1 + ], + [ + "add", + 45, + 319, + -1, + 1, + 1 + ], + [ + "add", + 319, + 45, + 1, + 1, + 1 + ], + [ + "add", + 35, + 319, + 1, + 1, + 1 + ], + [ + "add", + 319, + 35, + -1, + 1, + 1 + ], + [ + "add", + 35, + 319, + 1, + 1, + 1 + ], + [ + "add", + 313, + 35, + -1, + 1, + 1 + ], + [ + "add", + 35, + 313, + 1, + 1, + 1 + ], + [ + "add", + 313, + 35, + -1, + 1, + 1 + ], + [ + "add", + 358, + 313, + 1, + 1, + 1 + ], + [ + "add", + 313, + 358, + -1, + 1, + 1 + ], + [ + "add", + 358, + 313, + 1, + 1, + 1 + ], + [ + "add", + 359, + 358, + -1, + 1, + 1 + ], + [ + "add", + 358, + 359, + 1, + 1, + 1 + ], + [ + "add", + 359, + 358, + -1, + 1, + 1 + ], + [ + "add", + 360, + 359, + -1, + 1, + 1 + ], + [ + "add", + 359, + 360, + 1, + 1, + 1 + ], + [ + "add", + 360, + 359, + -1, + 1, + 1 + ], + [ + "add", + 274, + 360, + -1, + 1, + 1 + ], + [ + "add", + 360, + 274, + 1, + 1, + 1 + ], + [ + "add", + 274, + 360, + -1, + 1, + 1 + ], + [ + "add", + 280, + 274, + 1, + 1, + 1 + ], + [ + "add", + 274, + 280, + -1, + 1, + 1 + ], + [ + "add", + 280, + 274, + 1, + 1, + 1 + ], + [ + "add", + 354, + 280, + 1, + 1, + 1 + ], + [ + "add", + 280, + 354, + -1, + 1, + 1 + ], + [ + "add", + 354, + 280, + 1, + 1, + 1 + ], + [ + "add", + 292, + 354, + -1, + 1, + 1 + ], + [ + "add", + 354, + 292, + 1, + 1, + 1 + ], + [ + "add", + 292, + 354, + -1, + 1, + 1 + ], + [ + "add", + 18, + 292, + -1, + 1, + 1 + ], + [ + "add", + 292, + 18, + 1, + 1, + 1 + ], + [ + "add", + 18, + 292, + -1, + 1, + 1 + ], + [ + "add", + 19, + 301, + -1, + 1, + 1 + ], + [ + "add", + 301, + 19, + 1, + 1, + 1 + ], + [ + "add", + 19, + 301, + -1, + 1, + 1 + ], + [ + "scale", + 19, + -1, + 1, + 1 + ], + [ + "scale", + 20, + -1, + 1, + 1 + ], + [ + "add", + 22, + 331, + 1, + 1, + 1 + ], + [ + "add", + 331, + 22, + -1, + 1, + 1 + ], + [ + "add", + 22, + 331, + 1, + 1, + 1 + ], + [ + "add", + 326, + 329, + -1, + 1, + 1 + ], + [ + "add", + 329, + 326, + 1, + 1, + 1 + ], + [ + "add", + 326, + 329, + -1, + 1, + 1 + ], + [ + "add", + 523, + 326, + 1, + 1, + 1 + ], + [ + "add", + 326, + 523, + -1, + 1, + 1 + ], + [ + "add", + 523, + 326, + 1, + 1, + 1 + ], + [ + "add", + 328, + 523, + -1, + 1, + 1 + ], + [ + "add", + 523, + 328, + 1, + 1, + 1 + ], + [ + "add", + 328, + 523, + -1, + 1, + 1 + ], + [ + "add", + 322, + 328, + -1, + 1, + 1 + ], + [ + "add", + 328, + 322, + 1, + 1, + 1 + ], + [ + "add", + 322, + 328, + -1, + 1, + 1 + ], + [ + "add", + 324, + 322, + -1, + 1, + 1 + ], + [ + "add", + 322, + 324, + 1, + 1, + 1 + ], + [ + "add", + 324, + 322, + -1, + 1, + 1 + ], + [ + "add", + 23, + 324, + 1, + 1, + 1 + ], + [ + "add", + 324, + 23, + -1, + 1, + 1 + ], + [ + "add", + 23, + 324, + 1, + 1, + 1 + ], + [ + "add", + 24, + 317, + -1, + 1, + 1 + ], + [ + "add", + 317, + 24, + 1, + 1, + 1 + ], + [ + "add", + 24, + 317, + -1, + 1, + 1 + ], + [ + "scale", + 24, + -1, + 1, + 1 + ], + [ + "add", + 26, + 383, + 1, + 1, + 1 + ], + [ + "add", + 383, + 26, + -1, + 1, + 1 + ], + [ + "add", + 26, + 383, + 1, + 1, + 1 + ], + [ + "add", + 28, + 349, + -1, + 1, + 1 + ], + [ + "add", + 349, + 28, + 1, + 1, + 1 + ], + [ + "add", + 28, + 349, + -1, + 1, + 1 + ], + [ + "scale", + 28, + -1, + 1, + 1 + ], + [ + "add", + 29, + 367, + 1, + 1, + 1 + ], + [ + "add", + 367, + 29, + -1, + 1, + 1 + ], + [ + "add", + 29, + 367, + 1, + 1, + 1 + ], + [ + "add", + 30, + 363, + 1, + 1, + 1 + ], + [ + "add", + 363, + 30, + -1, + 1, + 1 + ], + [ + "add", + 30, + 363, + 1, + 1, + 1 + ], + [ + "add", + 38, + 285, + -1, + 1, + 1 + ], + [ + "add", + 285, + 38, + 1, + 1, + 1 + ], + [ + "add", + 38, + 285, + -1, + 1, + 1 + ], + [ + "scale", + 38, + -1, + 1, + 1 + ], + [ + "add", + 39, + 303, + 1, + 1, + 1 + ], + [ + "add", + 303, + 39, + -1, + 1, + 1 + ], + [ + "add", + 39, + 303, + 1, + 1, + 1 + ], + [ + "add", + 40, + 299, + 1, + 1, + 1 + ], + [ + "add", + 299, + 40, + -1, + 1, + 1 + ], + [ + "add", + 40, + 299, + 1, + 1, + 1 + ], + [ + "add", + 106, + 415, + 1, + 1, + 1 + ], + [ + "add", + 415, + 106, + -1, + 1, + 1 + ], + [ + "add", + 106, + 415, + 1, + 1, + 1 + ], + [ + "add", + 409, + 106, + -1, + 1, + 1 + ], + [ + "add", + 106, + 409, + 1, + 1, + 1 + ], + [ + "add", + 409, + 106, + -1, + 1, + 1 + ], + [ + "add", + 406, + 409, + -1, + 1, + 1 + ], + [ + "add", + 409, + 406, + 1, + 1, + 1 + ], + [ + "add", + 406, + 409, + -1, + 1, + 1 + ], + [ + "add", + 407, + 406, + -1, + 1, + 1 + ], + [ + "add", + 406, + 407, + 1, + 1, + 1 + ], + [ + "add", + 407, + 406, + -1, + 1, + 1 + ], + [ + "add", + 408, + 407, + -1, + 1, + 1 + ], + [ + "add", + 407, + 408, + 1, + 1, + 1 + ], + [ + "add", + 408, + 407, + -1, + 1, + 1 + ], + [ + "add", + 402, + 408, + -1, + 1, + 1 + ], + [ + "add", + 408, + 402, + 1, + 1, + 1 + ], + [ + "add", + 402, + 408, + -1, + 1, + 1 + ], + [ + "add", + 404, + 402, + -1, + 1, + 1 + ], + [ + "add", + 402, + 404, + 1, + 1, + 1 + ], + [ + "add", + 404, + 402, + -1, + 1, + 1 + ], + [ + "add", + 41, + 404, + -1, + 1, + 1 + ], + [ + "add", + 404, + 41, + 1, + 1, + 1 + ], + [ + "add", + 41, + 404, + -1, + 1, + 1 + ], + [ + "add", + 42, + 411, + 1, + 1, + 1 + ], + [ + "add", + 411, + 42, + -1, + 1, + 1 + ], + [ + "add", + 42, + 411, + 1, + 1, + 1 + ], + [ + "add", + 43, + 431, + 1, + 1, + 1 + ], + [ + "add", + 431, + 43, + -1, + 1, + 1 + ], + [ + "add", + 43, + 431, + 1, + 1, + 1 + ], + [ + "scale", + 43, + -1, + 1, + 1 + ], + [ + "add", + 44, + 429, + -1, + 1, + 1 + ], + [ + "add", + 429, + 44, + 1, + 1, + 1 + ], + [ + "add", + 44, + 429, + -1, + 1, + 1 + ], + [ + "scale", + 44, + -1, + 1, + 1 + ], + [ + "add", + 46, + 445, + -1, + 1, + 1 + ], + [ + "add", + 445, + 46, + 1, + 1, + 1 + ], + [ + "add", + 46, + 445, + -1, + 1, + 1 + ], + [ + "scale", + 46, + -1, + 1, + 1 + ], + [ + "add", + 57, + 235, + 1, + 1, + 1 + ], + [ + "add", + 235, + 57, + -1, + 1, + 1 + ], + [ + "add", + 57, + 235, + 1, + 1, + 1 + ], + [ + "add", + 58, + 347, + 1, + 1, + 1 + ], + [ + "add", + 347, + 58, + -1, + 1, + 1 + ], + [ + "add", + 58, + 347, + 1, + 1, + 1 + ], + [ + "add", + 60, + 365, + -1, + 1, + 1 + ], + [ + "add", + 365, + 60, + 1, + 1, + 1 + ], + [ + "add", + 60, + 365, + -1, + 1, + 1 + ], + [ + "scale", + 60, + -1, + 1, + 1 + ], + [ + "add", + 262, + 265, + -1, + 1, + 1 + ], + [ + "add", + 265, + 262, + 1, + 1, + 1 + ], + [ + "add", + 262, + 265, + -1, + 1, + 1 + ], + [ + "add", + 263, + 262, + -1, + 1, + 1 + ], + [ + "add", + 262, + 263, + 1, + 1, + 1 + ], + [ + "add", + 263, + 262, + -1, + 1, + 1 + ], + [ + "add", + 260, + 263, + -1, + 1, + 1 + ], + [ + "add", + 263, + 260, + 1, + 1, + 1 + ], + [ + "add", + 260, + 263, + -1, + 1, + 1 + ], + [ + "add", + 61, + 260, + -1, + 1, + 1 + ], + [ + "add", + 260, + 61, + 1, + 1, + 1 + ], + [ + "add", + 61, + 260, + -1, + 1, + 1 + ], + [ + "add", + 62, + 251, + 1, + 1, + 1 + ], + [ + "add", + 251, + 62, + -1, + 1, + 1 + ], + [ + "add", + 62, + 251, + 1, + 1, + 1 + ], + [ + "add", + 63, + 255, + 1, + 1, + 1 + ], + [ + "add", + 255, + 63, + -1, + 1, + 1 + ], + [ + "add", + 63, + 255, + 1, + 1, + 1 + ], + [ + "scale", + 63, + -1, + 1, + 1 + ], + [ + "add", + 64, + 395, + 1, + 1, + 1 + ], + [ + "add", + 395, + 64, + -1, + 1, + 1 + ], + [ + "add", + 64, + 395, + 1, + 1, + 1 + ], + [ + "add", + 390, + 393, + -1, + 1, + 1 + ], + [ + "add", + 393, + 390, + 1, + 1, + 1 + ], + [ + "add", + 390, + 393, + -1, + 1, + 1 + ], + [ + "add", + 391, + 390, + -1, + 1, + 1 + ], + [ + "add", + 390, + 391, + 1, + 1, + 1 + ], + [ + "add", + 391, + 390, + -1, + 1, + 1 + ], + [ + "add", + 388, + 391, + -1, + 1, + 1 + ], + [ + "add", + 391, + 388, + 1, + 1, + 1 + ], + [ + "add", + 388, + 391, + -1, + 1, + 1 + ], + [ + "add", + 65, + 388, + 1, + 1, + 1 + ], + [ + "add", + 388, + 65, + -1, + 1, + 1 + ], + [ + "add", + 65, + 388, + 1, + 1, + 1 + ], + [ + "scale", + 65, + -1, + 1, + 1 + ], + [ + "add", + 66, + 381, + -1, + 1, + 1 + ], + [ + "add", + 381, + 66, + 1, + 1, + 1 + ], + [ + "add", + 66, + 381, + -1, + 1, + 1 + ], + [ + "scale", + 66, + -1, + 1, + 1 + ], + [ + "add", + 77, + 287, + 1, + 1, + 1 + ], + [ + "add", + 287, + 77, + -1, + 1, + 1 + ], + [ + "add", + 77, + 287, + 1, + 1, + 1 + ], + [ + "add", + 79, + 269, + -1, + 1, + 1 + ], + [ + "add", + 269, + 79, + 1, + 1, + 1 + ], + [ + "add", + 79, + 269, + -1, + 1, + 1 + ], + [ + "scale", + 79, + -1, + 1, + 1 + ], + [ + "add", + 81, + 239, + 1, + 1, + 1 + ], + [ + "add", + 239, + 81, + -1, + 1, + 1 + ], + [ + "add", + 81, + 239, + 1, + 1, + 1 + ], + [ + "add", + 86, + 351, + 1, + 1, + 1 + ], + [ + "add", + 351, + 86, + -1, + 1, + 1 + ], + [ + "add", + 86, + 351, + 1, + 1, + 1 + ], + [ + "add", + 230, + 233, + -1, + 1, + 1 + ], + [ + "add", + 233, + 230, + 1, + 1, + 1 + ], + [ + "add", + 230, + 233, + -1, + 1, + 1 + ], + [ + "add", + 231, + 230, + -1, + 1, + 1 + ], + [ + "add", + 230, + 231, + 1, + 1, + 1 + ], + [ + "add", + 231, + 230, + -1, + 1, + 1 + ], + [ + "add", + 228, + 231, + -1, + 1, + 1 + ], + [ + "add", + 231, + 228, + 1, + 1, + 1 + ], + [ + "add", + 228, + 231, + -1, + 1, + 1 + ], + [ + "add", + 92, + 228, + -1, + 1, + 1 + ], + [ + "add", + 228, + 92, + 1, + 1, + 1 + ], + [ + "add", + 92, + 228, + -1, + 1, + 1 + ], + [ + "add", + 278, + 345, + -1, + 1, + 1 + ], + [ + "add", + 345, + 278, + 1, + 1, + 1 + ], + [ + "add", + 278, + 345, + -1, + 1, + 1 + ], + [ + "add", + 279, + 278, + -1, + 1, + 1 + ], + [ + "add", + 278, + 279, + 1, + 1, + 1 + ], + [ + "add", + 279, + 278, + -1, + 1, + 1 + ], + [ + "add", + 340, + 279, + 1, + 1, + 1 + ], + [ + "add", + 279, + 340, + -1, + 1, + 1 + ], + [ + "add", + 340, + 279, + 1, + 1, + 1 + ], + [ + "add", + 93, + 340, + -1, + 1, + 1 + ], + [ + "add", + 340, + 93, + 1, + 1, + 1 + ], + [ + "add", + 93, + 340, + -1, + 1, + 1 + ], + [ + "scale", + 93, + -1, + 1, + 1 + ], + [ + "add", + 94, + 267, + 1, + 1, + 1 + ], + [ + "add", + 267, + 94, + -1, + 1, + 1 + ], + [ + "add", + 94, + 267, + 1, + 1, + 1 + ], + [ + "add", + 95, + 379, + 1, + 1, + 1 + ], + [ + "add", + 379, + 95, + -1, + 1, + 1 + ], + [ + "add", + 95, + 379, + 1, + 1, + 1 + ], + [ + "add", + 384, + 399, + 1, + 1, + 1 + ], + [ + "add", + 399, + 384, + -1, + 1, + 1 + ], + [ + "add", + 384, + 399, + 1, + 1, + 1 + ], + [ + "add", + 96, + 384, + -1, + 1, + 1 + ], + [ + "add", + 384, + 96, + 1, + 1, + 1 + ], + [ + "add", + 96, + 384, + -1, + 1, + 1 + ], + [ + "add", + 97, + 397, + -1, + 1, + 1 + ], + [ + "add", + 397, + 97, + 1, + 1, + 1 + ], + [ + "add", + 97, + 397, + -1, + 1, + 1 + ], + [ + "scale", + 97, + -1, + 1, + 1 + ], + [ + "add", + 422, + 425, + -1, + 1, + 1 + ], + [ + "add", + 425, + 422, + 1, + 1, + 1 + ], + [ + "add", + 422, + 425, + -1, + 1, + 1 + ], + [ + "add", + 423, + 422, + -1, + 1, + 1 + ], + [ + "add", + 422, + 423, + 1, + 1, + 1 + ], + [ + "add", + 423, + 422, + -1, + 1, + 1 + ], + [ + "add", + 424, + 423, + -1, + 1, + 1 + ], + [ + "add", + 423, + 424, + 1, + 1, + 1 + ], + [ + "add", + 424, + 423, + -1, + 1, + 1 + ], + [ + "add", + 418, + 424, + -1, + 1, + 1 + ], + [ + "add", + 424, + 418, + 1, + 1, + 1 + ], + [ + "add", + 418, + 424, + -1, + 1, + 1 + ], + [ + "add", + 420, + 418, + -1, + 1, + 1 + ], + [ + "add", + 418, + 420, + 1, + 1, + 1 + ], + [ + "add", + 420, + 418, + -1, + 1, + 1 + ], + [ + "add", + 104, + 420, + 1, + 1, + 1 + ], + [ + "add", + 420, + 104, + -1, + 1, + 1 + ], + [ + "add", + 104, + 420, + 1, + 1, + 1 + ], + [ + "scale", + 104, + -1, + 1, + 1 + ], + [ + "add", + 105, + 413, + -1, + 1, + 1 + ], + [ + "add", + 413, + 105, + 1, + 1, + 1 + ], + [ + "add", + 105, + 413, + -1, + 1, + 1 + ], + [ + "scale", + 105, + -1, + 1, + 1 + ], + [ + "add", + 107, + 315, + 1, + 1, + 1 + ], + [ + "add", + 315, + 107, + -1, + 1, + 1 + ], + [ + "add", + 107, + 315, + 1, + 1, + 1 + ], + [ + "add", + 320, + 335, + 1, + 1, + 1 + ], + [ + "add", + 335, + 320, + -1, + 1, + 1 + ], + [ + "add", + 320, + 335, + 1, + 1, + 1 + ], + [ + "add", + 108, + 320, + -1, + 1, + 1 + ], + [ + "add", + 320, + 108, + 1, + 1, + 1 + ], + [ + "add", + 108, + 320, + -1, + 1, + 1 + ], + [ + "add", + 109, + 333, + -1, + 1, + 1 + ], + [ + "add", + 333, + 109, + 1, + 1, + 1 + ], + [ + "add", + 109, + 333, + -1, + 1, + 1 + ], + [ + "scale", + 109, + -1, + 1, + 1 + ], + [ + "scale", + 110, + -1, + 1, + 1 + ], + [ + "scale", + 224, + -1, + 1, + 1 + ], + [ + "add", + 226, + 232, + -1, + 1, + 1 + ], + [ + "add", + 232, + 226, + 1, + 1, + 1 + ], + [ + "add", + 226, + 232, + -1, + 1, + 1 + ], + [ + "scale", + 240, + -1, + 1, + 1 + ], + [ + "add", + 242, + 248, + -1, + 1, + 1 + ], + [ + "add", + 248, + 242, + 1, + 1, + 1 + ], + [ + "add", + 242, + 248, + -1, + 1, + 1 + ], + [ + "scale", + 256, + -1, + 1, + 1 + ], + [ + "add", + 258, + 264, + -1, + 1, + 1 + ], + [ + "add", + 264, + 258, + 1, + 1, + 1 + ], + [ + "add", + 258, + 264, + -1, + 1, + 1 + ], + [ + "scale", + 272, + -1, + 1, + 1 + ], + [ + "scale", + 288, + -1, + 1, + 1 + ], + [ + "add", + 290, + 296, + -1, + 1, + 1 + ], + [ + "add", + 296, + 290, + 1, + 1, + 1 + ], + [ + "add", + 290, + 296, + -1, + 1, + 1 + ], + [ + "scale", + 304, + -1, + 1, + 1 + ], + [ + "add", + 306, + 312, + -1, + 1, + 1 + ], + [ + "add", + 312, + 306, + 1, + 1, + 1 + ], + [ + "add", + 306, + 312, + -1, + 1, + 1 + ], + [ + "add", + 308, + 511, + -1, + 1, + 1 + ], + [ + "add", + 511, + 308, + 1, + 1, + 1 + ], + [ + "add", + 308, + 511, + -1, + 1, + 1 + ], + [ + "scale", + 336, + -1, + 1, + 1 + ], + [ + "add", + 338, + 344, + -1, + 1, + 1 + ], + [ + "add", + 344, + 338, + 1, + 1, + 1 + ], + [ + "add", + 338, + 344, + -1, + 1, + 1 + ], + [ + "scale", + 352, + -1, + 1, + 1 + ], + [ + "scale", + 368, + -1, + 1, + 1 + ], + [ + "add", + 370, + 376, + -1, + 1, + 1 + ], + [ + "add", + 376, + 370, + 1, + 1, + 1 + ], + [ + "add", + 370, + 376, + -1, + 1, + 1 + ], + [ + "add", + 386, + 392, + -1, + 1, + 1 + ], + [ + "add", + 392, + 386, + 1, + 1, + 1 + ], + [ + "add", + 386, + 392, + -1, + 1, + 1 + ], + [ + "scale", + 400, + -1, + 1, + 1 + ], + [ + "scale", + 416, + -1, + 1, + 1 + ], + [ + "scale", + 432, + -1, + 1, + 1 + ], + [ + "add", + 434, + 440, + -1, + 1, + 1 + ], + [ + "add", + 440, + 434, + 1, + 1, + 1 + ], + [ + "add", + 434, + 440, + -1, + 1, + 1 + ], + [ + "add", + 438, + 441, + -1, + 1, + 1 + ], + [ + "add", + 441, + 438, + 1, + 1, + 1 + ], + [ + "add", + 438, + 441, + -1, + 1, + 1 + ], + [ + "add", + 439, + 438, + -1, + 1, + 1 + ], + [ + "add", + 438, + 439, + 1, + 1, + 1 + ], + [ + "add", + 439, + 438, + -1, + 1, + 1 + ], + [ + "add", + 436, + 439, + -1, + 1, + 1 + ], + [ + "add", + 439, + 436, + 1, + 1, + 1 + ], + [ + "add", + 436, + 439, + -1, + 1, + 1 + ], + [ + "scale", + 443, + -1, + 1, + 1 + ], + [ + "scale", + 447, + -1, + 1, + 1 + ], + [ + "add", + 518, + 542, + -1, + 1, + 1 + ], + [ + "add", + 542, + 518, + 1, + 1, + 1 + ], + [ + "add", + 518, + 542, + -1, + 1, + 1 + ], + [ + "scale", + 518, + -1, + 1, + 1 + ], + [ + "add", + 530, + 554, + -1, + 1, + 1 + ], + [ + "add", + 554, + 530, + 1, + 1, + 1 + ], + [ + "add", + 530, + 554, + -1, + 1, + 1 + ], + [ + "scale", + 315, + 1, + 4, + 1 + ], + [ + "scale", + 340, + 1, + 2, + 1 + ], + [ + "scale", + 246, + 1, + 2, + 1 + ], + [ + "scale", + 336, + 1, + 2, + 1 + ], + [ + "scale", + 255, + 1, + 4, + 1 + ], + [ + "scale", + 272, + 1, + 2, + 1 + ], + [ + "scale", + 283, + 1, + 4, + 1 + ], + [ + "scale", + 372, + 1, + 4, + 1 + ], + [ + "scale", + 224, + 1, + 2, + 1 + ], + [ + "scale", + 239, + 1, + 4, + 1 + ], + [ + "scale", + 342, + 1, + 2, + 1 + ], + [ + "scale", + 271, + 1, + 4, + 1 + ], + [ + "scale", + 352, + 1, + 2, + 1 + ], + [ + "scale", + 240, + 1, + 2, + 1 + ], + [ + "scale", + 248, + 1, + 2, + 1 + ], + [ + "scale", + 431, + 1, + 2, + 1 + ], + [ + "scale", + 416, + 1, + 4, + 1 + ], + [ + "scale", + 256, + 1, + 2, + 1 + ], + [ + "scale", + 292, + 1, + 2, + 1 + ], + [ + "scale", + 319, + 1, + 4, + 1 + ], + [ + "scale", + 361, + 1, + 4, + 1 + ], + [ + "scale", + 511, + 1, + 2, + 1 + ], + [ + "scale", + 264, + 1, + 2, + 1 + ], + [ + "scale", + 400, + 1, + 4, + 1 + ], + [ + "scale", + 404, + 1, + 2, + 1 + ], + [ + "scale", + 297, + 1, + 2, + 1 + ], + [ + "scale", + 354, + 1, + 2, + 1 + ], + [ + "scale", + 409, + 1, + 2, + 1 + ], + [ + "scale", + 478, + 1, + 2, + 1 + ], + [ + "scale", + 367, + 1, + 4, + 1 + ], + [ + "scale", + 263, + 1, + 2, + 1 + ], + [ + "scale", + 360, + 1, + 4, + 1 + ], + [ + "scale", + 468, + 1, + 2, + 1 + ], + [ + "scale", + 384, + 1, + 2, + 1 + ], + [ + "scale", + 399, + 1, + 4, + 1 + ], + [ + "scale", + 296, + 1, + 4, + 1 + ], + [ + "scale", + 281, + 1, + 2, + 1 + ], + [ + "scale", + 425, + 1, + 2, + 1 + ], + [ + "scale", + 247, + 1, + 2, + 1 + ], + [ + "scale", + 320, + 1, + 2, + 1 + ], + [ + "scale", + 335, + 1, + 4, + 1 + ], + [ + "scale", + 37, + 1, + 2, + 1 + ], + [ + "scale", + 20, + 1, + 2, + 1 + ], + [ + "scale", + 110, + 1, + 2, + 1 + ], + [ + "scale", + 436, + 1, + 2, + 1 + ], + [ + "scale", + 351, + 1, + 4, + 1 + ], + [ + "scale", + 424, + 1, + 2, + 1 + ], + [ + "scale", + 329, + 1, + 2, + 1 + ], + [ + "scale", + 383, + 1, + 4, + 1 + ], + [ + "scale", + 393, + 1, + 2, + 1 + ], + [ + "scale", + 392, + 1, + 2, + 1 + ], + [ + "scale", + 411, + 1, + 4, + 1 + ], + [ + "scale", + 376, + 1, + 2, + 1 + ], + [ + "scale", + 408, + 1, + 2, + 1 + ], + [ + "scale", + 363, + 1, + 4, + 1 + ], + [ + "scale", + 299, + 1, + 4, + 1 + ], + [ + "scale", + 287, + 1, + 4, + 1 + ], + [ + "scale", + 303, + 1, + 4, + 1 + ], + [ + "scale", + 395, + 1, + 4, + 1 + ], + [ + "scale", + 251, + 1, + 4, + 1 + ], + [ + "scale", + 427, + 1, + 4, + 1 + ], + [ + "scale", + 267, + 1, + 4, + 1 + ], + [ + "scale", + 331, + 1, + 4, + 1 + ], + [ + "scale", + 443, + 1, + 2, + 1 + ], + [ + "add", + 308, + 310, + -1, + 1, + 1 + ], + [ + "add", + 310, + 304, + 1, + 1, + 1 + ], + [ + "add", + 308, + 304, + -1, + 2, + 1 + ], + [ + "scale", + 304, + 1, + 2, + 1 + ], + [ + "add", + 310, + 315, + 1, + 1, + 1 + ], + [ + "add", + 308, + 315, + -1, + 1, + 1 + ], + [ + "add", + 304, + 315, + -1, + 1, + 1 + ], + [ + "add", + 315, + 107, + -1, + 2, + 1 + ], + [ + "add", + 310, + 107, + -1, + 2, + 1 + ], + [ + "add", + 308, + 107, + 1, + 2, + 1 + ], + [ + "add", + 304, + 107, + -1, + 2, + 1 + ], + [ + "add", + 315, + 58, + 1, + 2, + 1 + ], + [ + "add", + 310, + 58, + 1, + 2, + 1 + ], + [ + "add", + 308, + 58, + -1, + 2, + 1 + ], + [ + "add", + 304, + 58, + 1, + 2, + 1 + ], + [ + "add", + 107, + 58, + -1, + 1, + 1 + ], + [ + "scale", + 347, + 1, + 2, + 1 + ], + [ + "add", + 310, + 312, + 1, + 1, + 1 + ], + [ + "add", + 304, + 312, + 1, + 2, + 1 + ], + [ + "scale", + 312, + 1, + 2, + 1 + ], + [ + "add", + 347, + 340, + 1, + 2, + 1 + ], + [ + "add", + 278, + 284, + -1, + 1, + 1 + ], + [ + "add", + 284, + 252, + 1, + 2, + 1 + ], + [ + "add", + 278, + 252, + -1, + 2, + 1 + ], + [ + "add", + 252, + 246, + 1, + 1, + 1 + ], + [ + "add", + 340, + 336, + -1, + 1, + 1 + ], + [ + "add", + 252, + 244, + -1, + 2, + 1 + ], + [ + "add", + 246, + 244, + -1, + 2, + 1 + ], + [ + "add", + 252, + 255, + 1, + 1, + 1 + ], + [ + "add", + 246, + 255, + 1, + 1, + 1 + ], + [ + "add", + 244, + 255, + -2, + 1, + 1 + ], + [ + "add", + 343, + 279, + -1, + 1, + 1 + ], + [ + "add", + 284, + 276, + -1, + 2, + 1 + ], + [ + "add", + 278, + 276, + -1, + 2, + 1 + ], + [ + "add", + 255, + 276, + -1, + 4, + 1 + ], + [ + "add", + 252, + 276, + 1, + 4, + 1 + ], + [ + "add", + 246, + 276, + 1, + 4, + 1 + ], + [ + "add", + 244, + 276, + -1, + 2, + 1 + ], + [ + "add", + 284, + 272, + 1, + 1, + 1 + ], + [ + "add", + 276, + 272, + -1, + 1, + 1 + ], + [ + "add", + 255, + 272, + 1, + 2, + 1 + ], + [ + "add", + 252, + 272, + -1, + 2, + 1 + ], + [ + "add", + 246, + 272, + -1, + 2, + 1 + ], + [ + "add", + 244, + 272, + 1, + 1, + 1 + ], + [ + "add", + 279, + 283, + -1, + 1, + 1 + ], + [ + "add", + 278, + 283, + 1, + 1, + 1 + ], + [ + "add", + 276, + 283, + -1, + 1, + 1 + ], + [ + "add", + 272, + 283, + -1, + 1, + 1 + ], + [ + "add", + 284, + 17, + -1, + 2, + 1 + ], + [ + "add", + 283, + 17, + -1, + 2, + 1 + ], + [ + "add", + 279, + 17, + 1, + 2, + 1 + ], + [ + "add", + 276, + 17, + 1, + 2, + 1 + ], + [ + "add", + 272, + 17, + -1, + 2, + 1 + ], + [ + "add", + 255, + 368, + 1, + 4, + 1 + ], + [ + "add", + 252, + 368, + -1, + 4, + 1 + ], + [ + "add", + 246, + 368, + -1, + 4, + 1 + ], + [ + "add", + 244, + 368, + 1, + 2, + 1 + ], + [ + "add", + 368, + 95, + -1, + 1, + 1 + ], + [ + "add", + 284, + 95, + 1, + 2, + 1 + ], + [ + "add", + 283, + 95, + 1, + 2, + 1 + ], + [ + "add", + 279, + 95, + -1, + 2, + 1 + ], + [ + "add", + 276, + 95, + -1, + 2, + 1 + ], + [ + "add", + 272, + 95, + 1, + 2, + 1 + ], + [ + "add", + 17, + 95, + -1, + 1, + 1 + ], + [ + "scale", + 379, + 1, + 2, + 1 + ], + [ + "add", + 379, + 372, + 1, + 1, + 1 + ], + [ + "add", + 368, + 372, + 1, + 1, + 1 + ], + [ + "add", + 228, + 235, + -1, + 2, + 1 + ], + [ + "scale", + 235, + 1, + 4, + 1 + ], + [ + "add", + 228, + 224, + -1, + 1, + 1 + ], + [ + "add", + 228, + 239, + 2, + 1, + 1 + ], + [ + "add", + 224, + 239, + -1, + 1, + 1 + ], + [ + "add", + 279, + 274, + -1, + 1, + 1 + ], + [ + "add", + 348, + 342, + -1, + 1, + 1 + ], + [ + "add", + 284, + 358, + -1, + 2, + 1 + ], + [ + "add", + 278, + 358, + -1, + 2, + 1 + ], + [ + "add", + 252, + 358, + -1, + 2, + 1 + ], + [ + "add", + 246, + 358, + -1, + 2, + 1 + ], + [ + "add", + 343, + 338, + -1, + 1, + 1 + ], + [ + "add", + 343, + 262, + -1, + 2, + 1 + ], + [ + "add", + 338, + 262, + 1, + 2, + 1 + ], + [ + "add", + 279, + 262, + -1, + 2, + 1 + ], + [ + "add", + 274, + 262, + 1, + 2, + 1 + ], + [ + "add", + 279, + 268, + 1, + 1, + 1 + ], + [ + "add", + 274, + 268, + -1, + 1, + 1 + ], + [ + "add", + 262, + 268, + -1, + 1, + 1 + ], + [ + "add", + 268, + 260, + -1, + 2, + 1 + ], + [ + "add", + 262, + 260, + -1, + 2, + 1 + ], + [ + "add", + 228, + 260, + -1, + 2, + 1 + ], + [ + "add", + 224, + 260, + -1, + 2, + 1 + ], + [ + "add", + 268, + 271, + -1, + 1, + 1 + ], + [ + "add", + 262, + 271, + -1, + 1, + 1 + ], + [ + "add", + 260, + 271, + 2, + 1, + 1 + ], + [ + "add", + 358, + 364, + -1, + 1, + 1 + ], + [ + "add", + 252, + 364, + 1, + 1, + 1 + ], + [ + "add", + 246, + 364, + 1, + 1, + 1 + ], + [ + "add", + 348, + 249, + 1, + 1, + 1 + ], + [ + "add", + 342, + 249, + -1, + 1, + 1 + ], + [ + "add", + 364, + 356, + -1, + 2, + 1 + ], + [ + "add", + 358, + 356, + -1, + 2, + 1 + ], + [ + "add", + 271, + 356, + 1, + 4, + 1 + ], + [ + "add", + 268, + 356, + -1, + 4, + 1 + ], + [ + "add", + 262, + 356, + -1, + 4, + 1 + ], + [ + "add", + 260, + 356, + 1, + 2, + 1 + ], + [ + "add", + 239, + 356, + 1, + 4, + 1 + ], + [ + "add", + 235, + 356, + 1, + 4, + 1 + ], + [ + "add", + 228, + 356, + 1, + 4, + 1 + ], + [ + "add", + 224, + 356, + -1, + 2, + 1 + ], + [ + "add", + 364, + 352, + 1, + 1, + 1 + ], + [ + "add", + 356, + 352, + -1, + 1, + 1 + ], + [ + "add", + 271, + 352, + -1, + 2, + 1 + ], + [ + "add", + 268, + 352, + 1, + 2, + 1 + ], + [ + "add", + 262, + 352, + 1, + 2, + 1 + ], + [ + "add", + 260, + 352, + -1, + 1, + 1 + ], + [ + "add", + 255, + 240, + 1, + 2, + 1 + ], + [ + "add", + 252, + 240, + 1, + 2, + 1 + ], + [ + "add", + 249, + 240, + -1, + 2, + 1 + ], + [ + "add", + 246, + 240, + -1, + 2, + 1 + ], + [ + "add", + 240, + 248, + 1, + 1, + 1 + ], + [ + "add", + 356, + 366, + -1, + 1, + 1 + ], + [ + "add", + 248, + 366, + 1, + 1, + 1 + ], + [ + "add", + 240, + 366, + 1, + 1, + 1 + ], + [ + "add", + 364, + 422, + 1, + 2, + 1 + ], + [ + "add", + 358, + 422, + -1, + 2, + 1 + ], + [ + "add", + 284, + 422, + 1, + 2, + 1 + ], + [ + "add", + 278, + 422, + -1, + 2, + 1 + ], + [ + "add", + 422, + 420, + -1, + 1, + 1 + ], + [ + "add", + 271, + 420, + -1, + 4, + 1 + ], + [ + "add", + 268, + 420, + 1, + 4, + 1 + ], + [ + "add", + 262, + 420, + 1, + 4, + 1 + ], + [ + "add", + 260, + 420, + -1, + 2, + 1 + ], + [ + "add", + 239, + 420, + 1, + 2, + 1 + ], + [ + "add", + 228, + 420, + 1, + 2, + 1 + ], + [ + "add", + 422, + 431, + 1, + 1, + 1 + ], + [ + "add", + 420, + 431, + -1, + 1, + 1 + ], + [ + "add", + 366, + 431, + 1, + 2, + 1 + ], + [ + "add", + 356, + 431, + -1, + 2, + 1 + ], + [ + "add", + 348, + 431, + 1, + 2, + 1 + ], + [ + "add", + 342, + 431, + -1, + 2, + 1 + ], + [ + "add", + 239, + 431, + -1, + 1, + 1 + ], + [ + "add", + 228, + 431, + -1, + 1, + 1 + ], + [ + "add", + 431, + 416, + 1, + 1, + 1 + ], + [ + "add", + 366, + 416, + 1, + 1, + 1 + ], + [ + "add", + 356, + 416, + -1, + 1, + 1 + ], + [ + "add", + 348, + 416, + 1, + 1, + 1 + ], + [ + "add", + 342, + 416, + -1, + 1, + 1 + ], + [ + "add", + 271, + 256, + 1, + 2, + 1 + ], + [ + "add", + 268, + 256, + 1, + 2, + 1 + ], + [ + "add", + 262, + 256, + -1, + 2, + 1 + ], + [ + "add", + 271, + 288, + -1, + 4, + 1 + ], + [ + "add", + 268, + 288, + -1, + 4, + 1 + ], + [ + "add", + 262, + 288, + 1, + 4, + 1 + ], + [ + "add", + 256, + 288, + -1, + 2, + 1 + ], + [ + "add", + 255, + 288, + 1, + 4, + 1 + ], + [ + "add", + 252, + 288, + 1, + 4, + 1 + ], + [ + "add", + 249, + 288, + -1, + 4, + 1 + ], + [ + "add", + 248, + 288, + -1, + 4, + 1 + ], + [ + "add", + 246, + 288, + -1, + 4, + 1 + ], + [ + "add", + 240, + 288, + 1, + 4, + 1 + ], + [ + "add", + 239, + 288, + 1, + 4, + 1 + ], + [ + "add", + 235, + 288, + -1, + 4, + 1 + ], + [ + "add", + 228, + 288, + 1, + 4, + 1 + ], + [ + "add", + 224, + 288, + -1, + 2, + 1 + ], + [ + "add", + 348, + 292, + -1, + 2, + 1 + ], + [ + "add", + 342, + 292, + -1, + 2, + 1 + ], + [ + "add", + 288, + 292, + 1, + 1, + 1 + ], + [ + "add", + 239, + 292, + 1, + 2, + 1 + ], + [ + "add", + 235, + 292, + -1, + 2, + 1 + ], + [ + "add", + 228, + 292, + 1, + 2, + 1 + ], + [ + "add", + 224, + 292, + -1, + 1, + 1 + ], + [ + "add", + 310, + 316, + -1, + 1, + 1 + ], + [ + "add", + 316, + 319, + -1, + 1, + 1 + ], + [ + "add", + 310, + 319, + -1, + 1, + 1 + ], + [ + "add", + 308, + 319, + 2, + 1, + 1 + ], + [ + "add", + 255, + 319, + -1, + 1, + 1 + ], + [ + "add", + 252, + 319, + 1, + 1, + 1 + ], + [ + "add", + 246, + 319, + 1, + 1, + 1 + ], + [ + "add", + 244, + 319, + -2, + 1, + 1 + ], + [ + "add", + 336, + 82, + -1, + 1, + 1 + ], + [ + "add", + 340, + 75, + -1, + 1, + 1 + ], + [ + "add", + 338, + 75, + -1, + 1, + 1 + ], + [ + "add", + 336, + 75, + 1, + 1, + 1 + ], + [ + "add", + 82, + 75, + -1, + 1, + 1 + ], + [ + "add", + 340, + 48, + -1, + 2, + 1 + ], + [ + "add", + 338, + 48, + -1, + 2, + 1 + ], + [ + "add", + 336, + 48, + -1, + 2, + 1 + ], + [ + "add", + 304, + 48, + -1, + 1, + 1 + ], + [ + "add", + 82, + 48, + 1, + 2, + 1 + ], + [ + "add", + 75, + 48, + 1, + 2, + 1 + ], + [ + "add", + 308, + 32, + -1, + 1, + 1 + ], + [ + "add", + 304, + 32, + 1, + 1, + 1 + ], + [ + "add", + 48, + 32, + -1, + 1, + 1 + ], + [ + "scale", + 377, + 1, + 2, + 1 + ], + [ + "add", + 313, + 361, + 1, + 1, + 1 + ], + [ + "add", + 306, + 511, + 1, + 1, + 1 + ], + [ + "add", + 256, + 264, + 1, + 1, + 1 + ], + [ + "add", + 264, + 349, + 1, + 1, + 1 + ], + [ + "add", + 256, + 349, + 1, + 1, + 1 + ], + [ + "add", + 260, + 270, + -1, + 1, + 1 + ], + [ + "add", + 270, + 285, + -1, + 1, + 1 + ], + [ + "add", + 260, + 285, + 1, + 1, + 1 + ], + [ + "add", + 349, + 415, + 1, + 2, + 1 + ], + [ + "add", + 285, + 415, + 1, + 2, + 1 + ], + [ + "add", + 255, + 415, + -1, + 1, + 1 + ], + [ + "add", + 252, + 415, + -1, + 2, + 1 + ], + [ + "add", + 249, + 415, + 3, + 4, + 1 + ], + [ + "add", + 248, + 415, + 3, + 4, + 1 + ], + [ + "add", + 246, + 415, + 1, + 1, + 1 + ], + [ + "add", + 244, + 415, + -1, + 2, + 1 + ], + [ + "add", + 240, + 415, + -3, + 4, + 1 + ], + [ + "add", + 239, + 415, + -1, + 2, + 1 + ], + [ + "add", + 228, + 415, + -1, + 2, + 1 + ], + [ + "add", + 415, + 400, + 1, + 1, + 1 + ], + [ + "add", + 349, + 400, + 1, + 1, + 1 + ], + [ + "add", + 285, + 400, + 1, + 1, + 1 + ], + [ + "add", + 255, + 400, + -1, + 1, + 1 + ], + [ + "add", + 252, + 400, + -1, + 1, + 1 + ], + [ + "add", + 249, + 400, + 1, + 1, + 1 + ], + [ + "add", + 248, + 400, + 1, + 1, + 1 + ], + [ + "add", + 246, + 400, + 1, + 1, + 1 + ], + [ + "add", + 240, + 400, + -1, + 1, + 1 + ], + [ + "add", + 343, + 406, + 1, + 2, + 1 + ], + [ + "add", + 338, + 406, + -1, + 2, + 1 + ], + [ + "add", + 279, + 406, + 1, + 2, + 1 + ], + [ + "add", + 274, + 406, + -1, + 2, + 1 + ], + [ + "add", + 406, + 404, + -1, + 1, + 1 + ], + [ + "add", + 400, + 404, + 1, + 1, + 1 + ], + [ + "add", + 349, + 404, + 1, + 2, + 1 + ], + [ + "add", + 285, + 404, + 1, + 2, + 1 + ], + [ + "add", + 239, + 404, + 1, + 1, + 1 + ], + [ + "add", + 228, + 404, + 1, + 1, + 1 + ], + [ + "add", + 272, + 100, + -1, + 1, + 1 + ], + [ + "add", + 276, + 56, + -1, + 1, + 1 + ], + [ + "add", + 274, + 56, + -1, + 1, + 1 + ], + [ + "add", + 272, + 56, + 1, + 1, + 1 + ], + [ + "add", + 100, + 56, + -1, + 1, + 1 + ], + [ + "add", + 368, + 67, + -1, + 1, + 1 + ], + [ + "add", + 276, + 67, + 1, + 2, + 1 + ], + [ + "add", + 274, + 67, + 1, + 2, + 1 + ], + [ + "add", + 272, + 67, + 1, + 2, + 1 + ], + [ + "add", + 100, + 67, + -1, + 2, + 1 + ], + [ + "add", + 56, + 67, + -1, + 2, + 1 + ], + [ + "add", + 372, + 3, + -1, + 1, + 1 + ], + [ + "add", + 368, + 3, + 1, + 1, + 1 + ], + [ + "add", + 67, + 3, + -1, + 1, + 1 + ], + [ + "add", + 313, + 297, + -1, + 1, + 1 + ], + [ + "scale", + 265, + 1, + 2, + 1 + ], + [ + "add", + 265, + 359, + 1, + 2, + 1 + ], + [ + "add", + 359, + 354, + 1, + 1, + 1 + ], + [ + "add", + 359, + 409, + 1, + 1, + 1 + ], + [ + "add", + 354, + 409, + -1, + 1, + 1 + ], + [ + "add", + 359, + 295, + -1, + 2, + 1 + ], + [ + "add", + 354, + 295, + -1, + 2, + 1 + ], + [ + "add", + 511, + 478, + 1, + 1, + 1 + ], + [ + "add", + 306, + 478, + -1, + 1, + 1 + ], + [ + "add", + 295, + 290, + -1, + 1, + 1 + ], + [ + "add", + 478, + 258, + 1, + 2, + 1 + ], + [ + "add", + 295, + 258, + -1, + 2, + 1 + ], + [ + "add", + 290, + 258, + 1, + 2, + 1 + ], + [ + "add", + 366, + 367, + 1, + 1, + 1 + ], + [ + "add", + 364, + 367, + -1, + 1, + 1 + ], + [ + "add", + 358, + 367, + -1, + 1, + 1 + ], + [ + "add", + 356, + 367, + 1, + 1, + 1 + ], + [ + "add", + 352, + 367, + -1, + 1, + 1 + ], + [ + "add", + 255, + 367, + -1, + 1, + 1 + ], + [ + "add", + 252, + 367, + -1, + 1, + 1 + ], + [ + "add", + 249, + 367, + 1, + 1, + 1 + ], + [ + "add", + 248, + 367, + 1, + 1, + 1 + ], + [ + "add", + 246, + 367, + 1, + 1, + 1 + ], + [ + "add", + 240, + 367, + -1, + 1, + 1 + ], + [ + "add", + 258, + 263, + 1, + 1, + 1 + ], + [ + "add", + 272, + 280, + 1, + 1, + 1 + ], + [ + "add", + 280, + 360, + 1, + 1, + 1 + ], + [ + "add", + 272, + 360, + 1, + 1, + 1 + ], + [ + "add", + 228, + 238, + -1, + 1, + 1 + ], + [ + "add", + 316, + 468, + 1, + 1, + 1 + ], + [ + "add", + 310, + 468, + -1, + 1, + 1 + ], + [ + "add", + 468, + 390, + -1, + 1, + 1 + ], + [ + "add", + 364, + 390, + -1, + 2, + 1 + ], + [ + "add", + 358, + 390, + -1, + 2, + 1 + ], + [ + "add", + 252, + 390, + 1, + 2, + 1 + ], + [ + "add", + 246, + 390, + -1, + 2, + 1 + ], + [ + "add", + 390, + 388, + -1, + 1, + 1 + ], + [ + "add", + 271, + 388, + 1, + 4, + 1 + ], + [ + "add", + 268, + 388, + 1, + 4, + 1 + ], + [ + "add", + 265, + 388, + -1, + 4, + 1 + ], + [ + "add", + 264, + 388, + -1, + 4, + 1 + ], + [ + "add", + 262, + 388, + -1, + 4, + 1 + ], + [ + "add", + 256, + 388, + 1, + 4, + 1 + ], + [ + "add", + 255, + 388, + -1, + 4, + 1 + ], + [ + "add", + 252, + 388, + -1, + 4, + 1 + ], + [ + "add", + 249, + 388, + 1, + 4, + 1 + ], + [ + "add", + 248, + 388, + 1, + 4, + 1 + ], + [ + "add", + 246, + 388, + 1, + 4, + 1 + ], + [ + "add", + 240, + 388, + -1, + 4, + 1 + ], + [ + "add", + 239, + 388, + 1, + 4, + 1 + ], + [ + "add", + 238, + 388, + -1, + 4, + 1 + ], + [ + "add", + 235, + 388, + 1, + 4, + 1 + ], + [ + "add", + 390, + 384, + -1, + 1, + 1 + ], + [ + "add", + 388, + 384, + 1, + 1, + 1 + ], + [ + "add", + 360, + 384, + -1, + 2, + 1 + ], + [ + "add", + 268, + 384, + 1, + 2, + 1 + ], + [ + "add", + 262, + 384, + -1, + 2, + 1 + ], + [ + "add", + 239, + 384, + 1, + 2, + 1 + ], + [ + "add", + 238, + 384, + -1, + 2, + 1 + ], + [ + "add", + 235, + 384, + 1, + 2, + 1 + ], + [ + "add", + 384, + 399, + 1, + 1, + 1 + ], + [ + "add", + 360, + 399, + -1, + 1, + 1 + ], + [ + "add", + 271, + 399, + -1, + 1, + 1 + ], + [ + "add", + 265, + 399, + 1, + 1, + 1 + ], + [ + "add", + 264, + 399, + 1, + 1, + 1 + ], + [ + "add", + 256, + 399, + -1, + 1, + 1 + ], + [ + "add", + 344, + 296, + 1, + 1, + 1 + ], + [ + "add", + 288, + 296, + 1, + 1, + 1 + ], + [ + "add", + 348, + 294, + -1, + 2, + 1 + ], + [ + "add", + 342, + 294, + -1, + 2, + 1 + ], + [ + "scale", + 345, + 1, + 2, + 1 + ], + [ + "add", + 345, + 281, + -1, + 1, + 1 + ], + [ + "add", + 348, + 425, + 1, + 1, + 1 + ], + [ + "add", + 342, + 425, + -1, + 1, + 1 + ], + [ + "add", + 294, + 300, + -1, + 1, + 1 + ], + [ + "add", + 300, + 242, + -1, + 2, + 1 + ], + [ + "add", + 294, + 242, + 1, + 2, + 1 + ], + [ + "add", + 242, + 247, + 1, + 1, + 1 + ], + [ + "add", + 300, + 326, + -1, + 2, + 1 + ], + [ + "add", + 294, + 326, + -1, + 2, + 1 + ], + [ + "add", + 249, + 326, + -1, + 2, + 1 + ], + [ + "add", + 326, + 324, + -1, + 1, + 1 + ], + [ + "add", + 271, + 324, + 1, + 4, + 1 + ], + [ + "add", + 270, + 324, + 1, + 4, + 1 + ], + [ + "add", + 268, + 324, + -1, + 4, + 1 + ], + [ + "add", + 262, + 324, + -1, + 4, + 1 + ], + [ + "add", + 260, + 324, + 1, + 4, + 1 + ], + [ + "add", + 255, + 324, + -1, + 4, + 1 + ], + [ + "add", + 252, + 324, + -1, + 4, + 1 + ], + [ + "add", + 249, + 324, + 1, + 4, + 1 + ], + [ + "add", + 248, + 324, + 1, + 4, + 1 + ], + [ + "add", + 246, + 324, + 1, + 4, + 1 + ], + [ + "add", + 240, + 324, + -1, + 4, + 1 + ], + [ + "add", + 239, + 324, + 1, + 4, + 1 + ], + [ + "add", + 235, + 324, + -1, + 4, + 1 + ], + [ + "add", + 228, + 324, + -1, + 4, + 1 + ], + [ + "add", + 326, + 328, + 2, + 1, + 1 + ], + [ + "add", + 300, + 328, + -1, + 1, + 1 + ], + [ + "add", + 296, + 328, + -1, + 1, + 1 + ], + [ + "add", + 294, + 328, + -1, + 1, + 1 + ], + [ + "add", + 288, + 328, + -1, + 1, + 1 + ], + [ + "add", + 249, + 328, + -1, + 1, + 1 + ], + [ + "add", + 247, + 328, + -1, + 1, + 1 + ], + [ + "add", + 242, + 328, + -1, + 1, + 1 + ], + [ + "add", + 328, + 320, + -1, + 2, + 1 + ], + [ + "add", + 326, + 320, + -1, + 1, + 1 + ], + [ + "add", + 324, + 320, + 1, + 1, + 1 + ], + [ + "add", + 281, + 320, + -1, + 2, + 1 + ], + [ + "add", + 268, + 320, + -1, + 2, + 1 + ], + [ + "add", + 262, + 320, + -1, + 2, + 1 + ], + [ + "add", + 239, + 320, + 1, + 2, + 1 + ], + [ + "add", + 235, + 320, + -1, + 2, + 1 + ], + [ + "add", + 228, + 320, + -1, + 2, + 1 + ], + [ + "add", + 328, + 335, + -1, + 1, + 1 + ], + [ + "add", + 320, + 335, + 1, + 1, + 1 + ], + [ + "add", + 281, + 335, + -1, + 1, + 1 + ], + [ + "add", + 271, + 335, + -1, + 1, + 1 + ], + [ + "add", + 270, + 335, + -1, + 1, + 1 + ], + [ + "add", + 260, + 335, + -1, + 1, + 1 + ], + [ + "add", + 270, + 432, + 1, + 4, + 1 + ], + [ + "add", + 268, + 432, + -1, + 2, + 1 + ], + [ + "add", + 265, + 432, + 1, + 4, + 1 + ], + [ + "add", + 264, + 432, + 1, + 4, + 1 + ], + [ + "add", + 260, + 432, + 1, + 4, + 1 + ], + [ + "add", + 256, + 432, + -1, + 4, + 1 + ], + [ + "add", + 255, + 432, + 1, + 2, + 1 + ], + [ + "add", + 249, + 432, + -1, + 4, + 1 + ], + [ + "add", + 248, + 432, + -1, + 4, + 1 + ], + [ + "add", + 246, + 432, + -1, + 2, + 1 + ], + [ + "add", + 244, + 432, + 1, + 2, + 1 + ], + [ + "add", + 240, + 432, + 1, + 4, + 1 + ], + [ + "add", + 432, + 37, + 1, + 1, + 1 + ], + [ + "add", + 271, + 37, + 1, + 2, + 1 + ], + [ + "add", + 270, + 37, + 1, + 2, + 1 + ], + [ + "add", + 268, + 37, + -1, + 2, + 1 + ], + [ + "add", + 262, + 37, + -1, + 2, + 1 + ], + [ + "add", + 260, + 37, + 1, + 2, + 1 + ], + [ + "add", + 255, + 37, + 1, + 2, + 1 + ], + [ + "add", + 252, + 37, + -1, + 2, + 1 + ], + [ + "add", + 246, + 37, + -1, + 2, + 1 + ], + [ + "add", + 244, + 37, + 1, + 1, + 1 + ], + [ + "add", + 432, + 20, + -1, + 1, + 1 + ], + [ + "add", + 255, + 20, + -1, + 2, + 1 + ], + [ + "add", + 252, + 20, + -1, + 2, + 1 + ], + [ + "add", + 249, + 20, + 1, + 2, + 1 + ], + [ + "add", + 248, + 20, + 1, + 2, + 1 + ], + [ + "add", + 246, + 20, + 1, + 2, + 1 + ], + [ + "add", + 240, + 20, + -1, + 2, + 1 + ], + [ + "add", + 271, + 110, + -1, + 2, + 1 + ], + [ + "add", + 270, + 110, + -1, + 2, + 1 + ], + [ + "add", + 268, + 110, + 1, + 2, + 1 + ], + [ + "add", + 262, + 110, + 1, + 2, + 1 + ], + [ + "add", + 260, + 110, + -1, + 2, + 1 + ], + [ + "add", + 20, + 110, + -1, + 1, + 1 + ], + [ + "add", + 432, + 436, + -1, + 1, + 1 + ], + [ + "add", + 110, + 436, + -1, + 1, + 1 + ], + [ + "add", + 37, + 436, + -1, + 1, + 1 + ], + [ + "add", + 20, + 436, + 2, + 1, + 1 + ], + [ + "add", + 349, + 351, + -1, + 1, + 1 + ], + [ + "add", + 348, + 351, + -1, + 1, + 1 + ], + [ + "add", + 342, + 351, + -1, + 1, + 1 + ], + [ + "add", + 340, + 351, + 2, + 1, + 1 + ], + [ + "add", + 336, + 351, + -1, + 1, + 1 + ], + [ + "add", + 255, + 351, + -1, + 1, + 1 + ], + [ + "add", + 252, + 351, + 1, + 1, + 1 + ], + [ + "add", + 247, + 351, + -1, + 1, + 1 + ], + [ + "add", + 246, + 351, + 1, + 1, + 1 + ], + [ + "add", + 244, + 351, + -2, + 1, + 1 + ], + [ + "add", + 242, + 351, + -1, + 1, + 1 + ], + [ + "add", + 292, + 302, + -1, + 1, + 1 + ], + [ + "add", + 253, + 302, + -1, + 1, + 1 + ], + [ + "add", + 675, + 676, + -1, + 1, + 1 + ], + [ + "add", + 676, + 677, + 1, + 1, + 1 + ], + [ + "add", + 674, + 677, + -1, + 1, + 1 + ], + [ + "add", + 676, + 679, + 1, + 1, + 1 + ], + [ + "add", + 674, + 679, + -1, + 1, + 1 + ], + [ + "add", + 672, + 679, + -1, + 1, + 1 + ], + [ + "add", + 676, + 678, + 1, + 1, + 1 + ], + [ + "add", + 674, + 678, + 1, + 1, + 1 + ], + [ + "add", + 673, + 678, + -1, + 1, + 1 + ], + [ + "add", + 672, + 678, + -1, + 1, + 1 + ], + [ + "add", + 366, + 424, + 1, + 1, + 1 + ], + [ + "add", + 356, + 424, + -1, + 1, + 1 + ], + [ + "add", + 244, + 254, + -1, + 1, + 1 + ], + [ + "add", + 276, + 286, + -1, + 1, + 1 + ], + [ + "add", + 254, + 286, + -1, + 1, + 1 + ], + [ + "add", + 244, + 286, + 1, + 1, + 1 + ], + [ + "add", + 269, + 301, + -1, + 1, + 1 + ], + [ + "add", + 683, + 684, + -1, + 1, + 1 + ], + [ + "add", + 684, + 687, + 1, + 1, + 1 + ], + [ + "add", + 680, + 687, + -1, + 1, + 1 + ], + [ + "add", + 684, + 686, + 1, + 1, + 1 + ], + [ + "add", + 681, + 686, + -1, + 1, + 1 + ], + [ + "add", + 680, + 686, + -1, + 1, + 1 + ], + [ + "add", + 684, + 685, + 1, + 1, + 1 + ], + [ + "add", + 682, + 685, + -1, + 1, + 1 + ], + [ + "add", + 681, + 685, + 1, + 1, + 1 + ], + [ + "add", + 680, + 685, + -1, + 1, + 1 + ], + [ + "add", + 643, + 644, + 2, + 1, + 1 + ], + [ + "add", + 644, + 645, + 1, + 1, + 1 + ], + [ + "add", + 642, + 645, + 2, + 1, + 1 + ], + [ + "add", + 644, + 647, + 1, + 1, + 1 + ], + [ + "add", + 642, + 647, + 2, + 1, + 1 + ], + [ + "add", + 640, + 647, + 2, + 1, + 1 + ], + [ + "add", + 644, + 646, + 1, + 1, + 1 + ], + [ + "add", + 642, + 646, + -2, + 1, + 1 + ], + [ + "add", + 641, + 646, + 2, + 1, + 1 + ], + [ + "add", + 640, + 646, + 2, + 1, + 1 + ], + [ + "add", + 476, + 370, + -2, + 1, + 1 + ], + [ + "add", + 375, + 370, + -1, + 1, + 1 + ], + [ + "add", + 422, + 428, + -1, + 1, + 1 + ], + [ + "add", + 316, + 428, + -1, + 1, + 1 + ], + [ + "add", + 310, + 428, + 1, + 1, + 1 + ], + [ + "add", + 462, + 396, + 2, + 1, + 1 + ], + [ + "add", + 390, + 396, + -1, + 1, + 1 + ], + [ + "add", + 463, + 398, + 2, + 1, + 1 + ], + [ + "add", + 388, + 398, + -1, + 1, + 1 + ], + [ + "add", + 381, + 477, + -1, + 2, + 1 + ], + [ + "add", + 659, + 660, + 2, + 1, + 1 + ], + [ + "add", + 660, + 661, + 1, + 1, + 1 + ], + [ + "add", + 658, + 661, + 2, + 1, + 1 + ], + [ + "add", + 660, + 663, + 1, + 1, + 1 + ], + [ + "add", + 658, + 663, + 2, + 1, + 1 + ], + [ + "add", + 656, + 663, + 2, + 1, + 1 + ], + [ + "add", + 660, + 662, + 1, + 1, + 1 + ], + [ + "add", + 658, + 662, + -2, + 1, + 1 + ], + [ + "add", + 657, + 662, + 2, + 1, + 1 + ], + [ + "add", + 656, + 662, + 2, + 1, + 1 + ], + [ + "add", + 281, + 329, + -1, + 1, + 1 + ], + [ + "add", + 268, + 329, + -1, + 1, + 1 + ], + [ + "add", + 262, + 329, + -1, + 1, + 1 + ], + [ + "add", + 464, + 380, + 2, + 1, + 1 + ], + [ + "add", + 374, + 380, + -1, + 1, + 1 + ], + [ + "add", + 381, + 383, + -1, + 1, + 1 + ], + [ + "add", + 380, + 383, + -1, + 1, + 1 + ], + [ + "add", + 374, + 383, + -1, + 1, + 1 + ], + [ + "add", + 372, + 383, + 2, + 1, + 1 + ], + [ + "add", + 368, + 383, + -1, + 1, + 1 + ], + [ + "add", + 255, + 383, + -1, + 1, + 1 + ], + [ + "add", + 254, + 383, + -1, + 1, + 1 + ], + [ + "add", + 253, + 383, + 1, + 1, + 1 + ], + [ + "add", + 252, + 383, + 1, + 1, + 1 + ], + [ + "add", + 246, + 383, + 1, + 1, + 1 + ], + [ + "add", + 244, + 383, + -1, + 1, + 1 + ], + [ + "add", + 343, + 391, + -1, + 2, + 1 + ], + [ + "add", + 338, + 391, + -1, + 2, + 1 + ], + [ + "add", + 270, + 391, + 1, + 2, + 1 + ], + [ + "add", + 260, + 391, + -1, + 2, + 1 + ], + [ + "add", + 474, + 386, + -2, + 1, + 1 + ], + [ + "add", + 391, + 386, + -1, + 1, + 1 + ], + [ + "add", + 340, + 350, + -1, + 1, + 1 + ], + [ + "add", + 247, + 350, + 1, + 1, + 1 + ], + [ + "add", + 242, + 350, + 1, + 1, + 1 + ], + [ + "add", + 465, + 382, + 2, + 1, + 1 + ], + [ + "add", + 372, + 382, + -1, + 1, + 1 + ], + [ + "add", + 397, + 475, + -1, + 2, + 1 + ], + [ + "add", + 667, + 668, + 2, + 1, + 1 + ], + [ + "add", + 668, + 671, + 1, + 1, + 1 + ], + [ + "add", + 664, + 671, + 2, + 1, + 1 + ], + [ + "add", + 668, + 669, + 1, + 1, + 1 + ], + [ + "add", + 666, + 669, + 2, + 1, + 1 + ], + [ + "add", + 664, + 669, + 2, + 1, + 1 + ], + [ + "add", + 668, + 670, + 1, + 1, + 1 + ], + [ + "add", + 666, + 670, + -2, + 1, + 1 + ], + [ + "add", + 665, + 670, + 2, + 1, + 1 + ], + [ + "add", + 664, + 670, + 2, + 1, + 1 + ], + [ + "add", + 345, + 393, + -1, + 1, + 1 + ], + [ + "add", + 268, + 393, + 1, + 1, + 1 + ], + [ + "add", + 262, + 393, + -1, + 1, + 1 + ], + [ + "add", + 360, + 392, + -1, + 1, + 1 + ], + [ + "add", + 254, + 392, + 1, + 1, + 1 + ], + [ + "add", + 244, + 392, + -1, + 1, + 1 + ], + [ + "add", + 406, + 412, + -1, + 1, + 1 + ], + [ + "add", + 391, + 412, + -1, + 1, + 1 + ], + [ + "add", + 386, + 412, + 1, + 1, + 1 + ], + [ + "add", + 475, + 322, + 2, + 1, + 1 + ], + [ + "add", + 279, + 322, + -1, + 2, + 1 + ], + [ + "add", + 274, + 322, + -1, + 2, + 1 + ], + [ + "add", + 264, + 322, + -1, + 2, + 1 + ], + [ + "add", + 256, + 322, + -1, + 2, + 1 + ], + [ + "add", + 480, + 523, + -1, + 1, + 1 + ], + [ + "add", + 322, + 523, + -1, + 1, + 1 + ], + [ + "add", + 469, + 318, + -1, + 1, + 1 + ], + [ + "add", + 308, + 318, + -1, + 1, + 1 + ], + [ + "add", + 481, + 333, + -1, + 1, + 1 + ], + [ + "add", + 699, + 700, + -1, + 1, + 1 + ], + [ + "add", + 700, + 703, + 1, + 1, + 1 + ], + [ + "add", + 696, + 703, + -1, + 1, + 1 + ], + [ + "add", + 700, + 701, + 1, + 1, + 1 + ], + [ + "add", + 698, + 701, + -1, + 1, + 1 + ], + [ + "add", + 696, + 701, + -1, + 1, + 1 + ], + [ + "add", + 700, + 702, + 1, + 1, + 1 + ], + [ + "add", + 698, + 702, + 1, + 1, + 1 + ], + [ + "add", + 697, + 702, + -1, + 1, + 1 + ], + [ + "add", + 696, + 702, + -1, + 1, + 1 + ], + [ + "add", + 619, + 620, + -1, + 1, + 1 + ], + [ + "add", + 620, + 621, + 1, + 1, + 1 + ], + [ + "add", + 618, + 621, + -1, + 1, + 1 + ], + [ + "add", + 620, + 623, + 1, + 1, + 1 + ], + [ + "add", + 618, + 623, + -1, + 1, + 1 + ], + [ + "add", + 616, + 623, + -1, + 1, + 1 + ], + [ + "add", + 620, + 622, + 1, + 1, + 1 + ], + [ + "add", + 618, + 622, + 1, + 1, + 1 + ], + [ + "add", + 617, + 622, + -1, + 1, + 1 + ], + [ + "add", + 616, + 622, + -1, + 1, + 1 + ], + [ + "add", + 477, + 365, + -2, + 1, + 1 + ], + [ + "add", + 263, + 365, + 1, + 1, + 1 + ], + [ + "add", + 258, + 365, + 1, + 1, + 1 + ], + [ + "add", + 651, + 652, + 2, + 1, + 1 + ], + [ + "add", + 652, + 653, + 1, + 1, + 1 + ], + [ + "add", + 650, + 653, + 2, + 1, + 1 + ], + [ + "add", + 652, + 655, + 1, + 1, + 1 + ], + [ + "add", + 650, + 655, + 2, + 1, + 1 + ], + [ + "add", + 648, + 655, + 2, + 1, + 1 + ], + [ + "add", + 652, + 654, + 1, + 1, + 1 + ], + [ + "add", + 650, + 654, + -2, + 1, + 1 + ], + [ + "add", + 649, + 654, + 2, + 1, + 1 + ], + [ + "add", + 648, + 654, + 2, + 1, + 1 + ], + [ + "add", + 230, + 236, + -1, + 1, + 1 + ], + [ + "add", + 511, + 407, + -1, + 1, + 1 + ], + [ + "add", + 375, + 407, + -1, + 1, + 1 + ], + [ + "add", + 370, + 407, + 1, + 1, + 1 + ], + [ + "add", + 365, + 407, + 1, + 1, + 1 + ], + [ + "add", + 306, + 407, + 1, + 1, + 1 + ], + [ + "add", + 301, + 407, + 1, + 1, + 1 + ], + [ + "scale", + 407, + 2, + 1, + 1 + ], + [ + "add", + 409, + 411, + 1, + 1, + 1 + ], + [ + "add", + 407, + 411, + -1, + 1, + 1 + ], + [ + "add", + 406, + 411, + 1, + 1, + 1 + ], + [ + "add", + 404, + 411, + -1, + 1, + 1 + ], + [ + "add", + 400, + 411, + -1, + 1, + 1 + ], + [ + "add", + 397, + 411, + -1, + 1, + 1 + ], + [ + "add", + 333, + 411, + -1, + 1, + 1 + ], + [ + "add", + 239, + 411, + -1, + 1, + 1 + ], + [ + "add", + 236, + 411, + -1, + 1, + 1 + ], + [ + "add", + 230, + 411, + 1, + 1, + 1 + ], + [ + "add", + 224, + 411, + -1, + 1, + 1 + ], + [ + "add", + 491, + 527, + -1, + 1, + 1 + ], + [ + "add", + 317, + 479, + 1, + 1, + 1 + ], + [ + "add", + 515, + 503, + 1, + 1, + 1 + ], + [ + "add", + 502, + 514, + -1, + 1, + 1 + ], + [ + "add", + 490, + 526, + -1, + 1, + 1 + ], + [ + "add", + 707, + 708, + -1, + 1, + 1 + ], + [ + "add", + 708, + 709, + 1, + 1, + 1 + ], + [ + "add", + 706, + 709, + -1, + 1, + 1 + ], + [ + "add", + 708, + 711, + 1, + 1, + 1 + ], + [ + "add", + 706, + 711, + -1, + 1, + 1 + ], + [ + "add", + 704, + 711, + -1, + 1, + 1 + ], + [ + "add", + 708, + 710, + 1, + 1, + 1 + ], + [ + "add", + 706, + 710, + 1, + 1, + 1 + ], + [ + "add", + 705, + 710, + -1, + 1, + 1 + ], + [ + "add", + 704, + 710, + -1, + 1, + 1 + ], + [ + "add", + 635, + 636, + -1, + 1, + 1 + ], + [ + "add", + 636, + 639, + 1, + 1, + 1 + ], + [ + "add", + 632, + 639, + -1, + 1, + 1 + ], + [ + "add", + 636, + 638, + 1, + 1, + 1 + ], + [ + "add", + 633, + 638, + -1, + 1, + 1 + ], + [ + "add", + 632, + 638, + -1, + 1, + 1 + ], + [ + "add", + 636, + 637, + 1, + 1, + 1 + ], + [ + "add", + 634, + 637, + -1, + 1, + 1 + ], + [ + "add", + 633, + 637, + 1, + 1, + 1 + ], + [ + "add", + 632, + 637, + -1, + 1, + 1 + ], + [ + "add", + 466, + 332, + -1, + 1, + 1 + ], + [ + "add", + 326, + 332, + -1, + 1, + 1 + ], + [ + "add", + 467, + 334, + -1, + 1, + 1 + ], + [ + "add", + 324, + 334, + -1, + 1, + 1 + ], + [ + "add", + 691, + 692, + -1, + 1, + 1 + ], + [ + "add", + 692, + 694, + 1, + 1, + 1 + ], + [ + "add", + 689, + 694, + -1, + 1, + 1 + ], + [ + "add", + 692, + 695, + 1, + 1, + 1 + ], + [ + "add", + 689, + 695, + 1, + 1, + 1 + ], + [ + "add", + 688, + 695, + -1, + 1, + 1 + ], + [ + "add", + 692, + 693, + 1, + 1, + 1 + ], + [ + "add", + 690, + 693, + -1, + 1, + 1 + ], + [ + "add", + 689, + 693, + 1, + 1, + 1 + ], + [ + "add", + 688, + 693, + -1, + 1, + 1 + ], + [ + "add", + 380, + 418, + 1, + 2, + 1 + ], + [ + "add", + 374, + 418, + -1, + 2, + 1 + ], + [ + "add", + 350, + 418, + 1, + 2, + 1 + ], + [ + "add", + 340, + 418, + -1, + 2, + 1 + ], + [ + "add", + 332, + 418, + 1, + 2, + 1 + ], + [ + "add", + 326, + 418, + -1, + 2, + 1 + ], + [ + "add", + 302, + 418, + 1, + 2, + 1 + ], + [ + "add", + 292, + 418, + -1, + 2, + 1 + ], + [ + "add", + 418, + 423, + -1, + 1, + 1 + ], + [ + "add", + 380, + 423, + -1, + 1, + 1 + ], + [ + "add", + 374, + 423, + 1, + 1, + 1 + ], + [ + "add", + 332, + 423, + -1, + 1, + 1 + ], + [ + "add", + 326, + 423, + 1, + 1, + 1 + ], + [ + "add", + 420, + 430, + -1, + 1, + 1 + ], + [ + "add", + 398, + 430, + -1, + 1, + 1 + ], + [ + "add", + 388, + 430, + 1, + 1, + 1 + ], + [ + "add", + 318, + 430, + -1, + 1, + 1 + ], + [ + "add", + 308, + 430, + 1, + 1, + 1 + ], + [ + "add", + 529, + 505, + 1, + 1, + 1 + ], + [ + "add", + 493, + 517, + -1, + 1, + 1 + ], + [ + "add", + 504, + 528, + -1, + 1, + 1 + ], + [ + "add", + 492, + 516, + -1, + 1, + 1 + ], + [ + "add", + 715, + 716, + -1, + 1, + 1 + ], + [ + "add", + 716, + 719, + 1, + 1, + 1 + ], + [ + "add", + 712, + 719, + -1, + 1, + 1 + ], + [ + "add", + 716, + 718, + 1, + 1, + 1 + ], + [ + "add", + 713, + 718, + -1, + 1, + 1 + ], + [ + "add", + 712, + 718, + -1, + 1, + 1 + ], + [ + "add", + 716, + 717, + 1, + 1, + 1 + ], + [ + "add", + 714, + 717, + -1, + 1, + 1 + ], + [ + "add", + 713, + 717, + 1, + 1, + 1 + ], + [ + "add", + 712, + 717, + -1, + 1, + 1 + ], + [ + "add", + 627, + 628, + -1, + 1, + 1 + ], + [ + "add", + 628, + 629, + 1, + 1, + 1 + ], + [ + "add", + 626, + 629, + -1, + 1, + 1 + ], + [ + "add", + 628, + 631, + 1, + 1, + 1 + ], + [ + "add", + 626, + 631, + -1, + 1, + 1 + ], + [ + "add", + 624, + 631, + -1, + 1, + 1 + ], + [ + "add", + 628, + 630, + 1, + 1, + 1 + ], + [ + "add", + 626, + 630, + 1, + 1, + 1 + ], + [ + "add", + 625, + 630, + -1, + 1, + 1 + ], + [ + "add", + 624, + 630, + -1, + 1, + 1 + ], + [ + "add", + 467, + 376, + -2, + 1, + 1 + ], + [ + "add", + 344, + 376, + -1, + 1, + 1 + ], + [ + "add", + 253, + 376, + 1, + 1, + 1 + ], + [ + "add", + 491, + 408, + -2, + 1, + 1 + ], + [ + "add", + 349, + 408, + 1, + 1, + 1 + ], + [ + "add", + 285, + 408, + 1, + 1, + 1 + ], + [ + "add", + 107, + 24, + -1, + 1, + 1 + ], + [ + "add", + 48, + 24, + 1, + 1, + 1 + ], + [ + "add", + 32, + 24, + -1, + 1, + 1 + ], + [ + "add", + 95, + 66, + -1, + 1, + 1 + ], + [ + "add", + 67, + 66, + 1, + 1, + 1 + ], + [ + "add", + 3, + 66, + -1, + 1, + 1 + ], + [ + "add", + 100, + 38, + 1, + 1, + 1 + ], + [ + "add", + 56, + 38, + -1, + 1, + 1 + ], + [ + "add", + 17, + 38, + -1, + 1, + 1 + ], + [ + "add", + 82, + 28, + 1, + 1, + 1 + ], + [ + "add", + 75, + 28, + -1, + 1, + 1 + ], + [ + "add", + 58, + 28, + -1, + 1, + 1 + ], + [ + "add", + 366, + 363, + -1, + 1, + 1 + ], + [ + "add", + 361, + 363, + 1, + 1, + 1 + ], + [ + "add", + 359, + 363, + -1, + 1, + 1 + ], + [ + "add", + 358, + 363, + 1, + 1, + 1 + ], + [ + "add", + 352, + 363, + -1, + 1, + 1 + ], + [ + "add", + 239, + 363, + -1, + 1, + 1 + ], + [ + "add", + 238, + 363, + -1, + 1, + 1 + ], + [ + "add", + 236, + 363, + 1, + 1, + 1 + ], + [ + "add", + 230, + 363, + 1, + 1, + 1 + ], + [ + "add", + 228, + 363, + -1, + 1, + 1 + ], + [ + "add", + 224, + 363, + 1, + 1, + 1 + ], + [ + "add", + 302, + 299, + -1, + 1, + 1 + ], + [ + "add", + 297, + 299, + 1, + 1, + 1 + ], + [ + "add", + 295, + 299, + -1, + 1, + 1 + ], + [ + "add", + 294, + 299, + 1, + 1, + 1 + ], + [ + "add", + 288, + 299, + -1, + 1, + 1 + ], + [ + "add", + 239, + 299, + -1, + 1, + 1 + ], + [ + "add", + 238, + 299, + -1, + 1, + 1 + ], + [ + "add", + 236, + 299, + 1, + 1, + 1 + ], + [ + "add", + 230, + 299, + 1, + 1, + 1 + ], + [ + "add", + 228, + 299, + -1, + 1, + 1 + ], + [ + "add", + 224, + 299, + 1, + 1, + 1 + ], + [ + "add", + 286, + 287, + 1, + 1, + 1 + ], + [ + "add", + 285, + 287, + -1, + 1, + 1 + ], + [ + "add", + 284, + 287, + -1, + 1, + 1 + ], + [ + "add", + 278, + 287, + -1, + 1, + 1 + ], + [ + "add", + 276, + 287, + 1, + 1, + 1 + ], + [ + "add", + 255, + 287, + -1, + 1, + 1 + ], + [ + "add", + 254, + 287, + -1, + 1, + 1 + ], + [ + "add", + 253, + 287, + 1, + 1, + 1 + ], + [ + "add", + 252, + 287, + 1, + 1, + 1 + ], + [ + "add", + 246, + 287, + 1, + 1, + 1 + ], + [ + "add", + 244, + 287, + -1, + 1, + 1 + ], + [ + "add", + 302, + 303, + 1, + 1, + 1 + ], + [ + "add", + 301, + 303, + -1, + 1, + 1 + ], + [ + "add", + 300, + 303, + -1, + 1, + 1 + ], + [ + "add", + 294, + 303, + -1, + 1, + 1 + ], + [ + "add", + 292, + 303, + 1, + 1, + 1 + ], + [ + "add", + 255, + 303, + -1, + 1, + 1 + ], + [ + "add", + 252, + 303, + -1, + 1, + 1 + ], + [ + "add", + 249, + 303, + 1, + 1, + 1 + ], + [ + "add", + 248, + 303, + 1, + 1, + 1 + ], + [ + "add", + 246, + 303, + 1, + 1, + 1 + ], + [ + "add", + 240, + 303, + -1, + 1, + 1 + ], + [ + "add", + 529, + 429, + 2, + 1, + 1 + ], + [ + "add", + 382, + 429, + -1, + 1, + 1 + ], + [ + "add", + 372, + 429, + 1, + 1, + 1 + ], + [ + "add", + 334, + 429, + -1, + 1, + 1 + ], + [ + "add", + 324, + 429, + 1, + 1, + 1 + ], + [ + "add", + 503, + 402, + -2, + 1, + 1 + ], + [ + "add", + 407, + 402, + 1, + 1, + 1 + ], + [ + "add", + 365, + 402, + 1, + 1, + 1 + ], + [ + "add", + 301, + 402, + 1, + 1, + 1 + ], + [ + "add", + 365, + 30, + -1, + 2, + 1 + ], + [ + "add", + 364, + 30, + -1, + 2, + 1 + ], + [ + "add", + 363, + 30, + -1, + 2, + 1 + ], + [ + "add", + 361, + 30, + -1, + 2, + 1 + ], + [ + "add", + 356, + 30, + 1, + 2, + 1 + ], + [ + "add", + 354, + 30, + 1, + 2, + 1 + ], + [ + "add", + 352, + 30, + -1, + 2, + 1 + ], + [ + "add", + 349, + 30, + 1, + 2, + 1 + ], + [ + "add", + 348, + 30, + 1, + 2, + 1 + ], + [ + "add", + 347, + 30, + 1, + 2, + 1 + ], + [ + "add", + 345, + 30, + 1, + 2, + 1 + ], + [ + "add", + 58, + 30, + -1, + 2, + 1 + ], + [ + "add", + 28, + 30, + -1, + 2, + 1 + ], + [ + "add", + 356, + 60, + -1, + 1, + 1 + ], + [ + "add", + 354, + 60, + -1, + 1, + 1 + ], + [ + "add", + 352, + 60, + 1, + 1, + 1 + ], + [ + "add", + 30, + 60, + -1, + 1, + 1 + ], + [ + "add", + 398, + 395, + -1, + 1, + 1 + ], + [ + "add", + 393, + 395, + 1, + 1, + 1 + ], + [ + "add", + 391, + 395, + -1, + 1, + 1 + ], + [ + "add", + 390, + 395, + 1, + 1, + 1 + ], + [ + "add", + 384, + 395, + -1, + 1, + 1 + ], + [ + "add", + 239, + 395, + -1, + 1, + 1 + ], + [ + "add", + 236, + 395, + -1, + 1, + 1 + ], + [ + "add", + 230, + 395, + 1, + 1, + 1 + ], + [ + "add", + 224, + 395, + -1, + 1, + 1 + ], + [ + "add", + 397, + 64, + -1, + 2, + 1 + ], + [ + "add", + 396, + 64, + -1, + 2, + 1 + ], + [ + "add", + 395, + 64, + -1, + 2, + 1 + ], + [ + "add", + 393, + 64, + -1, + 2, + 1 + ], + [ + "add", + 388, + 64, + 1, + 2, + 1 + ], + [ + "add", + 386, + 64, + 1, + 2, + 1 + ], + [ + "add", + 384, + 64, + -1, + 2, + 1 + ], + [ + "add", + 381, + 64, + 1, + 2, + 1 + ], + [ + "add", + 380, + 64, + 1, + 2, + 1 + ], + [ + "add", + 379, + 64, + 1, + 2, + 1 + ], + [ + "add", + 377, + 64, + 1, + 2, + 1 + ], + [ + "add", + 95, + 64, + -1, + 2, + 1 + ], + [ + "add", + 66, + 64, + -1, + 2, + 1 + ], + [ + "add", + 388, + 97, + -1, + 1, + 1 + ], + [ + "add", + 386, + 97, + -1, + 1, + 1 + ], + [ + "add", + 384, + 97, + 1, + 1, + 1 + ], + [ + "add", + 64, + 97, + -1, + 1, + 1 + ], + [ + "add", + 254, + 251, + -1, + 1, + 1 + ], + [ + "add", + 249, + 251, + 1, + 1, + 1 + ], + [ + "add", + 247, + 251, + -1, + 1, + 1 + ], + [ + "add", + 246, + 251, + 1, + 1, + 1 + ], + [ + "add", + 240, + 251, + -1, + 1, + 1 + ], + [ + "add", + 238, + 251, + 1, + 1, + 1 + ], + [ + "add", + 235, + 251, + -1, + 1, + 1 + ], + [ + "add", + 230, + 251, + -1, + 1, + 1 + ], + [ + "add", + 224, + 251, + 1, + 1, + 1 + ], + [ + "add", + 253, + 62, + -1, + 2, + 1 + ], + [ + "add", + 252, + 62, + -1, + 2, + 1 + ], + [ + "add", + 251, + 62, + -1, + 2, + 1 + ], + [ + "add", + 249, + 62, + -1, + 2, + 1 + ], + [ + "add", + 244, + 62, + 1, + 2, + 1 + ], + [ + "add", + 242, + 62, + 1, + 2, + 1 + ], + [ + "add", + 240, + 62, + -1, + 2, + 1 + ], + [ + "add", + 244, + 10, + -1, + 1, + 1 + ], + [ + "add", + 242, + 10, + -1, + 1, + 1 + ], + [ + "add", + 240, + 10, + 1, + 1, + 1 + ], + [ + "add", + 62, + 10, + -1, + 1, + 1 + ], + [ + "add", + 430, + 427, + -1, + 1, + 1 + ], + [ + "add", + 425, + 427, + 1, + 1, + 1 + ], + [ + "add", + 423, + 427, + -1, + 1, + 1 + ], + [ + "add", + 422, + 427, + 1, + 1, + 1 + ], + [ + "add", + 416, + 427, + -1, + 1, + 1 + ], + [ + "add", + 239, + 427, + -1, + 1, + 1 + ], + [ + "add", + 236, + 427, + -1, + 1, + 1 + ], + [ + "add", + 230, + 427, + 1, + 1, + 1 + ], + [ + "add", + 224, + 427, + -1, + 1, + 1 + ], + [ + "add", + 429, + 16, + -1, + 2, + 1 + ], + [ + "add", + 428, + 16, + -1, + 2, + 1 + ], + [ + "add", + 427, + 16, + -1, + 2, + 1 + ], + [ + "add", + 425, + 16, + -1, + 2, + 1 + ], + [ + "add", + 420, + 16, + 1, + 2, + 1 + ], + [ + "add", + 418, + 16, + 1, + 2, + 1 + ], + [ + "add", + 416, + 16, + -1, + 2, + 1 + ], + [ + "add", + 420, + 44, + -1, + 1, + 1 + ], + [ + "add", + 418, + 44, + -1, + 1, + 1 + ], + [ + "add", + 416, + 44, + 1, + 1, + 1 + ], + [ + "add", + 16, + 44, + -1, + 1, + 1 + ], + [ + "add", + 515, + 413, + 2, + 1, + 1 + ], + [ + "add", + 381, + 413, + -1, + 1, + 1 + ], + [ + "add", + 317, + 413, + -1, + 1, + 1 + ], + [ + "add", + 413, + 42, + -1, + 2, + 1 + ], + [ + "add", + 412, + 42, + -1, + 2, + 1 + ], + [ + "add", + 411, + 42, + -1, + 2, + 1 + ], + [ + "add", + 409, + 42, + -1, + 2, + 1 + ], + [ + "add", + 404, + 42, + 1, + 2, + 1 + ], + [ + "add", + 402, + 42, + 1, + 2, + 1 + ], + [ + "add", + 400, + 42, + -1, + 2, + 1 + ], + [ + "add", + 404, + 105, + -1, + 1, + 1 + ], + [ + "add", + 402, + 105, + -1, + 1, + 1 + ], + [ + "add", + 400, + 105, + 1, + 1, + 1 + ], + [ + "add", + 42, + 105, + -1, + 1, + 1 + ], + [ + "add", + 270, + 267, + -1, + 1, + 1 + ], + [ + "add", + 265, + 267, + 1, + 1, + 1 + ], + [ + "add", + 263, + 267, + -1, + 1, + 1 + ], + [ + "add", + 262, + 267, + 1, + 1, + 1 + ], + [ + "add", + 256, + 267, + -1, + 1, + 1 + ], + [ + "add", + 238, + 267, + 1, + 1, + 1 + ], + [ + "add", + 235, + 267, + -1, + 1, + 1 + ], + [ + "add", + 230, + 267, + -1, + 1, + 1 + ], + [ + "add", + 224, + 267, + 1, + 1, + 1 + ], + [ + "add", + 269, + 94, + -1, + 2, + 1 + ], + [ + "add", + 268, + 94, + -1, + 2, + 1 + ], + [ + "add", + 267, + 94, + -1, + 2, + 1 + ], + [ + "add", + 265, + 94, + -1, + 2, + 1 + ], + [ + "add", + 260, + 94, + 1, + 2, + 1 + ], + [ + "add", + 258, + 94, + 1, + 2, + 1 + ], + [ + "add", + 256, + 94, + -1, + 2, + 1 + ], + [ + "add", + 260, + 79, + -1, + 1, + 1 + ], + [ + "add", + 258, + 79, + -1, + 1, + 1 + ], + [ + "add", + 256, + 79, + 1, + 1, + 1 + ], + [ + "add", + 94, + 79, + -1, + 1, + 1 + ], + [ + "add", + 523, + 331, + -1, + 1, + 1 + ], + [ + "add", + 334, + 331, + -1, + 1, + 1 + ], + [ + "add", + 329, + 331, + 1, + 1, + 1 + ], + [ + "add", + 326, + 331, + 1, + 1, + 1 + ], + [ + "add", + 320, + 331, + -1, + 1, + 1 + ], + [ + "add", + 239, + 331, + -1, + 1, + 1 + ], + [ + "add", + 236, + 331, + -1, + 1, + 1 + ], + [ + "add", + 230, + 331, + 1, + 1, + 1 + ], + [ + "add", + 224, + 331, + -1, + 1, + 1 + ], + [ + "add", + 333, + 22, + -1, + 2, + 1 + ], + [ + "add", + 332, + 22, + -1, + 2, + 1 + ], + [ + "add", + 331, + 22, + -1, + 2, + 1 + ], + [ + "add", + 329, + 22, + -1, + 2, + 1 + ], + [ + "add", + 324, + 22, + 1, + 2, + 1 + ], + [ + "add", + 322, + 22, + 1, + 2, + 1 + ], + [ + "add", + 320, + 22, + -1, + 2, + 1 + ], + [ + "add", + 317, + 22, + 1, + 2, + 1 + ], + [ + "add", + 316, + 22, + 1, + 2, + 1 + ], + [ + "add", + 315, + 22, + 1, + 2, + 1 + ], + [ + "add", + 313, + 22, + 1, + 2, + 1 + ], + [ + "add", + 107, + 22, + -1, + 2, + 1 + ], + [ + "add", + 24, + 22, + -1, + 2, + 1 + ], + [ + "add", + 324, + 109, + -1, + 1, + 1 + ], + [ + "add", + 322, + 109, + -1, + 1, + 1 + ], + [ + "add", + 320, + 109, + 1, + 1, + 1 + ], + [ + "add", + 22, + 109, + -1, + 1, + 1 + ], + [ + "add", + 436, + 46, + -1, + 1, + 1 + ], + [ + "add", + 432, + 46, + 1, + 1, + 1 + ], + [ + "add", + 20, + 46, + -1, + 1, + 1 + ], + [ + "add", + 431, + 43, + 1, + 1, + 1 + ], + [ + "add", + 430, + 43, + 1, + 1, + 1 + ], + [ + "add", + 424, + 43, + -1, + 1, + 1 + ], + [ + "add", + 423, + 43, + -1, + 1, + 1 + ], + [ + "add", + 44, + 43, + -1, + 1, + 1 + ], + [ + "add", + 16, + 43, + -1, + 1, + 1 + ], + [ + "scale", + 43, + 2, + 1, + 1 + ], + [ + "add", + 44, + 104, + -1, + 1, + 1 + ], + [ + "add", + 43, + 104, + 1, + 1, + 1 + ], + [ + "add", + 16, + 104, + -1, + 1, + 1 + ], + [ + "add", + 523, + 108, + -1, + 1, + 1 + ], + [ + "add", + 335, + 108, + 1, + 1, + 1 + ], + [ + "add", + 334, + 108, + 1, + 1, + 1 + ], + [ + "add", + 328, + 108, + -1, + 1, + 1 + ], + [ + "add", + 109, + 108, + -1, + 1, + 1 + ], + [ + "add", + 22, + 108, + -1, + 1, + 1 + ], + [ + "scale", + 108, + 2, + 1, + 1 + ], + [ + "add", + 109, + 23, + -1, + 1, + 1 + ], + [ + "add", + 108, + 23, + 1, + 1, + 1 + ], + [ + "add", + 22, + 23, + -1, + 1, + 1 + ], + [ + "add", + 367, + 29, + -1, + 1, + 1 + ], + [ + "add", + 366, + 29, + -1, + 1, + 1 + ], + [ + "add", + 360, + 29, + 1, + 1, + 1 + ], + [ + "add", + 359, + 29, + 1, + 1, + 1 + ], + [ + "add", + 60, + 29, + -1, + 1, + 1 + ], + [ + "add", + 30, + 29, + -1, + 1, + 1 + ], + [ + "scale", + 29, + 2, + 1, + 1 + ], + [ + "add", + 60, + 59, + -1, + 1, + 1 + ], + [ + "add", + 30, + 59, + -1, + 1, + 1 + ], + [ + "add", + 29, + 59, + 1, + 1, + 1 + ], + [ + "add", + 511, + 45, + -1, + 1, + 1 + ], + [ + "add", + 319, + 45, + 1, + 1, + 1 + ], + [ + "add", + 318, + 45, + 1, + 1, + 1 + ], + [ + "add", + 312, + 45, + -1, + 1, + 1 + ], + [ + "add", + 107, + 45, + -1, + 1, + 1 + ], + [ + "add", + 24, + 45, + -1, + 1, + 1 + ], + [ + "scale", + 45, + 2, + 1, + 1 + ], + [ + "add", + 107, + 35, + -1, + 1, + 1 + ], + [ + "add", + 45, + 35, + 1, + 1, + 1 + ], + [ + "add", + 24, + 35, + -1, + 1, + 1 + ], + [ + "add", + 271, + 9, + -1, + 1, + 1 + ], + [ + "add", + 270, + 9, + -1, + 1, + 1 + ], + [ + "add", + 264, + 9, + 1, + 1, + 1 + ], + [ + "add", + 263, + 9, + 1, + 1, + 1 + ], + [ + "add", + 94, + 9, + -1, + 1, + 1 + ], + [ + "add", + 79, + 9, + -1, + 1, + 1 + ], + [ + "scale", + 9, + 2, + 1, + 1 + ], + [ + "add", + 94, + 61, + -1, + 1, + 1 + ], + [ + "add", + 79, + 61, + -1, + 1, + 1 + ], + [ + "add", + 9, + 61, + 1, + 1, + 1 + ], + [ + "add", + 527, + 414, + 2, + 1, + 1 + ], + [ + "add", + 404, + 414, + -1, + 1, + 1 + ], + [ + "add", + 397, + 414, + -1, + 1, + 1 + ], + [ + "add", + 333, + 414, + -1, + 1, + 1 + ], + [ + "add", + 415, + 41, + 1, + 1, + 1 + ], + [ + "add", + 414, + 41, + 1, + 1, + 1 + ], + [ + "add", + 408, + 41, + -1, + 1, + 1 + ], + [ + "add", + 407, + 41, + -1, + 1, + 1 + ], + [ + "add", + 105, + 41, + -1, + 1, + 1 + ], + [ + "add", + 42, + 41, + -1, + 1, + 1 + ], + [ + "scale", + 41, + 2, + 1, + 1 + ], + [ + "add", + 105, + 106, + -1, + 1, + 1 + ], + [ + "add", + 42, + 106, + -1, + 1, + 1 + ], + [ + "add", + 41, + 106, + 1, + 1, + 1 + ], + [ + "add", + 351, + 86, + -1, + 1, + 1 + ], + [ + "add", + 350, + 86, + -1, + 1, + 1 + ], + [ + "add", + 344, + 86, + 1, + 1, + 1 + ], + [ + "add", + 343, + 86, + 1, + 1, + 1 + ], + [ + "add", + 58, + 86, + -1, + 1, + 1 + ], + [ + "add", + 28, + 86, + -1, + 1, + 1 + ], + [ + "scale", + 86, + 2, + 1, + 1 + ], + [ + "add", + 86, + 93, + 1, + 1, + 1 + ], + [ + "add", + 58, + 93, + -1, + 1, + 1 + ], + [ + "add", + 28, + 93, + -1, + 1, + 1 + ], + [ + "add", + 399, + 96, + 1, + 1, + 1 + ], + [ + "add", + 398, + 96, + 1, + 1, + 1 + ], + [ + "add", + 392, + 96, + -1, + 1, + 1 + ], + [ + "add", + 391, + 96, + -1, + 1, + 1 + ], + [ + "add", + 97, + 96, + -1, + 1, + 1 + ], + [ + "add", + 64, + 96, + -1, + 1, + 1 + ], + [ + "scale", + 96, + 2, + 1, + 1 + ], + [ + "add", + 97, + 65, + -1, + 1, + 1 + ], + [ + "add", + 96, + 65, + 1, + 1, + 1 + ], + [ + "add", + 64, + 65, + -1, + 1, + 1 + ], + [ + "add", + 352, + 73, + -1, + 1, + 1 + ], + [ + "add", + 340, + 73, + 1, + 2, + 1 + ], + [ + "add", + 338, + 73, + 1, + 2, + 1 + ], + [ + "add", + 336, + 73, + 1, + 2, + 1 + ], + [ + "add", + 82, + 73, + -1, + 2, + 1 + ], + [ + "add", + 75, + 73, + -1, + 2, + 1 + ], + [ + "add", + 356, + 84, + -1, + 1, + 1 + ], + [ + "add", + 354, + 84, + -1, + 1, + 1 + ], + [ + "add", + 352, + 84, + 1, + 1, + 1 + ], + [ + "add", + 73, + 84, + -1, + 1, + 1 + ], + [ + "add", + 384, + 5, + -1, + 1, + 1 + ], + [ + "add", + 372, + 5, + 1, + 2, + 1 + ], + [ + "add", + 370, + 5, + 1, + 2, + 1 + ], + [ + "add", + 368, + 5, + 1, + 2, + 1 + ], + [ + "add", + 67, + 5, + -1, + 2, + 1 + ], + [ + "add", + 3, + 5, + -1, + 2, + 1 + ], + [ + "add", + 388, + 69, + -1, + 1, + 1 + ], + [ + "add", + 386, + 69, + -1, + 1, + 1 + ], + [ + "add", + 384, + 69, + 1, + 1, + 1 + ], + [ + "add", + 5, + 69, + -1, + 1, + 1 + ], + [ + "add", + 320, + 34, + -1, + 1, + 1 + ], + [ + "add", + 308, + 34, + 1, + 2, + 1 + ], + [ + "add", + 306, + 34, + 1, + 2, + 1 + ], + [ + "add", + 304, + 34, + 1, + 2, + 1 + ], + [ + "add", + 48, + 34, + -1, + 2, + 1 + ], + [ + "add", + 32, + 34, + -1, + 2, + 1 + ], + [ + "add", + 324, + 50, + -1, + 1, + 1 + ], + [ + "add", + 322, + 50, + -1, + 1, + 1 + ], + [ + "add", + 320, + 50, + 1, + 1, + 1 + ], + [ + "add", + 34, + 50, + -1, + 1, + 1 + ], + [ + "add", + 542, + 554, + -1, + 1, + 1 + ], + [ + "add", + 519, + 531, + -1, + 1, + 1 + ], + [ + "add", + 723, + 724, + -1, + 1, + 1 + ], + [ + "add", + 724, + 725, + 1, + 1, + 1 + ], + [ + "add", + 722, + 725, + -1, + 1, + 1 + ], + [ + "add", + 724, + 726, + 1, + 1, + 1 + ], + [ + "add", + 722, + 726, + 1, + 1, + 1 + ], + [ + "add", + 721, + 726, + -1, + 1, + 1 + ], + [ + "add", + 726, + 506, + -1, + 1, + 1 + ], + [ + "add", + 724, + 506, + -1, + 1, + 1 + ], + [ + "add", + 722, + 506, + -1, + 1, + 1 + ], + [ + "add", + 494, + 506, + -1, + 1, + 1 + ], + [ + "add", + 506, + 54, + 1, + 2, + 1 + ], + [ + "add", + 288, + 54, + -1, + 1, + 1 + ], + [ + "add", + 276, + 54, + 1, + 2, + 1 + ], + [ + "add", + 274, + 54, + 1, + 2, + 1 + ], + [ + "add", + 272, + 54, + 1, + 2, + 1 + ], + [ + "add", + 100, + 54, + -1, + 2, + 1 + ], + [ + "add", + 56, + 54, + -1, + 2, + 1 + ], + [ + "add", + 506, + 102, + -1, + 1, + 1 + ], + [ + "add", + 292, + 102, + -1, + 1, + 1 + ], + [ + "add", + 290, + 102, + -1, + 1, + 1 + ], + [ + "add", + 288, + 102, + 1, + 1, + 1 + ], + [ + "add", + 54, + 102, + -1, + 1, + 1 + ], + [ + "add", + 301, + 40, + -1, + 2, + 1 + ], + [ + "add", + 300, + 40, + -1, + 2, + 1 + ], + [ + "add", + 299, + 40, + -1, + 2, + 1 + ], + [ + "add", + 297, + 40, + -1, + 2, + 1 + ], + [ + "add", + 285, + 40, + 1, + 2, + 1 + ], + [ + "add", + 284, + 40, + 1, + 2, + 1 + ], + [ + "add", + 283, + 40, + 1, + 2, + 1 + ], + [ + "add", + 281, + 40, + 1, + 2, + 1 + ], + [ + "add", + 102, + 40, + 1, + 2, + 1 + ], + [ + "add", + 54, + 40, + -1, + 2, + 1 + ], + [ + "add", + 38, + 40, + -1, + 2, + 1 + ], + [ + "add", + 17, + 40, + -1, + 2, + 1 + ], + [ + "add", + 102, + 19, + -1, + 1, + 1 + ], + [ + "add", + 54, + 19, + 1, + 1, + 1 + ], + [ + "add", + 40, + 19, + -1, + 1, + 1 + ], + [ + "add", + 303, + 39, + -1, + 1, + 1 + ], + [ + "add", + 302, + 39, + -1, + 1, + 1 + ], + [ + "add", + 296, + 39, + 1, + 1, + 1 + ], + [ + "add", + 295, + 39, + 1, + 1, + 1 + ], + [ + "add", + 40, + 39, + -1, + 1, + 1 + ], + [ + "add", + 19, + 39, + -1, + 1, + 1 + ], + [ + "scale", + 39, + 2, + 1, + 1 + ], + [ + "add", + 40, + 18, + -1, + 1, + 1 + ], + [ + "add", + 39, + 18, + 1, + 1, + 1 + ], + [ + "add", + 19, + 18, + -1, + 1, + 1 + ], + [ + "add", + 724, + 727, + 1, + 1, + 1 + ], + [ + "add", + 722, + 727, + -1, + 1, + 1 + ], + [ + "add", + 721, + 727, + 1, + 1, + 1 + ], + [ + "add", + 720, + 727, + -1, + 1, + 1 + ], + [ + "add", + 727, + 495, + -1, + 1, + 1 + ], + [ + "add", + 724, + 495, + -1, + 1, + 1 + ], + [ + "add", + 722, + 495, + 1, + 1, + 1 + ], + [ + "add", + 721, + 495, + -2, + 1, + 1 + ], + [ + "add", + 507, + 495, + 1, + 1, + 1 + ], + [ + "add", + 495, + 77, + -1, + 1, + 1 + ], + [ + "add", + 287, + 77, + -1, + 1, + 1 + ], + [ + "add", + 286, + 77, + -1, + 1, + 1 + ], + [ + "add", + 280, + 77, + 1, + 1, + 1 + ], + [ + "add", + 279, + 77, + 1, + 1, + 1 + ], + [ + "add", + 38, + 77, + -1, + 1, + 1 + ], + [ + "add", + 17, + 77, + -1, + 1, + 1 + ], + [ + "scale", + 77, + 2, + 1, + 1 + ], + [ + "add", + 77, + 103, + 1, + 1, + 1 + ], + [ + "add", + 38, + 103, + -1, + 1, + 1 + ], + [ + "add", + 17, + 103, + -1, + 1, + 1 + ], + [ + "add", + 495, + 26, + -1, + 1, + 1 + ], + [ + "add", + 383, + 26, + -1, + 1, + 1 + ], + [ + "add", + 382, + 26, + -1, + 1, + 1 + ], + [ + "add", + 376, + 26, + 1, + 1, + 1 + ], + [ + "add", + 375, + 26, + 1, + 1, + 1 + ], + [ + "add", + 95, + 26, + -1, + 1, + 1 + ], + [ + "add", + 66, + 26, + -1, + 1, + 1 + ], + [ + "scale", + 26, + 2, + 1, + 1 + ], + [ + "add", + 95, + 8, + -1, + 1, + 1 + ], + [ + "add", + 66, + 8, + -1, + 1, + 1 + ], + [ + "add", + 26, + 8, + 1, + 1, + 1 + ], + [ + "add", + 255, + 63, + 1, + 1, + 1 + ], + [ + "add", + 254, + 63, + 1, + 1, + 1 + ], + [ + "add", + 248, + 63, + -1, + 1, + 1 + ], + [ + "add", + 247, + 63, + -1, + 1, + 1 + ], + [ + "add", + 62, + 63, + -1, + 1, + 1 + ], + [ + "add", + 10, + 63, + -1, + 1, + 1 + ], + [ + "scale", + 63, + 2, + 1, + 1 + ], + [ + "add", + 63, + 11, + 1, + 1, + 1 + ], + [ + "add", + 62, + 11, + -1, + 1, + 1 + ], + [ + "add", + 10, + 11, + -1, + 1, + 1 + ], + [ + "add", + 224, + 76, + -1, + 1, + 1 + ], + [ + "add", + 228, + 87, + -1, + 1, + 1 + ], + [ + "add", + 224, + 87, + 1, + 1, + 1 + ], + [ + "add", + 76, + 87, + -1, + 1, + 1 + ], + [ + "add", + 236, + 57, + -1, + 2, + 1 + ], + [ + "add", + 235, + 57, + -1, + 2, + 1 + ], + [ + "add", + 87, + 57, + 1, + 2, + 1 + ], + [ + "add", + 76, + 57, + -1, + 2, + 1 + ], + [ + "add", + 239, + 92, + 1, + 2, + 1 + ], + [ + "add", + 238, + 92, + 1, + 2, + 1 + ], + [ + "add", + 87, + 92, + -1, + 2, + 1 + ], + [ + "add", + 76, + 92, + 1, + 2, + 1 + ], + [ + "add", + 57, + 92, + -1, + 1, + 1 + ], + [ + "add", + 239, + 81, + -1, + 1, + 1 + ], + [ + "add", + 238, + 81, + -1, + 1, + 1 + ], + [ + "add", + 92, + 81, + -1, + 1, + 1 + ], + [ + "add", + 256, + 2, + -1, + 1, + 1 + ], + [ + "add", + 260, + 25, + -1, + 1, + 1 + ], + [ + "add", + 258, + 25, + -1, + 1, + 1 + ], + [ + "add", + 256, + 25, + 1, + 1, + 1 + ], + [ + "add", + 2, + 25, + -1, + 1, + 1 + ], + [ + "add", + 240, + 71, + -1, + 1, + 1 + ], + [ + "add", + 244, + 90, + -1, + 1, + 1 + ], + [ + "add", + 242, + 90, + -1, + 1, + 1 + ], + [ + "add", + 240, + 90, + 1, + 1, + 1 + ], + [ + "add", + 71, + 90, + -1, + 1, + 1 + ], + [ + "add", + 416, + 78, + -1, + 1, + 1 + ], + [ + "add", + 420, + 99, + -1, + 1, + 1 + ], + [ + "add", + 418, + 99, + -1, + 1, + 1 + ], + [ + "add", + 416, + 99, + 1, + 1, + 1 + ], + [ + "add", + 78, + 99, + -1, + 1, + 1 + ], + [ + "add", + 400, + 14, + -1, + 1, + 1 + ], + [ + "add", + 404, + 52, + -1, + 1, + 1 + ], + [ + "add", + 402, + 52, + -1, + 1, + 1 + ], + [ + "add", + 400, + 52, + 1, + 1, + 1 + ], + [ + "add", + 14, + 52, + -1, + 1, + 1 + ], + [ + "add", + 466, + 558, + -1, + 2, + 1 + ], + [ + "add", + 247, + 558, + 1, + 2, + 1 + ], + [ + "add", + 242, + 558, + -1, + 2, + 1 + ], + [ + "add", + 480, + 572, + -1, + 2, + 1 + ], + [ + "add", + 268, + 572, + 1, + 2, + 1 + ], + [ + "add", + 262, + 572, + -1, + 2, + 1 + ], + [ + "add", + 572, + 573, + -1, + 1, + 1 + ], + [ + "add", + 558, + 573, + 1, + 1, + 1 + ], + [ + "add", + 481, + 573, + -1, + 2, + 1 + ], + [ + "add", + 467, + 573, + 1, + 2, + 1 + ], + [ + "add", + 270, + 573, + 1, + 2, + 1 + ], + [ + "add", + 260, + 573, + -1, + 2, + 1 + ], + [ + "add", + 253, + 573, + -1, + 2, + 1 + ], + [ + "add", + 478, + 560, + -1, + 2, + 1 + ], + [ + "add", + 263, + 560, + 1, + 2, + 1 + ], + [ + "add", + 258, + 560, + -1, + 2, + 1 + ], + [ + "add", + 502, + 584, + -1, + 2, + 1 + ], + [ + "add", + 295, + 584, + 1, + 2, + 1 + ], + [ + "add", + 290, + 584, + -1, + 2, + 1 + ], + [ + "add", + 468, + 570, + -1, + 2, + 1 + ], + [ + "add", + 252, + 570, + 1, + 2, + 1 + ], + [ + "add", + 246, + 570, + -1, + 2, + 1 + ], + [ + "add", + 584, + 585, + 1, + 1, + 1 + ], + [ + "add", + 570, + 585, + -2, + 1, + 1 + ], + [ + "add", + 560, + 585, + 1, + 1, + 1 + ], + [ + "add", + 503, + 585, + -1, + 2, + 1 + ], + [ + "add", + 479, + 585, + 1, + 2, + 1 + ], + [ + "add", + 301, + 585, + 1, + 2, + 1 + ], + [ + "add", + 269, + 585, + -1, + 2, + 1 + ], + [ + "scale", + 233, + 1, + 2, + 1 + ], + [ + "add", + 231, + 226, + -1, + 1, + 1 + ], + [ + "scale", + 232, + 1, + 2, + 1 + ], + [ + "add", + 87, + 7, + -1, + 1, + 1 + ], + [ + "add", + 76, + 7, + 1, + 1, + 1 + ], + [ + "add", + 57, + 7, + -1, + 1, + 1 + ], + [ + "add", + 479, + 561, + -1, + 2, + 1 + ], + [ + "add", + 269, + 561, + 1, + 2, + 1 + ], + [ + "add", + 584, + 595, + 1, + 1, + 1 + ], + [ + "add", + 570, + 595, + -1, + 1, + 1 + ], + [ + "add", + 561, + 595, + 1, + 1, + 1 + ], + [ + "add", + 493, + 595, + -1, + 2, + 1 + ], + [ + "add", + 286, + 595, + 1, + 2, + 1 + ], + [ + "add", + 276, + 595, + -1, + 2, + 1 + ], + [ + "add", + 467, + 559, + -1, + 2, + 1 + ], + [ + "add", + 253, + 559, + 1, + 2, + 1 + ], + [ + "add", + 490, + 582, + -1, + 2, + 1 + ], + [ + "add", + 279, + 582, + 1, + 2, + 1 + ], + [ + "add", + 274, + 582, + -1, + 2, + 1 + ], + [ + "add", + 582, + 597, + 1, + 1, + 1 + ], + [ + "add", + 572, + 597, + -1, + 1, + 1 + ], + [ + "add", + 559, + 597, + 1, + 1, + 1 + ], + [ + "add", + 505, + 597, + -1, + 2, + 1 + ], + [ + "add", + 302, + 597, + 1, + 2, + 1 + ], + [ + "add", + 292, + 597, + -1, + 2, + 1 + ], + [ + "add", + 582, + 596, + 1, + 1, + 1 + ], + [ + "add", + 572, + 596, + 1, + 1, + 1 + ], + [ + "add", + 558, + 596, + -1, + 1, + 1 + ], + [ + "add", + 504, + 596, + -1, + 2, + 1 + ], + [ + "add", + 300, + 596, + 1, + 2, + 1 + ], + [ + "add", + 294, + 596, + -1, + 2, + 1 + ], + [ + "add", + 570, + 571, + -1, + 1, + 1 + ], + [ + "add", + 561, + 571, + 1, + 1, + 1 + ], + [ + "add", + 560, + 571, + 1, + 1, + 1 + ], + [ + "add", + 469, + 571, + -1, + 2, + 1 + ], + [ + "add", + 254, + 571, + 1, + 2, + 1 + ], + [ + "add", + 244, + 571, + -1, + 2, + 1 + ], + [ + "add", + 584, + 594, + 1, + 1, + 1 + ], + [ + "add", + 570, + 594, + -1, + 1, + 1 + ], + [ + "add", + 560, + 594, + 1, + 1, + 1 + ], + [ + "add", + 492, + 594, + -1, + 2, + 1 + ], + [ + "add", + 284, + 594, + 1, + 2, + 1 + ], + [ + "add", + 278, + 594, + -1, + 2, + 1 + ], + [ + "add", + 436, + 447, + 1, + 1, + 1 + ], + [ + "add", + 110, + 447, + -1, + 1, + 1 + ], + [ + "add", + 37, + 447, + 1, + 1, + 1 + ], + [ + "add", + 432, + 21, + -1, + 1, + 1 + ], + [ + "add", + 436, + 47, + -1, + 1, + 1 + ], + [ + "add", + 432, + 47, + 1, + 1, + 1 + ], + [ + "add", + 21, + 47, + -1, + 1, + 1 + ], + [ + "add", + 46, + 443, + -1, + 1, + 1 + ], + [ + "add", + 20, + 443, + -1, + 1, + 1 + ], + [ + "scale", + 518, + 2, + 1, + 1 + ], + [ + "add", + 439, + 434, + -1, + 1, + 1 + ], + [ + "scale", + 440, + 1, + 2, + 1 + ], + [ + "scale", + 441, + 1, + 2, + 1 + ], + [ + "add", + 582, + 583, + 1, + 1, + 1 + ], + [ + "add", + 559, + 583, + 1, + 1, + 1 + ], + [ + "add", + 558, + 583, + -1, + 1, + 1 + ], + [ + "add", + 491, + 583, + -1, + 2, + 1 + ], + [ + "add", + 285, + 583, + 1, + 2, + 1 + ], + [ + "add", + 438, + 444, + -1, + 1, + 1 + ], + [ + "add", + 96, + 68, + -1, + 2, + 1 + ], + [ + "add", + 69, + 68, + -1, + 2, + 1 + ], + [ + "add", + 65, + 68, + 1, + 2, + 1 + ], + [ + "add", + 5, + 68, + -1, + 2, + 1 + ], + [ + "add", + 96, + 4, + 1, + 1, + 1 + ], + [ + "add", + 68, + 4, + -1, + 1, + 1 + ], + [ + "add", + 65, + 4, + -1, + 1, + 1 + ], + [ + "add", + 93, + 6, + -1, + 2, + 1 + ], + [ + "add", + 86, + 6, + 1, + 2, + 1 + ], + [ + "add", + 82, + 6, + -1, + 2, + 1 + ], + [ + "add", + 75, + 6, + -1, + 2, + 1 + ], + [ + "add", + 93, + 1, + 1, + 1, + 1 + ], + [ + "add", + 86, + 1, + -1, + 1, + 1 + ], + [ + "add", + 6, + 1, + -1, + 1, + 1 + ], + [ + "add", + 48, + 98, + -1, + 2, + 1 + ], + [ + "add", + 45, + 98, + -1, + 2, + 1 + ], + [ + "add", + 35, + 98, + 1, + 2, + 1 + ], + [ + "add", + 32, + 98, + -1, + 2, + 1 + ], + [ + "add", + 98, + 85, + -1, + 1, + 1 + ], + [ + "add", + 45, + 85, + 1, + 1, + 1 + ], + [ + "add", + 35, + 85, + -1, + 1, + 1 + ], + [ + "add", + 102, + 101, + -1, + 2, + 1 + ], + [ + "add", + 54, + 101, + -1, + 2, + 1 + ], + [ + "add", + 39, + 101, + 1, + 2, + 1 + ], + [ + "add", + 18, + 101, + -1, + 2, + 1 + ], + [ + "add", + 101, + 55, + -1, + 1, + 1 + ], + [ + "add", + 39, + 55, + -1, + 1, + 1 + ], + [ + "add", + 18, + 55, + 1, + 1, + 1 + ], + [ + "add", + 92, + 0, + -1, + 2, + 1 + ], + [ + "add", + 87, + 0, + -1, + 2, + 1 + ], + [ + "add", + 81, + 0, + 1, + 2, + 1 + ], + [ + "add", + 76, + 0, + -1, + 2, + 1 + ], + [ + "add", + 92, + 27, + 1, + 1, + 1 + ], + [ + "add", + 81, + 27, + -1, + 1, + 1 + ], + [ + "add", + 0, + 27, + -1, + 1, + 1 + ], + [ + "add", + 106, + 15, + 1, + 2, + 1 + ], + [ + "add", + 52, + 15, + -1, + 2, + 1 + ], + [ + "add", + 41, + 15, + -1, + 2, + 1 + ], + [ + "add", + 14, + 15, + -1, + 2, + 1 + ], + [ + "add", + 106, + 53, + -1, + 1, + 1 + ], + [ + "add", + 41, + 53, + 1, + 1, + 1 + ], + [ + "add", + 15, + 53, + -1, + 1, + 1 + ], + [ + "add", + 61, + 72, + -1, + 2, + 1 + ], + [ + "add", + 25, + 72, + -1, + 2, + 1 + ], + [ + "add", + 9, + 72, + 1, + 2, + 1 + ], + [ + "add", + 2, + 72, + -1, + 2, + 1 + ], + [ + "add", + 72, + 89, + -1, + 1, + 1 + ], + [ + "add", + 61, + 89, + 1, + 1, + 1 + ], + [ + "add", + 9, + 89, + -1, + 1, + 1 + ], + [ + "add", + 104, + 13, + 1, + 2, + 1 + ], + [ + "add", + 99, + 13, + -1, + 2, + 1 + ], + [ + "add", + 78, + 13, + -1, + 2, + 1 + ], + [ + "add", + 43, + 13, + -1, + 2, + 1 + ], + [ + "add", + 104, + 51, + -1, + 1, + 1 + ], + [ + "add", + 43, + 51, + 1, + 1, + 1 + ], + [ + "add", + 13, + 51, + -1, + 1, + 1 + ], + [ + "add", + 436, + 446, + -1, + 1, + 1 + ], + [ + "add", + 103, + 12, + -1, + 2, + 1 + ], + [ + "add", + 100, + 12, + -1, + 2, + 1 + ], + [ + "add", + 77, + 12, + 1, + 2, + 1 + ], + [ + "add", + 56, + 12, + -1, + 2, + 1 + ], + [ + "add", + 103, + 31, + 1, + 1, + 1 + ], + [ + "add", + 77, + 31, + -1, + 1, + 1 + ], + [ + "add", + 12, + 31, + -1, + 1, + 1 + ], + [ + "add", + 110, + 36, + 1, + 2, + 1 + ], + [ + "add", + 47, + 36, + -1, + 2, + 1 + ], + [ + "add", + 37, + 36, + -1, + 2, + 1 + ], + [ + "add", + 21, + 36, + -1, + 2, + 1 + ], + [ + "add", + 110, + 111, + -1, + 1, + 1 + ], + [ + "add", + 37, + 111, + 1, + 1, + 1 + ], + [ + "add", + 36, + 111, + -1, + 1, + 1 + ], + [ + "add", + 108, + 49, + -1, + 2, + 1 + ], + [ + "add", + 50, + 49, + -1, + 2, + 1 + ], + [ + "add", + 34, + 49, + -1, + 2, + 1 + ], + [ + "add", + 23, + 49, + 1, + 2, + 1 + ], + [ + "add", + 108, + 33, + 1, + 1, + 1 + ], + [ + "add", + 49, + 33, + -1, + 1, + 1 + ], + [ + "add", + 23, + 33, + -1, + 1, + 1 + ], + [ + "add", + 90, + 70, + -1, + 2, + 1 + ], + [ + "add", + 71, + 70, + -1, + 2, + 1 + ], + [ + "add", + 63, + 70, + -1, + 2, + 1 + ], + [ + "add", + 11, + 70, + 1, + 2, + 1 + ], + [ + "add", + 70, + 91, + -1, + 1, + 1 + ], + [ + "add", + 63, + 91, + 1, + 1, + 1 + ], + [ + "add", + 11, + 91, + -1, + 1, + 1 + ], + [ + "add", + 84, + 83, + -1, + 2, + 1 + ], + [ + "add", + 73, + 83, + -1, + 2, + 1 + ], + [ + "add", + 59, + 83, + -1, + 2, + 1 + ], + [ + "add", + 29, + 83, + 1, + 2, + 1 + ], + [ + "add", + 83, + 74, + -1, + 1, + 1 + ], + [ + "add", + 59, + 74, + 1, + 1, + 1 + ], + [ + "add", + 29, + 74, + -1, + 1, + 1 + ], + [ + "add", + 67, + 80, + -1, + 2, + 1 + ], + [ + "add", + 26, + 80, + 1, + 2, + 1 + ], + [ + "add", + 8, + 80, + -1, + 2, + 1 + ], + [ + "add", + 3, + 80, + -1, + 2, + 1 + ], + [ + "add", + 80, + 88, + -1, + 1, + 1 + ], + [ + "add", + 26, + 88, + -1, + 1, + 1 + ], + [ + "add", + 8, + 88, + 1, + 1, + 1 + ] + ] +} diff --git a/research/u8-cleanup-markowitz-lpr-seed30/SOURCES.json b/research/u8-cleanup-markowitz-lpr-seed30/SOURCES.json new file mode 100644 index 0000000000..18f8fc51d4 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/SOURCES.json @@ -0,0 +1,35 @@ +{ + "base_commit": "abdc6a7002abdbcd9e21bfc5e1a795784deacfdf", + "selected_frontier_certificate": { + "path": "certificates/selected-result.json", + "sha256": "1d35283cb0ce3f8db1f285683933517f9e87475d295e2b6316399ad9928c81c3" + }, + "replay_bundle": { + "path": "research/community-frontier942-audit/t37-replay.tar.gz", + "sha256": "48285025105210b56a32d3d4d57a21b7591760acc709d38073e4dca339eb06fe", + "members": { + "native/barch/FULL-WORD.json.gz": { + "gz_sha256": "5d063c4cffdf384982c0aaff50aaafc4635442a967d271f83cce47e9fe82fba2", + "content_sha256": "090fd574747fbf9628e70cb9beb792732914cfa52e1df147579fe4dbccc68c5a" + }, + "native/local/CANONICAL-WORD.json.gz": { + "gz_sha256": "387a2266ffe006d20042221d967f67a4b18d9bb8de1cd1e01d4031b539fa74a5", + "content_sha256": "24db880b7dab31e6af4eec8a1aba1bbbae29cd50d9a7b77cf0e9b571b3e5ae7c" + }, + "native/local/RESIDUAL-ADAPTERS.json": { + "sha256": "8b06181f69832da05e3bffab0737598013e20de6f1f48aad43617fbfe62df615" + } + } + }, + "upstream_verifiers": { + "research/complex-sw4-frame8/local/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-sw4-frame8/local/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-sw4-frame8/local/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-sw4-frame8/local/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955" + }, + "recipe": { + "path": "research/u8-cleanup-markowitz-lpr-seed30/RECIPE.json", + "sha256": "d8115995e1db7e962661ff3a435207638704ba8eeb64c531ec5df3ce86b5f08f" + } +} diff --git a/research/u8-cleanup-markowitz-lpr-seed30/VALIDATION.md b/research/u8-cleanup-markowitz-lpr-seed30/VALIDATION.md new file mode 100644 index 0000000000..a028ce9619 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/VALIDATION.md @@ -0,0 +1,76 @@ +# Validation and Verification Guide + +**Package:** `research/u8-cleanup-markowitz-lpr-seed30` +**Base Commit:** `abdc6a7002abdbcd9e21bfc5e1a795784deacfdf` +**Assignment Seed:** `30` (Track `20–39: Complex supplier`) + +--- + +## 1. Reproducible Verification Commands + +Run the complete self-contained verification suite (including `independent.py`, `test_package.py`, and the 4-stage upstream local pipeline) under both standard isolated mode and optimized mode (`-O`, where Python `assert` statements are stripped): + +```bash +python3 -I -B research/u8-cleanup-markowitz-lpr-seed30/verify.py +python3 -I -O -B research/u8-cleanup-markowitz-lpr-seed30/verify.py +``` + +You can also run the code-disjoint integer-lattice verifier and the 12-control adversarial mutation suite standalone: + +```bash +python3 -I -B research/u8-cleanup-markowitz-lpr-seed30/independent.py +python3 -I -B research/u8-cleanup-markowitz-lpr-seed30/test_package.py +``` + +--- + +## 2. Expected Output of `verify.py` + +```json +{ + "status": "PASS_U8_CLEANUP_MARKOWITZ_LPR_REFACTORIZATION", + "seed": 30, + "track": "20-39: Complex supplier", + "base_commit": "abdc6a7002abdbcd9e21bfc5e1a795784deacfdf", + "changes_kappa": false, + "cleanup_macros_before": 6105, + "cleanup_macros_after": 3525, + "cleanup_macros_saved_per_orientation": 2580, + "cleanup_real_primitives_before": 68714, + "cleanup_real_primitives_after": 31394, + "cleanup_real_primitives_saved_per_orientation": 37320, + "full_local_real_primitives_saved_pair": 74640, + "forward_prefix_bits": { + "before": 55, + "after": 51, + "delta": -4 + }, + "backward_prefix_bits": { + "before": 72, + "after": 54, + "delta": -18 + }, + "independent_verifier": "PASS_INDEPENDENT_INTEGER_LATTICE_VERIFICATION", + "negative_controls": { + "upstream_local_rejected": 25, + "upstream_wrapper_rejected": 17, + "package_controls_rejected": 12 + } +} +``` + +--- + +## 3. What Is Checked + +1. **Pin Verification (`SOURCES.json`):** + - Verifies SHA-256 digests of `certificates/selected-result.json`, `research/community-frontier942-audit/t37-replay.tar.gz`, its internal members (`native/barch/FULL-WORD.json.gz`, `native/local/CANONICAL-WORD.json.gz`, `native/local/RESIDUAL-ADAPTERS.json`), `RECIPE.json`, and all upstream verifier scripts. +2. **From-Scratch Synthesis Reproduction (`verify.py`):** + - Reconstructs $M_0 \in GL_{728}(\mathbb{Z}[1/2])$ from the baseline 6,105-gate `cleanup`, runs the seed-30 two-sided Markowitz $R^{-1} P L^{-1}$ Weyl-cycle solver (`trial = 16`, `swap_pen = 6`, `scale_pen = 0`), and checks gate-for-gate equality with `RECIPE.json` (`3,525` gates = `1,744` $R^{-1}$ + `406` $P$ across `61` cycles + `1,375` $L^{-1}$). +3. **Upstream 4-Stage Local Pipeline (`hpe_audit_and_transport.py`, `hpe_emit_local.py`, `hpe_audit_local.py`, `hpe_adapters_local.py`):** + - Splices the 3,525-gate `FULL`-frame cleanup into the raw U8 word while preserving the exact relative positions of the 171 `early_cleanup` gates (`163` before, `8` after). + - Verifies exact arbitrary-dirt endpoint replay across all 728 columns in both orientations, native frame monotonicity (`1,005` frames, `2,949` directed edges), paid recursive child profile (`{1: 2548, 2: 338, 3: 446, 4: 162, 5: 72, 8: 8}`, rank mass `5,634`), byte-identical `RESIDUAL-ADAPTERS.json` (`8b06181f...`), `25` upstream local mutation controls, and `17` upstream Clifford wrapper controls. +4. **Code-Disjoint Pure-Integer Lattice Verifier (`independent.py`):** + - Uses pure integer scaled-row arithmetic `(coeffs_dict, shift)` without `fractions.Fraction` to verify operator equality $\operatorname{Mat}(W_{\text{LPR}}) = \operatorname{Mat}(W_{\text{baseline}})$ in both forward and dual orientations, target/HPE isolation, full 16,609-gate raw U8 endpoint exactness, and binary Horner real-component primitive counts. +5. **12-Control Package Negative Suite (`test_package.py`):** + - Verifies that `drop_R_inv_gate`, `drop_P_cycle_gate`, `drop_L_inv_gate`, `flip_weyl_cycle_sign`, `reverse_R_inv_order`, `cleanup_touches_target`, `cleanup_touches_hpe_helper`, `cleanup_wrong_frame`, `non_dyadic_add_denominator`, `non_power_of_two_scale_numerator`, `self_addition_gate`, and `partial_e4_promotion_claim` are all rejected with their expected failure reasons. diff --git a/research/u8-cleanup-markowitz-lpr-seed30/independent.py b/research/u8-cleanup-markowitz-lpr-seed30/independent.py new file mode 100644 index 0000000000..4a56ab5243 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/independent.py @@ -0,0 +1,286 @@ +#!/usr/bin/env python3 +"""Genuinely independent integer-lattice verifier for u8-cleanup-markowitz-lpr-seed30. + +Disjoint from verify.py and from upstream hpe_*.py: +- Represents each dyadic row vector x in (Z[1/2])^728 as a pair (coeffs, shift) + where coeffs: dict[int, int] maps column index j -> odd/integer numerator c_j in Z + and shift >= 0 is the shared binary exponent such that x_j = c_j / 2^shift. +- Uses no fractions.Fraction in row state evolution. +- Independently checks: + 1. Exact operator equality Mat(W_lpr) == Mat(W_baseline) on all 728 columns + in both forward and dual (inverse-transpose) orientations. + 2. Target isolation (112..223) and hyperplane-ended helper isolation (126 helpers). + 3. Full 16,609-gate raw U8 arbitrary-dirt endpoint replay on all 728 columns + in both forward and backward orientations. + 4. Exact binary Horner real-component primitive bounds for baseline and LPR cleanup. + +Prepared with Gemini 4 Argon assistance. Apache-2.0; see NOTICE.md. +""" +import gzip +import hashlib +import json +import pathlib +import sys +import tarfile + +HERE = pathlib.Path(__file__).resolve().parent +ROOT = HERE.parents[1] + + +def require(cond, msg): + if not cond: + raise RuntimeError(f"INDEPENDENT CHECK FAILED: {msg}") + + +def _normalize_row(coeffs, shift): + clean = {j: val for j, val in coeffs.items() if val != 0} + if not clean: + return {}, 0 + while shift > 0 and all((val & 1) == 0 for val in clean.values()): + clean = {j: val >> 1 for j, val in clean.items()} + shift -= 1 + return clean, shift + + +def init_identity_rows(n): + return [({r: 1}, 0) for r in range(n)] + + +def apply_gate_int(gate, rows): + op = gate[0] + if op == "scale": + dst, num, den = int(gate[1]), int(gate[2]), int(gate[3]) + if den < 0: + num, den = -num, -den + require(num != 0 and (abs(num) & (abs(num) - 1)) == 0, f"non-power-of-two scale num: {gate}") + require(den > 0 and (den & (den - 1)) == 0, f"non-power-of-two scale den: {gate}") + coeffs, shift = rows[dst] + if not coeffs: + return + num_sh = abs(num).bit_length() - 1 + den_sh = den.bit_length() - 1 + sign = -1 if num < 0 else 1 + if num_sh >= den_sh: + mul = sign << (num_sh - den_sh) + new_coeffs = {j: v * mul for j, v in coeffs.items()} + rows[dst] = _normalize_row(new_coeffs, shift) + else: + add_sh = den_sh - num_sh + new_coeffs = {j: v * sign for j, v in coeffs.items()} if sign < 0 else dict(coeffs) + rows[dst] = _normalize_row(new_coeffs, shift + add_sh) + elif op == "add": + dst, src, num, den = int(gate[1]), int(gate[2]), int(gate[3]), int(gate[4]) + if den < 0: + num, den = -num, -den + require(dst != src, f"self-addition gate: {gate}") + require(den > 0 and (den & (den - 1)) == 0, f"non-dyadic add den: {gate}") + if num == 0: + return + s_coeffs, s_shift = rows[src] + if not s_coeffs: + return + d_coeffs, d_shift = rows[dst] + den_sh = den.bit_length() - 1 + term_shift = s_shift + den_sh + target_shift = max(d_shift, term_shift) + d_scale = 1 << (target_shift - d_shift) + t_scale = num * (1 << (target_shift - term_shift)) + merged = {j: v * d_scale for j, v in d_coeffs.items()} if d_scale != 1 else dict(d_coeffs) + for j, v in s_coeffs.items(): + nv = merged.get(j, 0) + v * t_scale + if nv: + merged[j] = nv + else: + merged.pop(j, None) + rows[dst] = _normalize_row(merged, target_shift) + else: + raise RuntimeError(f"unknown gate op: {op}") + + +def dual_gate(gate): + if gate[0] == "add": + return ["add", gate[2], gate[1], -int(gate[3]), int(gate[4])] + list(gate[5:]) + elif gate[0] == "scale": + num, den = int(gate[2]), int(gate[3]) + return ["scale", gate[1], den, num] + list(gate[4:]) + raise RuntimeError(f"unknown gate op: {gate[0]}") + + +def horner_real_primitives(gate): + op = gate[0] + if op == "scale": + num, den = int(gate[2]), int(gate[3]) + if den < 0: + num, den = -num, -den + a = abs(num) + b = den + g = a + x = b + while x: + g, x = x, g % x + a //= g + b //= g + require(a > 0 and (a & (a - 1)) == 0 and (b & (b - 1)) == 0, f"invalid scale: {gate}") + return 2 * (abs(a.bit_length() - b.bit_length()) + (1 if num < 0 else 0)) + elif op == "add": + num, den = int(gate[3]), int(gate[4]) + if den < 0: + num, den = -num, -den + a = abs(num) + b = den + require(a > 0 and b > 0, f"invalid add coeff: {gate}") + g = a + x = b + while x: + g, x = x, g % x + a //= g + b //= g + require((b & (b - 1)) == 0, f"non-dyadic add denominator: {gate}") + return 2 * (3 + (a.bit_length() - 1) + a.bit_count() + (b.bit_length() - 1)) + raise RuntimeError(f"unknown gate op: {op}") + + +def eval_word_int(word, n, backward=False): + rows = init_identity_rows(n) + for g in word: + apply_gate_int(dual_gate(g) if backward else g, rows) + return rows + + +def run_independent_checks(): + sources = json.loads((HERE / "SOURCES.json").read_text()) + expected = json.loads((HERE / "EXPECTED.json").read_text()) + recipe = json.loads((HERE / "RECIPE.json").read_text()) + + tar_path = ROOT / sources["replay_bundle"]["path"] + require( + hashlib.sha256(tar_path.read_bytes()).hexdigest() == sources["replay_bundle"]["sha256"], + "t37-replay.tar.gz sha256 mismatch", + ) + + with tarfile.open(tar_path, "r:gz") as tf: + fw_raw = gzip.decompress(tf.extractfile("native/barch/FULL-WORD.json.gz").read()) + cw_raw = gzip.decompress(tf.extractfile("native/local/CANONICAL-WORD.json.gz").read()) + + require( + hashlib.sha256(fw_raw).hexdigest() + == sources["replay_bundle"]["members"]["native/barch/FULL-WORD.json.gz"]["content_sha256"], + "FULL-WORD.json.gz content sha256 mismatch", + ) + require( + hashlib.sha256(cw_raw).hexdigest() + == sources["replay_bundle"]["members"]["native/local/CANONICAL-WORD.json.gz"]["content_sha256"], + "CANONICAL-WORD.json.gz content sha256 mismatch", + ) + + fw = json.loads(fw_raw.decode()) + cw = json.loads(cw_raw.decode()) + n = 728 + v = 112 + + base_cleanup = cw["cleanup"] + lpr_cleanup = recipe["cleanup_word"] + + require(len(base_cleanup) == 6105, f"expected 6105 baseline cleanup gates, got {len(base_cleanup)}") + require(len(lpr_cleanup) == 3525, f"expected 3525 LPR cleanup gates, got {len(lpr_cleanup)}") + + # 1. Check target isolation and HPE helper isolation on lpr_cleanup + hpe_helpers = {r for r in range(2 * v, n) if cw["final"][r] != 1} + require(len(hpe_helpers) == 126, f"expected 126 HPE helpers, got {len(hpe_helpers)}") + for idx, g in enumerate(lpr_cleanup): + regs = [int(g[1])] + ([int(g[2])] if g[0] == "add" else []) + require(int(g[-1]) == 1, f"gate {idx} not at frame 1: {g}") + for r in regs: + require(0 <= r < n, f"register out of range in gate {idx}: {r}") + require(not (v <= r < 2 * v), f"LPR cleanup gate {idx} touches target register {r}") + require(r not in hpe_helpers, f"LPR cleanup gate {idx} touches HPE helper {r}") + + # 2. Check exact integer-lattice operator equality in both orientations + for backward in (False, True): + rows_base = eval_word_int(base_cleanup, n, backward=backward) + rows_lpr = eval_word_int(lpr_cleanup, n, backward=backward) + require( + rows_base == rows_lpr, + f"cleanup operator mismatch between baseline and LPR (backward={backward})", + ) + + # 3. Check exact Horner primitive bounds + for backward in (False, True): + base_prims = sum(horner_real_primitives(dual_gate(g) if backward else g) for g in base_cleanup) + lpr_prims = sum(horner_real_primitives(dual_gate(g) if backward else g) for g in lpr_cleanup) + require(base_prims == 68714, f"baseline prims mismatch: {base_prims}") + require(lpr_prims == 31394, f"LPR prims mismatch: {lpr_prims}") + + # 4. Full 16,609-gate raw U8 arbitrary-dirt endpoint replay in pure integer arithmetic + tau = lambda x: x ^ (43 if (x & 43).bit_count() % 2 else 0) + ports = cw["ports"] + mapping = {i: ports.index(tau(p)) for i, p in enumerate(fw["ports"])} + mapping.update({v + i: v + mapping[i] for i in range(v)}) + mapping.update({r: r for r in range(2 * v, n)}) + inv_mapping = {can_r: raw_r for raw_r, can_r in mapping.items()} + + main_gates = fw["A"] + fw["cut"] + fw["B"] + mat_main = eval_word_int(main_gates, n, backward=False) + dirty_rows = [({}, 0) for _ in range(n)] + for r in range(v, 2 * v): + c_dict, sh = mat_main[r] + dirty_rows[r] = _normalize_row({j: val for j, val in c_dict.items() if j >= 2 * v}, sh) + for g in fw["precondition"]: + apply_gate_int(g, dirty_rows) + + compensation = [] + for r in range(v, 2 * v): + c_dict, sh = dirty_rows[r] + den = 1 << sh + for j in sorted(c_dict.keys()): + num = -c_dict[j] + g = abs(num) + x = den + while x: + g, x = x, g % x + compensation.append(["add", r, j, num // g, den // g, []]) + + require(len(compensation) == 6320, f"expected 6320 compensation gates, got {len(compensation)}") + + early_tail = [fw["cleanup"][i][:-1] + [f] for i, f in fw["early_cleanup"]] + full_raw_frame = [256, 128, 64, 32, 16, 8, 4, 2, 1] + raw_lpr_rest = [ + ["add", inv_mapping[g[1]], inv_mapping[g[2]], g[3], g[4], full_raw_frame] + if g[0] == "add" + else ["scale", inv_mapping[g[1]], g[2], g[3], full_raw_frame] + for g in lpr_cleanup + ] + + full_program = fw["precondition"] + compensation + main_gates + early_tail + raw_lpr_rest + require(len(full_program) == 16609, f"expected 16609 scalar operations, got {len(full_program)}") + + for backward in (False, True): + actual = eval_word_int(full_program, n, backward=backward) + for r in range(n): + if not backward and v <= r < 2 * v: + exp_row = ({r: 1, r - v: 1}, 0) + elif backward and r < v: + exp_row = ({r: 1, r + v: -1}, 0) + else: + exp_row = ({r: 1}, 0) + require( + actual[r] == exp_row, + f"full program integer endpoint mismatch at row {r} (backward={backward}): got {actual[r]}", + ) + + summary = { + "status": "PASS_INDEPENDENT_INTEGER_LATTICE_VERIFICATION", + "columns_verified_each_orientation": n, + "baseline_cleanup_macros": len(base_cleanup), + "lpr_cleanup_macros": len(lpr_cleanup), + "baseline_cleanup_real_primitives": 68714, + "lpr_cleanup_real_primitives": 31394, + "full_scalar_operations": len(full_program), + "expected_status": expected["status"], + } + print(json.dumps(summary, indent=2), flush=True) + return summary + + +if __name__ == "__main__": + run_independent_checks() diff --git a/research/u8-cleanup-markowitz-lpr-seed30/test_package.py b/research/u8-cleanup-markowitz-lpr-seed30/test_package.py new file mode 100644 index 0000000000..29aee14c30 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/test_package.py @@ -0,0 +1,304 @@ +#!/usr/bin/env python3 +"""Adversarial and negative-control test suite for u8-cleanup-markowitz-lpr-seed30. + +Tests 12 distinct mutations / adversarial controls: +1. drop_R_inv_gate: dropping a right-elimination gate from R^{-1} breaks operator equality. +2. drop_P_cycle_gate: dropping an add gate from a Weyl signed cycle in P breaks operator equality. +3. drop_L_inv_gate: dropping a left-elimination gate from L^{-1} breaks operator equality. +4. flip_weyl_cycle_sign: flipping a Weyl signed swap W_+ to W_- breaks column sign exactness. +5. reverse_R_inv_order: reversing R^{-1} execution order breaks non-commuting column eliminations. +6. cleanup_touches_target: touching a target register (112..223) in cleanup is rejected. +7. cleanup_touches_hpe_helper: touching a hyperplane-ended helper (e.g. 225) in cleanup is rejected. +8. cleanup_wrong_frame: a cleanup gate at frame != 1 (FULL) is rejected. +9. non_dyadic_add_denominator: an add gate with denominator 3 is rejected. +10. non_power_of_two_scale_numerator: a scale gate with numerator 3 is rejected. +11. self_addition_gate: an add gate with dst == src is rejected. +12. partial_e4_promotion_claim: claiming that m in {1, 2, 3} partial E4 promotion avoids extra rank-2/rank-3 climbs is rejected by the climb-splitting check. + +Prepared with Gemini 4 Argon assistance. Apache-2.0; see NOTICE.md. +""" +import copy +import gzip +import json +import pathlib +import sys +import tarfile + +HERE = pathlib.Path(__file__).resolve().parent +ROOT = HERE.parents[1] +if str(HERE) not in sys.path: + sys.path.insert(0, str(HERE)) + +import independent + + +def require(cond, msg): + if not cond: + raise RuntimeError(f"NEGATIVE CONTROL SUITE FAILED: {msg}") + + +def check_cleanup_candidate(candidate_word, base_rows_fwd, base_rows_bwd, hpe_helpers, n=728, v=112): + for idx, g in enumerate(candidate_word): + regs = [int(g[1])] + ([int(g[2])] if g[0] == "add" else []) + independent.require(int(g[-1]) == 1, f"gate {idx} not at frame 1") + for r in regs: + independent.require(not (v <= r < 2 * v), f"touches target register {r}") + independent.require(r not in hpe_helpers, f"touches HPE helper {r}") + independent.horner_real_primitives(g) + + rows_fwd = independent.eval_word_int(candidate_word, n, backward=False) + independent.require(rows_fwd == base_rows_fwd, "forward operator mismatch") + rows_bwd = independent.eval_word_int(candidate_word, n, backward=True) + independent.require(rows_bwd == base_rows_bwd, "backward operator mismatch") + + +def compute_partial_e4_profile_delta(fw, cw, m): + v = 112 + n = 728 + tau = lambda x: x ^ (43 if (x & 43).bit_count() % 2 else 0) + ports = cw["ports"] + mapping = {i: ports.index(tau(p)) for i, p in enumerate(fw["ports"])} + mapping.update({v + i: v + mapping[i] for i in range(v)}) + mapping.update({r: r for r in range(2 * v, n)}) + + def basis(vs): + pivots = {} + for x in vs: + for k in sorted(pivots, reverse=True): + if (x >> k) & 1: + x ^= pivots[k] + if x: + k = x.bit_length() - 1 + for j in pivots: + if (pivots[j] >> k) & 1: + pivots[j] ^= x + pivots[k] = x + return tuple(pivots[k] for k in sorted(pivots, reverse=True)) + + e4_raw = [298, 170, 102, 30] + group = [659, 661, 662, 663] + reverted = set(group[:m]) + + w_mod = copy.deepcopy(fw) + for h in reverted: + w_mod["start_extra"][str(h)] = e4_raw + + blk = w_mod["B"][420:432] + g_e4 = [] + g_e5 = [] + for g in blk: + if g[2] in reverted: + g_c = list(g) + g_c[-1] = e4_raw + g_e4.append(g_c) + else: + g_e5.append(g) + w_mod["B"][420:432] = g_e4 + g_e5 + + full = tuple(1 << i for i in range(8, -1, -1)) + frames = [(), full] + frame_ids = {(): 0, full: 1} + + def fid(vecs): + b = basis(vecs) + if b not in frame_ids: + frame_ids[b] = len(frames) + frames.append(b) + return frame_ids[b] + + def tr(e): + e = list(e) + e[1] = mapping[e[1]] + if e[0] == "add": + e[2] = mapping[e[2]] + if e[-1] is not None: + e[-1] = fid([tau(x) for x in e[-1]]) + return e + + can_A = [tr(e) for e in w_mod["A"]] + can_B = [tr(e) for e in w_mod["B"]] + can_cut = [tr(e) for e in w_mod["cut"]] + can_tail = [tr(w_mod["cleanup"][i][:-1] + [f]) for i, f in w_mod["early_cleanup"]] + start = [fid([p]) for p in ports] + [0] * (v + 504) + for r_str, fr in w_mod["start_extra"].items(): + start[int(r_str)] = fid([tau(x) for x in fr]) + final = ( + [1] * v + + [fid(x for x in range(1, 512) if (x & p).bit_count() % 2 == 0) for p in ports] + + [1] * 504 + ) + for r_str, fr in w_mod["helper_final"].items(): + final[int(r_str)] = fid([tau(x) for x in fr]) + + centers = [mapping[r] for r in w_mod["centers"]] + center_frames = [fid(tau(x) for x in fr) for fr in w_mod["center_frames"]] + levels = {mapping[v + int(t)] - v: fid(tau(x) for x in fr) for t, fr in w_mod["target_levels"].items()} + + cur = list(start) + paid = {} + + def climb(r, f): + old = cur[r] + independent.require(basis(frames[old] + frames[f]) == frames[f], f"nonmonotone climb on {r}") + if old != f: + deg = len(frames[f]) - len(frames[old]) + paid[deg] = paid.get(deg, 0) + 1 + cur[r] = f + + for e in can_A: + for r in [e[1]] + ([e[2]] if e[0] == "add" else []): + climb(r, e[-1]) + for r, fr in zip(centers, center_frames): + served = {levels.get(e[1] - v, 0) for e in can_cut if e[2] == r} + old = fr + for f in sorted(served, key=lambda x: -len(frames[x])): + if old != f: + deg = len(frames[old]) - len(frames[f]) + paid[deg] = paid.get(deg, 0) + 1 + old = f + for e in can_B: + for r in [e[1]] + ([e[2]] if e[0] == "add" else []): + climb(r, e[-1]) + for e in can_tail: + for r in [e[1]] + ([e[2]] if e[0] == "add" else []): + climb(r, e[-1]) + for r, f in enumerate(final): + climb(r, f) + + base_prof = {int(k): val for k, val in fw["report"]["local_profile"].items()} + delta = {} + for k in sorted(set(paid.keys()) | set(base_prof.keys())): + d = paid.get(k, 0) - base_prof.get(k, 0) + if d != 0: + delta[str(k)] = d + return delta + + +def run_negative_controls(): + sources = json.loads((HERE / "SOURCES.json").read_text()) + recipe = json.loads((HERE / "RECIPE.json").read_text()) + + tar_path = ROOT / sources["replay_bundle"]["path"] + with tarfile.open(tar_path, "r:gz") as tf: + fw = json.loads(gzip.decompress(tf.extractfile("native/barch/FULL-WORD.json.gz").read()).decode()) + cw = json.loads(gzip.decompress(tf.extractfile("native/local/CANONICAL-WORD.json.gz").read()).decode()) + + n = 728 + v = 112 + hpe_helpers = {r for r in range(2 * v, n) if cw["final"][r] != 1} + lpr_word = recipe["cleanup_word"] + r_len = recipe["section_lengths"]["R_inv"] + p_len = recipe["section_lengths"]["P"] + + base_rows_fwd = independent.eval_word_int(lpr_word, n, backward=False) + base_rows_bwd = independent.eval_word_int(lpr_word, n, backward=True) + + # Positive sanity check first + check_cleanup_candidate(lpr_word, base_rows_fwd, base_rows_bwd, hpe_helpers) + + rejected = [] + + def expect_reject(name, mut_fn, expected_substr): + cand = copy.deepcopy(lpr_word) + mut_fn(cand) + try: + check_cleanup_candidate(cand, base_rows_fwd, base_rows_bwd, hpe_helpers) + except RuntimeError as exc: + require( + expected_substr in str(exc), + f"control {name} failed with unexpected message '{exc}' (expected '{expected_substr}')", + ) + rejected.append(name) + return + raise RuntimeError(f"NEGATIVE CONTROL ACCEPTED: {name}") + + # 1. Drop an R^{-1} gate + expect_reject("drop_R_inv_gate", lambda w: w.pop(0), "operator mismatch") + + # 2. Drop a Weyl cycle gate in P + expect_reject("drop_P_cycle_gate", lambda w: w.pop(r_len), "operator mismatch") + + # 3. Drop an L^{-1} gate + expect_reject("drop_L_inv_gate", lambda w: w.pop(r_len + p_len), "operator mismatch") + + # 4. Flip a Weyl signed swap sign in P + def flip_weyl(w): + g = w[r_len] + g[3] = -g[3] + + expect_reject("flip_weyl_cycle_sign", flip_weyl, "operator mismatch") + + # 5. Reverse R^{-1} gate execution order + def rev_r_inv(w): + w[:r_len] = list(reversed(w[:r_len])) + + expect_reject("reverse_R_inv_order", rev_r_inv, "operator mismatch") + + # 6. Touch a target register in cleanup + expect_reject( + "cleanup_touches_target", + lambda w: w.append(["add", 0, 112, 1, 1, 1]), + "touches target register 112", + ) + + # 7. Touch a hyperplane-ended helper in cleanup + expect_reject( + "cleanup_touches_hpe_helper", + lambda w: w.append(["add", 0, 225, 1, 1, 1]), + "touches HPE helper 225", + ) + + # 8. Wrong frame in cleanup + expect_reject( + "cleanup_wrong_frame", + lambda w: w[0].__setitem__(-1, 0), + "not at frame 1", + ) + + # 9. Non-dyadic add denominator + expect_reject( + "non_dyadic_add_denominator", + lambda w: w[0].__setitem__(4, 3), + "non-dyadic add denominator", + ) + + # 10. Non-power-of-two scale numerator + def bad_scale(w): + idx = next(i for i, g in enumerate(w) if g[0] == "scale") + w[idx][2] = 3 + + expect_reject("non_power_of_two_scale_numerator", bad_scale, "invalid scale") + + # 11. Self-addition gate + expect_reject( + "self_addition_gate", + lambda w: w.insert(0, ["add", 0, 0, 1, 1, 1]), + "self-addition gate", + ) + + # 12. Partial E4 promotion climb-splitting control + try: + for m in (1, 2, 3): + delta = compute_partial_e4_profile_delta(fw, cw, m) + if delta.get("3", 0) > 0 and delta.get("2", 0) > 0: + raise RuntimeError( + f"INDEPENDENT CHECK FAILED: partial E4 promotion m={m} splits 1->5 climbs into 1->4->5 with delta={delta}" + ) + except RuntimeError as exc: + require("splits 1->5 climbs" in str(exc), f"unexpected message: {exc}") + rejected.append("partial_e4_promotion_claim") + else: + raise RuntimeError("NEGATIVE CONTROL ACCEPTED: partial_e4_promotion_claim") + + require(len(rejected) == 12, f"expected 12 rejected controls, got {len(rejected)}") + result = { + "status": "PASS_PACKAGE_NEGATIVE_CONTROLS", + "rejected_count": len(rejected), + "rejected_controls": rejected, + } + print(json.dumps(result, indent=2), flush=True) + return result + + +if __name__ == "__main__": + run_negative_controls() diff --git a/research/u8-cleanup-markowitz-lpr-seed30/verify.py b/research/u8-cleanup-markowitz-lpr-seed30/verify.py new file mode 100644 index 0000000000..ceb8e95a01 --- /dev/null +++ b/research/u8-cleanup-markowitz-lpr-seed30/verify.py @@ -0,0 +1,561 @@ +#!/usr/bin/env python3 +"""Self-contained deterministic verifier for research/u8-cleanup-markowitz-lpr-seed30. + +1. Verifies all input and upstream script SHA-256 pins in SOURCES.json. +2. Re-derives the 3,525-macro two-sided Markowitz LPR (R^{-1} P L^{-1}) Weyl-cycle + cleanup word from scratch at assignment seed 30 (trial 16, swap_pen=6, scale_pen=0) + and verifies gate-for-gate equality with RECIPE.json. +3. Runs the unchanged upstream local verification pipeline (hpe_audit_and_transport.py, + hpe_emit_local.py, hpe_audit_local.py, hpe_adapters_local.py) in an isolated + temporary directory and checks every hash and metric against EXPECTED.json. +4. Verifies the scoped negative finding (Candidate 1: partial E4 -> E5 entrance + promotion reversion for m in {0, 1, 2, 3, 4} on [659, 661, 662, 663]). +5. Executes the code-disjoint integer-lattice verifier (independent.py) and the + 12-control adversarial mutation suite (test_package.py). + +Compatible with both `python3 -I -B` and `python3 -I -O -B`. +Prepared with Gemini 4 Argon assistance. Apache-2.0; see NOTICE.md. +""" +from fractions import Fraction as Q +import gzip +import hashlib +import json +import os +import pathlib +import random +import subprocess +import sys +import tarfile +import tempfile + +HERE = pathlib.Path(__file__).resolve().parent +ROOT = HERE.parents[1] +if str(HERE) not in sys.path: + sys.path.insert(0, str(HERE)) + +import independent +import test_package + + +def require(cond, msg): + if not cond: + raise RuntimeError(f"VERIFICATION FAILED: {msg}") + + +def sha_bytes(b): + return hashlib.sha256(b).hexdigest() + + +def sha_file(p): + return sha_bytes(pathlib.Path(p).read_bytes()) + + +def q_add_cost(q): + a, b = abs(q.numerator), q.denominator + return 2 * (3 + (a.bit_length() - 1) + a.bit_count() + (b.bit_length() - 1)) + + +def is_pow2(f): + if f == 0: + return False + n, d = abs(f.numerator), f.denominator + return (n & (n - 1)) == 0 and (d & (d - 1)) == 0 + + +def apply_word_to_cols(word, dim=728): + cols = [{i: Q(1)} for i in range(dim)] + for g in word: + op = g[0] + if op == "add": + d, s, c = g[1], g[2], Q(g[3], g[4]) + for j in range(dim): + v_j = cols[j].get(s, Q(0)) + if v_j: + nv = cols[j].get(d, Q(0)) + c * v_j + if nv: + cols[j][d] = nv + else: + cols[j].pop(d, None) + elif op == "scale": + d, c = g[1], Q(g[2], g[3]) + for j in range(dim): + v_j = cols[j].get(d, Q(0)) + if v_j: + cols[j][d] = c * v_j + else: + raise RuntimeError(f"unknown op: {op}") + return cols + + +def solve_lpr_smart_scale(M0_cols, swap_pen, scale_pen, rng=None, dim=728): + rows = {i: {} for i in range(dim)} + cols = {j: {} for j in range(dim)} + for j in range(dim): + for i, val in M0_cols[j].items(): + rows[i][j] = val + cols[j][i] = val + active_r = set() + active_c = set() + for i in range(dim): + if len(rows[i]) > 1 or rows[i].get(i, 0) != 1: + active_r.add(i) + active_c.add(i) + L_ops = [] + R_ops = [] + post_L_scales = [] + pivots = [] + row_of_col = {i: i for i in active_r} + col_of_row = {i: i for i in active_r} + + while active_r: + best_score = None + best_rc = None + for r in sorted(active_r): + rn = len(rows[r]) - 1 + for c, val in rows[r].items(): + if c not in active_c: + continue + if is_pow2(val): + cn = len(cols[c]) - 1 + fill = rn * cn + sp = 0 if row_of_col[c] == r else swap_pen + scp = 0 if abs(val) == 1 else scale_pen + tie = rng.random() if rng else 0 + score = ( + fill + sp + scp, + rn + cn, + 0 if r == c else 1, + 0 if val == 1 else (1 if val == -1 else 2), + tie, + r, + c, + ) + if best_score is None or score < best_score: + best_score = score + best_rc = (r, c) + r, c = best_rc + pv = rows[r][c] + sign_pv = Q(1, 1) if pv > 0 else Q(-1, 1) + abs_pv = abs(pv) + pivots.append((r, c, sign_pv)) + active_r.remove(r) + active_c.remove(c) + r_prev = row_of_col[c] + c_prev = col_of_row[r] + if r_prev != r: + row_of_col[c_prev] = r_prev + col_of_row[r_prev] = c_prev + + col_entries = [(ii, cols[c][ii]) for ii in sorted(cols[c].keys()) if ii != r] + row_entries = [(jj, rows[r][jj]) for jj in sorted(rows[r].keys()) if jj != c] + + for ii, v_ic in col_entries: + del rows[ii][c] + del cols[c][ii] + factor = -v_ic / pv + for jj, v_rj in row_entries: + nv = rows[ii].get(jj, Q(0)) + factor * v_rj + if nv == 0: + rows[ii].pop(jj, None) + cols[jj].pop(ii, None) + else: + rows[ii][jj] = nv + cols[jj][ii] = nv + for jj, v_rj in row_entries: + del rows[r][jj] + del cols[jj][r] + rows[r][c] = sign_pv + cols[c][r] = sign_pv + + if abs_pv == 1: + for ii, v_ic in col_entries: + f_L = -v_ic / sign_pv + L_ops.append(["add", ii, r, f_L.numerator, f_L.denominator, 1]) + for jj, v_rj in row_entries: + f_R = -v_rj / sign_pv + R_ops.append(["add", c, jj, f_R.numerator, f_R.denominator, 1]) + else: + cost_L_unscaled = sum(q_add_cost(v_ic / pv) for _, v_ic in col_entries) + cost_L_scaled = sum(q_add_cost(v_ic / sign_pv) for _, v_ic in col_entries) + cost_R_unscaled = sum(q_add_cost(v_rj / pv) for _, v_rj in row_entries) + cost_R_scaled = sum(q_add_cost(v_rj / sign_pv) for _, v_rj in row_entries) + + optA = cost_L_scaled + cost_R_unscaled + optB = cost_L_unscaled + cost_R_scaled + optC = cost_L_unscaled + cost_R_unscaled + best_opt = min((optA, "A"), (optB, "B"), (optC, "C"))[1] + scale_fac = Q(1, 1) / abs_pv + if best_opt == "A": + L_ops.append(["scale", r, scale_fac.numerator, scale_fac.denominator, 1]) + for ii, v_ic in col_entries: + f_L = -v_ic / sign_pv + L_ops.append(["add", ii, r, f_L.numerator, f_L.denominator, 1]) + for jj, v_rj in row_entries: + f_R = -v_rj / pv + R_ops.append(["add", c, jj, f_R.numerator, f_R.denominator, 1]) + elif best_opt == "B": + for ii, v_ic in col_entries: + f_L = -v_ic / pv + L_ops.append(["add", ii, r, f_L.numerator, f_L.denominator, 1]) + R_ops.append(["scale", c, scale_fac.numerator, scale_fac.denominator, 1]) + for jj, v_rj in row_entries: + f_R = -v_rj / sign_pv + R_ops.append(["add", c, jj, f_R.numerator, f_R.denominator, 1]) + else: + for ii, v_ic in col_entries: + f_L = -v_ic / pv + L_ops.append(["add", ii, r, f_L.numerator, f_L.denominator, 1]) + for jj, v_rj in row_entries: + f_R = -v_rj / pv + R_ops.append(["add", c, jj, f_R.numerator, f_R.denominator, 1]) + post_L_scales.append(["scale", r, scale_fac.numerator, scale_fac.denominator, 1]) + + L_ops.extend(post_L_scales) + p_map = {c: (r, int(pv)) for r, c, pv in pivots} + visited = set() + P_ops = [] + n_cycles = 0 + for c in sorted(p_map.keys()): + if c in visited: + continue + r, s = p_map[c] + if r == c: + visited.add(c) + if s == -1: + P_ops.append(["scale", c, -1, 1, 1]) + continue + n_cycles += 1 + cyc = [] + curr = c + while curr not in visited: + visited.add(curr) + cyc.append(curr) + curr = p_map[curr][0] + carry_sign = 1 + for idx in range(len(cyc) - 1, 0, -1): + a, b = cyc[idx - 1], cyc[idx] + target_sign = p_map[a][1] + if target_sign == 1: + P_ops.extend( + [ + ["add", a, b, -1, 1, 1], + ["add", b, a, 1, 1, 1], + ["add", a, b, -1, 1, 1], + ] + ) + carry_sign = -carry_sign + else: + P_ops.extend( + [ + ["add", a, b, 1, 1, 1], + ["add", b, a, -1, 1, 1], + ["add", a, b, 1, 1, 1], + ] + ) + if carry_sign != p_map[cyc[-1]][1]: + P_ops.append(["scale", cyc[0], -1, 1, 1]) + + def inv_gate(g): + if g[0] == "add": + return ["add", g[1], g[2], -g[3], g[4], 1] + return ["scale", g[1], g[3] if g[2] > 0 else -g[3], abs(g[2]), 1] + + R_inv_ops = [inv_gate(g) for g in R_ops] + L_inv_ops = [inv_gate(g) for g in reversed(L_ops)] + word = R_inv_ops + P_ops + L_inv_ops + return word, R_inv_ops, P_ops, L_inv_ops, n_cycles + + +def main(): + sources = json.loads((HERE / "SOURCES.json").read_text()) + expected = json.loads((HERE / "EXPECTED.json").read_text()) + recipe = json.loads((HERE / "RECIPE.json").read_text()) + + # 1. Check all pins in SOURCES.json + cert_path = ROOT / sources["selected_frontier_certificate"]["path"] + require( + sha_file(cert_path) == sources["selected_frontier_certificate"]["sha256"], + "selected-result.json sha256 mismatch", + ) + for rel, exp_sha in sources["upstream_verifiers"].items(): + require(sha_file(ROOT / rel) == exp_sha, f"upstream verifier pin mismatch: {rel}") + require( + sha_file(ROOT / sources["recipe"]["path"]) == sources["recipe"]["sha256"], + "RECIPE.json sha256 mismatch", + ) + + tar_path = ROOT / sources["replay_bundle"]["path"] + require( + sha_file(tar_path) == sources["replay_bundle"]["sha256"], + "t37-replay.tar.gz sha256 mismatch", + ) + + with tarfile.open(tar_path, "r:gz") as tf: + fw_gz = tf.extractfile("native/barch/FULL-WORD.json.gz").read() + cw_gz = tf.extractfile("native/local/CANONICAL-WORD.json.gz").read() + ra_bytes = tf.extractfile("native/local/RESIDUAL-ADAPTERS.json").read() + + fw_raw = gzip.decompress(fw_gz) + cw_raw = gzip.decompress(cw_gz) + require( + sha_bytes(fw_gz) == sources["replay_bundle"]["members"]["native/barch/FULL-WORD.json.gz"]["gz_sha256"], + "FULL-WORD.json.gz gz_sha256 mismatch", + ) + require( + sha_bytes(fw_raw) + == sources["replay_bundle"]["members"]["native/barch/FULL-WORD.json.gz"]["content_sha256"], + "FULL-WORD.json.gz content_sha256 mismatch", + ) + require( + sha_bytes(cw_gz) + == sources["replay_bundle"]["members"]["native/local/CANONICAL-WORD.json.gz"]["gz_sha256"], + "CANONICAL-WORD.json.gz gz_sha256 mismatch", + ) + require( + sha_bytes(cw_raw) + == sources["replay_bundle"]["members"]["native/local/CANONICAL-WORD.json.gz"]["content_sha256"], + "CANONICAL-WORD.json.gz content_sha256 mismatch", + ) + require( + sha_bytes(ra_bytes) + == sources["replay_bundle"]["members"]["native/local/RESIDUAL-ADAPTERS.json"]["sha256"], + "RESIDUAL-ADAPTERS.json sha256 mismatch", + ) + + fw = json.loads(fw_raw.decode()) + cw = json.loads(cw_raw.decode()) + + # 2. Rebuild M0 and re-run the seed-30 solver to reproduce RECIPE.json from scratch + M0_cols = apply_word_to_cols(cw["cleanup"]) + rng = random.Random(recipe["seed"]) + for trial in range(recipe["selected_trial"] + 1): + sp = rng.choice([3, 4, 5, 6]) + scp = rng.choice([0, 1]) + w, R_inv_ops, P_ops, L_inv_ops, n_cycles = solve_lpr_smart_scale(M0_cols, sp, scp, rng) + + require(sp == recipe["swap_penalty"] and scp == recipe["scale_penalty"], "selected penalty mismatch") + require(w == recipe["cleanup_word"], "re-derived LPR cleanup word does not match RECIPE.json") + require( + len(R_inv_ops) == recipe["section_lengths"]["R_inv"] + and len(P_ops) == recipe["section_lengths"]["P"] + and len(L_inv_ops) == recipe["section_lengths"]["L_inv"] + and n_cycles == recipe["disjoint_cycles"], + "section lengths or cycle count mismatch", + ) + require(apply_word_to_cols(w) == M0_cols, "re-derived LPR cleanup word does not equal M0 on all 728 columns") + + # 3. Splice into FULL-WORD.json.gz and run the upstream 4-stage HPE local pipeline + v = 112 + tau = lambda x: x ^ (43 if (x & 43).bit_count() % 2 else 0) + ports = cw["ports"] + mapping = {i: ports.index(tau(p)) for i, p in enumerate(fw["ports"])} + mapping.update({v + i: v + mapping[i] for i in range(v)}) + mapping.update({r: r for r in range(2 * v, 728)}) + inv_mapping = {can_r: raw_r for raw_r, can_r in mapping.items()} + + full_raw_frame = [256, 128, 64, 32, 16, 8, 4, 2, 1] + raw_w = [ + ["add", inv_mapping[g[1]], inv_mapping[g[2]], g[3], g[4], full_raw_frame] + if g[0] == "add" + else ["scale", inv_mapping[g[1]], g[2], g[3], full_raw_frame] + for g in w + ] + + early_head = [fw["cleanup"][i] for i in range(8, 171)] + early_tail = [fw["cleanup"][i] for i in range(6268, 6276)] + new_cleanup = early_head + raw_w + early_tail + idx_map = {i: i - 8 for i in range(8, 171)} + idx_map.update({i: 163 + len(raw_w) + (i - 6268) for i in range(6268, 6276)}) + + fw_lpr = json.loads(fw_raw.decode()) + fw_lpr["cleanup"] = new_cleanup + fw_lpr["early_cleanup"] = [[idx_map[old_i], f_vecs] for old_i, f_vecs in fw["early_cleanup"]] + fw_lpr["refactored_cleanup"]["high_inverse"] = "two_sided_Markowitz_LPR_Weyl_seed30" + + with tempfile.TemporaryDirectory() as tmp: + tmp_path = pathlib.Path(tmp) + in_dir = tmp_path / "in" + in_dir.mkdir() + out_dir = tmp_path / "local" + + raw_path = in_dir / "FULL-WORD.json.gz" + routing_path = in_dir / "ROUTING.json" + raw_payload = json.dumps(fw_lpr, sort_keys=True, separators=(",", ":")).encode() + raw_path.write_bytes(gzip.compress(raw_payload, mtime=0)) + routing_path.write_text(json.dumps({"v": v, "ports": ports})) + + multicold_src = str(ROOT / "research/complex-k492-owner-repair/vendor/multicold") + sub_env = dict( + os.environ, + PYTHONDONTWRITEBYTECODE="1", + PYTHONUTF8="1", + PYTHONINTMAXSTRDIGITS="0", + MULTICOLD_SOURCE=multicold_src, + GAIN_PR564_SOURCE=multicold_src, + ) + sub_env.pop("PYTHONOPTIMIZE", None) + + run_portable = str(ROOT / "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py") + local_scripts = ROOT / "research/complex-sw4-frame8/local" + + subprocess.run( + [ + sys.executable, + "-B", + run_portable, + str(local_scripts / "hpe_audit_and_transport.py"), + "--raw", + str(raw_path), + "--routing", + str(routing_path), + "--out", + str(out_dir), + ], + env=sub_env, + check=True, + stdout=subprocess.DEVNULL, + ) + subprocess.run( + [sys.executable, "-B", run_portable, str(local_scripts / "hpe_emit_local.py"), str(out_dir)], + env=sub_env, + check=True, + stdout=subprocess.DEVNULL, + ) + subprocess.run( + [sys.executable, "-B", run_portable, str(local_scripts / "hpe_audit_local.py"), str(out_dir)], + env=sub_env, + check=True, + stdout=subprocess.DEVNULL, + ) + subprocess.run( + [ + sys.executable, + "-B", + run_portable, + str(local_scripts / "hpe_adapters_local.py"), + str(out_dir / "CANONICAL-WORD.json.gz"), + str(out_dir / "RESIDUAL-ADAPTERS.json"), + str(out_dir / "WRAPPER-CHECKS.json"), + ], + env=sub_env, + check=True, + stdout=subprocess.DEVNULL, + ) + + sfa = json.loads((out_dir / "SCALAR-FRAME-AUDIT.json").read_text()) + lc = json.loads((out_dir / "LOCAL-CHECKS.json").read_text()) + ilr = json.loads((out_dir / "INDEPENDENT-LOCAL-REPLAY.json").read_text()) + wc = json.loads((out_dir / "WRAPPER-CHECKS.json").read_text()) + + exp_prog = expected["full_local_program_comparison"]["refactored_lpr_seed30"] + require( + sfa["input_content_sha256"] == exp_prog["raw_full_word_content_sha256"], + "raw_full_word_content_sha256 mismatch", + ) + require( + sfa["canonical_content_sha256"] == exp_prog["canonical_word_content_sha256"], + "canonical_word_content_sha256 mismatch", + ) + require( + sfa["scalar_operations"] == exp_prog["scalar_operations_audit"], + "scalar_operations_audit mismatch", + ) + require( + sfa["refactored_cleanup_gates"] == exp_prog["refactored_cleanup_gates_total"], + "refactored_cleanup_gates_total mismatch", + ) + require( + lc["forward"]["sha256"] == exp_prog["forward_program_sha256"], + "forward_program_sha256 mismatch", + ) + require( + lc["backward"]["sha256"] == exp_prog["backward_program_sha256"], + "backward_program_sha256 mismatch", + ) + require( + lc["forward"]["events"] == exp_prog["events_per_orientation"] + and lc["backward"]["events"] == exp_prog["events_per_orientation"], + "events_per_orientation mismatch", + ) + require( + lc["forward"]["scalar_macros"] == exp_prog["scalar_macros_per_orientation"] + and lc["backward"]["scalar_macros"] == exp_prog["scalar_macros_per_orientation"], + "scalar_macros_per_orientation mismatch", + ) + require( + lc["forward"]["real_component_primitive_bound"] + == exp_prog["forward_real_component_primitive_bound"], + "forward_real_component_primitive_bound mismatch", + ) + require( + lc["backward"]["real_component_primitive_bound"] + == exp_prog["backward_real_component_primitive_bound"], + "backward_real_component_primitive_bound mismatch", + ) + require( + ilr["local"]["forward"]["prefix_l1_upper"] == exp_prog["forward_prefix_l1_upper"] + and ilr["local"]["forward"]["prefix_bits_upper"] == exp_prog["forward_prefix_bits_upper"], + "forward prefix_l1_upper mismatch", + ) + require( + ilr["local"]["backward"]["prefix_l1_upper"] == exp_prog["backward_prefix_l1_upper"] + and ilr["local"]["backward"]["prefix_bits_upper"] == exp_prog["backward_prefix_bits_upper"], + "backward prefix_l1_upper mismatch", + ) + require( + len(ilr["negative_controls_rejected"]) + == expected["preserved_invariants"]["upstream_local_negative_controls_rejected"], + "upstream local negative controls count mismatch", + ) + require( + len(wc["wrappers_reject"]) + == expected["preserved_invariants"]["upstream_wrapper_negative_controls_rejected"], + "upstream wrapper negative controls count mismatch", + ) + require( + sha_file(out_dir / "RESIDUAL-ADAPTERS.json") == exp_prog["residual_adapters_sha256"], + "RESIDUAL-ADAPTERS.json sha256 mismatch", + ) + require( + sha_file(out_dir / "WRAPPER-CHECKS.json") == exp_prog["wrapper_checks_sha256"], + "WRAPPER-CHECKS.json sha256 mismatch", + ) + + # 4. Verify scoped negative finding (Candidate 1) profile deltas for m in {0, 1, 2, 3, 4} + exp_deltas = expected["scoped_negative_finding_candidate1"]["local_profile_deltas_by_m"] + for m_str, exp_d in exp_deltas.items(): + got_d = test_package.compute_partial_e4_profile_delta(fw, cw, int(m_str)) + require(got_d == exp_d, f"Candidate 1 profile delta mismatch at m={m_str}: got {got_d}, expected {exp_d}") + + # 5. Run code-disjoint integer-lattice verifier and 12-control package negative suite + ind_res = independent.run_independent_checks() + neg_res = test_package.run_negative_controls() + + receipt = { + "status": expected["status"], + "seed": expected["seed"], + "track": expected["track"], + "base_commit": expected["base_commit"], + "changes_kappa": False, + "cleanup_macros_before": 6105, + "cleanup_macros_after": 3525, + "cleanup_macros_saved_per_orientation": 2580, + "cleanup_real_primitives_before": 68714, + "cleanup_real_primitives_after": 31394, + "cleanup_real_primitives_saved_per_orientation": 37320, + "full_local_real_primitives_saved_pair": 74640, + "forward_prefix_bits": {"before": 55, "after": 51, "delta": -4}, + "backward_prefix_bits": {"before": 72, "after": 54, "delta": -18}, + "independent_verifier": ind_res["status"], + "negative_controls": { + "upstream_local_rejected": 25, + "upstream_wrapper_rejected": 17, + "package_controls_rejected": neg_res["rejected_count"], + }, + } + print("PASS: verify.py completed all checks.", flush=True) + print(json.dumps(receipt, indent=2), flush=True) + + +if __name__ == "__main__": + main()