From 0ec6149b3a1dc05528cb2537962c490836c5cc56 Mon Sep 17 00:00:00 2001 From: Jeremy Kothe Date: Tue, 13 Oct 2026 04:00:10 +1100 Subject: [PATCH 1/5] Conditional kappa 0.001614202339036103: 46 hyperplane-ended helpers per call via commuting-prefix cleanup --- research/complex-571-hpem46/LICENSE | 201 + research/complex-571-hpem46/MANIFEST.json | 35 + research/complex-571-hpem46/NOTICE.md | 16 + research/complex-571-hpem46/code/assemble.py | 213 + .../code/assembly_controls.py | 251 + .../complex-571-hpem46/code/audit_allcold.py | 232 + .../code/bind_providers_portable.py | 66 + .../code/build_gate_moves.py | 61 + research/complex-571-hpem46/code/build_hpe.py | 123 + .../complex-571-hpem46/code/emit_allcold.py | 144 + .../code/generated_identity.py | 62 + .../code/generated_identity_controls.py | 227 + .../code/hpe_adapters_local.py | 95 + .../code/hpe_audit_and_transport.py | 249 + .../code/hpe_audit_local.py | 159 + .../code/hpe_controls_atc.py | 119 + .../complex-571-hpem46/code/hpe_emit_local.py | 161 + .../code/invoice_allcold.py | 320 + .../code/phase_timing_controls.py | 36 + research/complex-571-hpem46/code/witness.py | 35 + .../complex-571-hpem46/data/OWNERS.json.gz | Bin 0 -> 421158 bytes research/complex-571-hpem46/data/PLAN.json | 43330 ++++++++++++++++ research/complex-571-hpem46/data/SPEC.json | 2833 + .../data/recipes/atm3-step0-promote.json | 1 + .../recipes/atm3-step1-greedy_kernels.json | 561 + .../recipes/atm3-step2-frame_coalesce.json | 173 + .../atm3-step3-gate_move_coalesce.json | 85 + .../recipes/atm3-step4-hyperplane_end.json | 649 + .../data/recipes/ck-step0-greedy_kernels.json | 550 + .../data/recipes/ck-step1-frame_coalesce.json | 173 + .../recipes/ck-step2-gate_move_coalesce.json | 85 + .../data/recipes/ck-step3-hyperplane_end.json | 649 + .../recipes/jp8-step4-hyperplane_end.json | 649 + research/complex-571-hpem46/verify.py | 260 + 34 files changed, 52803 insertions(+) create mode 100644 research/complex-571-hpem46/LICENSE create mode 100644 research/complex-571-hpem46/MANIFEST.json create mode 100644 research/complex-571-hpem46/NOTICE.md create mode 100644 research/complex-571-hpem46/code/assemble.py create mode 100644 research/complex-571-hpem46/code/assembly_controls.py create mode 100644 research/complex-571-hpem46/code/audit_allcold.py create mode 100644 research/complex-571-hpem46/code/bind_providers_portable.py create mode 100644 research/complex-571-hpem46/code/build_gate_moves.py create mode 100644 research/complex-571-hpem46/code/build_hpe.py create mode 100644 research/complex-571-hpem46/code/emit_allcold.py create mode 100644 research/complex-571-hpem46/code/generated_identity.py create mode 100644 research/complex-571-hpem46/code/generated_identity_controls.py create mode 100644 research/complex-571-hpem46/code/hpe_adapters_local.py create mode 100644 research/complex-571-hpem46/code/hpe_audit_and_transport.py create mode 100644 research/complex-571-hpem46/code/hpe_audit_local.py create mode 100644 research/complex-571-hpem46/code/hpe_controls_atc.py create mode 100644 research/complex-571-hpem46/code/hpe_emit_local.py create mode 100644 research/complex-571-hpem46/code/invoice_allcold.py create mode 100644 research/complex-571-hpem46/code/phase_timing_controls.py create mode 100644 research/complex-571-hpem46/code/witness.py create mode 100644 research/complex-571-hpem46/data/OWNERS.json.gz create mode 100644 research/complex-571-hpem46/data/PLAN.json create mode 100644 research/complex-571-hpem46/data/SPEC.json create mode 100644 research/complex-571-hpem46/data/recipes/atm3-step0-promote.json create mode 100644 research/complex-571-hpem46/data/recipes/atm3-step1-greedy_kernels.json create mode 100644 research/complex-571-hpem46/data/recipes/atm3-step2-frame_coalesce.json create mode 100644 research/complex-571-hpem46/data/recipes/atm3-step3-gate_move_coalesce.json create mode 100644 research/complex-571-hpem46/data/recipes/atm3-step4-hyperplane_end.json create mode 100644 research/complex-571-hpem46/data/recipes/ck-step0-greedy_kernels.json create mode 100644 research/complex-571-hpem46/data/recipes/ck-step1-frame_coalesce.json create mode 100644 research/complex-571-hpem46/data/recipes/ck-step2-gate_move_coalesce.json create mode 100644 research/complex-571-hpem46/data/recipes/ck-step3-hyperplane_end.json create mode 100644 research/complex-571-hpem46/data/recipes/jp8-step4-hyperplane_end.json create mode 100644 research/complex-571-hpem46/verify.py diff --git a/research/complex-571-hpem46/LICENSE b/research/complex-571-hpem46/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/complex-571-hpem46/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/complex-571-hpem46/MANIFEST.json b/research/complex-571-hpem46/MANIFEST.json new file mode 100644 index 0000000000..6cb9943f64 --- /dev/null +++ b/research/complex-571-hpem46/MANIFEST.json @@ -0,0 +1,35 @@ +{ + "code/assemble.py": "71fca807f2e70ed7439e369be4bb3be21b487e942b92f0e7629d7521e9398a65", + "code/assembly_controls.py": "7ec40d7a223b3525ef672b2d491979f11d9be913b90c9fe5ae54160ae91538a2", + "code/audit_allcold.py": "90b754475dcb73b73ee6339ecf59190baac8157b33c45ca803ee611e6540eed1", + "code/bind_providers_portable.py": "ff9c025f628dcf16b6ba281d288bd80aa418ee9685ab90b8266049fbd1b01c93", + "code/build_gate_moves.py": "08bf1c2652307aeefbab089fdaf02f82e2c396ca23a1eb68e294a67e74c44252", + "code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "code/emit_allcold.py": "5b4a6fffbdff16e27f87683274470a0a21ae224ff55f34b9839f451f2930d517", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/generated_identity_controls.py": "5ea88b559f0e8f29c6a3c814d6abcd2007abcff97d6bd2acced3fafda074375d", + "code/hpe_adapters_local.py": "b5d976f7496eac0d9c7ed97b3a028efcf6950ec989f1789b8c6f5d2b325c40b3", + "code/hpe_audit_and_transport.py": "9020d9f295c37836619b59f58c8e67d0dc14bafe8b53aa2c9e98cb5053cbbe9b", + "code/hpe_audit_local.py": "eb009dbde7e1f0feef622e62f06a4ce10b0210a8216b94e7217e67fb9d46efe3", + "code/hpe_controls_atc.py": "63aa3909b5bfd3bf270c313bebb5c46e7789c67a8f2439f568bc4b2b4a35d17b", + "code/hpe_emit_local.py": "7222e564cabb7ff15b8b4833385342f19a49d3037130f8c21afd52b74638fd40", + "code/invoice_allcold.py": "b37ba38a558889becb489f0faffa50c7b0ae9edd79e8bd6154003ca7b900e65a", + "code/phase_timing_controls.py": "1692ccee3da4b1781408d126ee4999f3e31a505cd83c64823a404033da3a6339", + "code/witness.py": "4f6d445f4796e9e7c0ef388370020119d4fdb929c006b2101aecb203ece8ab61", + "data/OWNERS.json.gz": "7a9d95890f22233c6c942e1e2eae9c30dbe098ff718a59514a02256a45d4e888", + "data/PLAN.json": "329750b57d80ee60893ca1be6bba38f39a2264dd63bf2158ca0ac68f406326cd", + "data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", + "data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", + "data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", + "data/recipes/atm3-step3-gate_move_coalesce.json": "3a6b8fec6c8b56a45bf8fae683083636fa295a8914ffa68d11b1f78ba3a2eb9d", + "data/recipes/atm3-step4-hyperplane_end.json": "aaf94d63a3756211f08d73ebe30bcba5554bf543b77311294aaff3ab3bfb5d13", + "data/recipes/ck-step0-greedy_kernels.json": "c839199d0e6f8e976978fe97bc0c5579a65ba69dfb6864585b448cccc1113056", + "data/recipes/ck-step1-frame_coalesce.json": "0c8e5991e1338f03b837814dd060d4dd598c324e3538ee510913e0444a384ee3", + "data/recipes/ck-step2-gate_move_coalesce.json": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", + "data/recipes/ck-step3-hyperplane_end.json": "e771ec08d638071283afed235bf4d35550b38bebe648d2a0377a430e96327e15", + "data/recipes/jp8-step4-hyperplane_end.json": "7e3d021c7498b3a65345d74d008af5aa87249ec1dc082914ea0beb17908f8f81", + "data/SPEC.json": "e622f5eb68f43e6b86154e11c9eeb7a1ecf8c3b201c5e605f67808244ed3e865", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "a0db818047836f78cb69eaa6deefd8499483597a3cfe1149960fef1734f892dd", + "verify.py": "1189c03c352aefa4b5a3d28dbe42dd92c5e6d8f5a7ca56c252eef464847c95f7" +} diff --git a/research/complex-571-hpem46/NOTICE.md b/research/complex-571-hpem46/NOTICE.md new file mode 100644 index 0000000000..3ebe0dd003 --- /dev/null +++ b/research/complex-571-hpem46/NOTICE.md @@ -0,0 +1,16 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +The owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; it is not an admission dependency. + +Prepared by Claude Code (Anthropic) research agents. Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. diff --git a/research/complex-571-hpem46/code/assemble.py b/research/complex-571-hpem46/code/assemble.py new file mode 100644 index 0000000000..1261127a60 --- /dev/null +++ b/research/complex-571-hpem46/code/assemble.py @@ -0,0 +1,213 @@ +"""Hardened 63 width-seven (#571 prefix word) and 9 plain eight-cold (#568 E8) provider assembly with the native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR543 supplier. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + assert owner['owners_per_call']==728 and owner['actual_helper_owner_charts']==owner['hosted_residuals']==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==72 + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['helpers']==504 and invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=7168,local_helpers=504,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==504 and p['centres']==8 and p['n']==728 and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=11704,12218,16128 + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*72,4*112*8;moves=2*shifts + nonlocal_items=(4*112*8*9+2*112*8*9+2*72*504+parent_idle+9*504+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(72*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_path=P/'inputs/PR543-EXPECTED.json';bit_data=bit_path.read_bytes() + assert hashlib.sha1(b'blob '+str(len(bit_data)).encode()+b'\0'+bit_data).hexdigest()=='b61d859826246e0c3dabbe096e57ad7015eadfd5' + bit=json.loads(bit_data)['nine'] + c=Q(bit['bit_lower']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==2560 + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + for z,accept in [(lower,True),(lower+Q(1,10**24),False)]: + l,u=M.moment(h,m,W,z,bad);ll,uu=B.moment(m,W,list(h.items()),z) + if bad: + fl,fu=B.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + bit_moments=check_moment('bit',bitH,64,bit['bit']['live'],c,9984,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,2560,True) + assert bit['bit']['two_level_coefficient_bits']0 + ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+512)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+512) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,10**18),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,2560,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'inputs/PR543-EXPECTED.json':sha(bit_path)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_FRESH_MIXED_048_ALLCOLD_NATIVE_EXACT_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pinned569_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=543,repository='eumemic/integer-mult-bounds',commit='2065fe4f72a914d907f1046603f5a36f17018535',path='research/e8-bit-r420/EXPECTED.json',git_blob_sha1='b61d859826246e0c3dabbe096e57ad7015eadfd5',replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The frozen PR582 plain-joint-prefix, added-kernel and entrance-promoted provider dispatch with the new frame coalescences composed with cited unchanged PR543 bit supplier. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/complex-571-hpem46/code/assembly_controls.py b/research/complex-571-hpem46/code/assembly_controls.py new file mode 100644 index 0000000000..fdc35bb4c9 --- /dev/null +++ b/research/complex-571-hpem46/code/assembly_controls.py @@ -0,0 +1,251 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + 72 + 72 + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d['provider_id'] != P and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in (270, 282, 294, 306): + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9); w[h], w[j] = w[j], w[h] + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/complex-571-hpem46/code/audit_allcold.py b/research/complex-571-hpem46/code/audit_allcold.py new file mode 100644 index 0000000000..550289ed78 --- /dev/null +++ b/research/complex-571-hpem46/code/audit_allcold.py @@ -0,0 +1,232 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert all(widths[h]==8 for h in (270,282,294,306));pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=72) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Per-provider substitution controls: every provider is swapped against a partner provider. +for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'])) + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'])) + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') + diff --git a/research/complex-571-hpem46/code/bind_providers_portable.py b/research/complex-571-hpem46/code/bind_providers_portable.py new file mode 100644 index 0000000000..d859aeba0a --- /dev/null +++ b/research/complex-571-hpem46/code/bind_providers_portable.py @@ -0,0 +1,66 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={} +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],word['R'],len(word['centers']))==(112,9,504,8) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(224,728)] # HPE: residual width |final|-|start| + assert all(widths[h]==8 for h in (270,282,294,306)) + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/complex-571-hpem46/code/build_gate_moves.py b/research/complex-571-hpem46/code/build_gate_moves.py new file mode 100644 index 0000000000..03114099c6 --- /dev/null +++ b/research/complex-571-hpem46/code/build_gate_moves.py @@ -0,0 +1,61 @@ +"""Move commuting gates, then apply source-bound frame coalescences; the scalar map stays identical. +Extends PR583's build_frames.py (chafreaky, OpenAI Codex assisted, Apache-2.0) with commuting gate moves found by +Claude Code research agents. Apache-2.0. + +Recipe: input_content_sha256, before/after profiles, moves [{section, from, to}] (applied in order; every gate the +moved gate passes must commute with it), and changes [{section, index, before, after}] (indices after the moves; +each change only raises the gate frame and must save exactly {1:-2, 2:+1}). The cleanup section is rebuilt with the +inherited rule (the input word must already satisfy it), and the helper responses must be unchanged. +""" +from pathlib import Path +import argparse,copy,gzip,hashlib,json,sys +from collections import Counter +assert __debug__,'Assertions required' +ap=argparse.ArgumentParser();ap.add_argument('--input',type=Path,required=True);ap.add_argument('--recipe',type=Path,required=True);ap.add_argument('--gk-dir',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();assert not a.out.exists() +sys.path.insert(0,str(a.gk_dir));import gk_word as G,gk_common as C +G.V=C.V=112;G.DATA=C.DATA=7168 +raw=json.loads(gzip.decompress(a.input.read_bytes()));recipe=json.loads(a.recipe.read_text());enc=lambda x:json.dumps(x,sort_keys=True,separators=(',',':')).encode();sha=lambda x:hashlib.sha256(x).hexdigest() +assert sha(enc(raw))==recipe['input_content_sha256'];before=G.profile(raw);assert dict(before)=={int(r):n for r,n in recipe['before'].items()} +def regs(e):return(e[1],e[2])if e[0]=='add'else(e[1],) +def commute(x,y): + """Two additions commute unless one writes the other's source; any other pair must touch disjoint registers.""" + if x[0]=='add'and y[0]=='add':return x[1]!=y[2]and y[1]!=x[2] + return not set(regs(x))&set(regs(y)) +cleanup=lambda w:[G.inverse(e,G.FULL)for e in reversed(w['A']+w['B'])if not 112<=e[1]<224] +assert raw['cleanup']==cleanup(raw),'input cleanup is not the inherited inverse rule' +w=copy.deepcopy(raw);moved=[] +for m in recipe['moves']: + L=w[m['section']];i,j=m['from'],m['to'];assert i!=j and 0<=ii else range(j,i);assert all(commute(L[i],L[k])for k in passed),'noncommuting move %s'%m + L.insert(j,L.pop(i));moved.append(dict(m,passed=len(passed))) +w['cleanup']=cleanup(w);responses=G.responses(w);assert responses==G.responses(raw),'scalar responses changed by the moves' +assert G.profile(w)==before,'moves alone changed the profile';trace=[] +for change in recipe['changes']: + part,i=change['section'],change['index'];assert w[part][i]==change['before'];assert change['before'][:-1]==change['after'][:-1] + w[part][i]=change['after'];after=G.profile(w);delta={r:after[r]-before[r]for r in set(after)|set(before)if after[r]!=before[r]};assert delta=={1:-2,2:1};trace.append(dict(section=part,index=i,delta=delta));before=after +w['cleanup']=cleanup(w) +assert dict(G.profile(w))=={int(r):n for r,n in recipe['after'].items()} +for key in raw: + if key not in ('A','B','cleanup','report'):assert w[key]==raw[key] +for part in ('A','B'):assert sorted(map(enc,(e[:-1]for e in w[part])))==sorted(map(enc,(e[:-1]for e in raw[part]))) +assert G.widths_of(w)==G.widths_of(raw);responses=G.responses(w);assert responses==G.responses(raw) +assert all(not responses[int(r)-224]for r in w['start_extra']) +# Fresh negative controls: every omitted coalescence loses the new profile, every full-space frame replacement violates +# a chain/cut bound, and every move reverted before its coalescence is rejected. +rejected=[] +for c in recipe['changes']: + z=copy.deepcopy(w);z[c['section']][c['index']]=c['before'];assert G.profile(z)!=G.profile(w);rejected.append('omission-%s-%d'%(c['section'],c['index'])) + z=copy.deepcopy(w);z[c['section']][c['index']][-1]=list(G.FULL) + try:G.profile(z) + except AssertionError:rejected.append('overpromotion-%s-%d'%(c['section'],c['index'])) + else:raise AssertionError('Invalid frame accepted') +for m in reversed(recipe['moves']): + z=copy.deepcopy(w);L=z[m['section']];L.insert(m['from'],L.pop(m['to'])) + try:ok=G.profile(z)==G.profile(w) + except AssertionError:ok=False + assert not ok,'unmoved coalescence accepted';rejected.append('unmoved-%s-%d'%(m['section'],m['from'])) +w['report'].update(local_profile=dict(G.profile(w)),local_rank_mass=sum(r*n for r,n in G.profile(w).items()),status='GATE_MOVE_FRAME_COALESCENCES_PENDING_NATIVE_PHASE_ADMISSION', + # descriptive inventory fields recomputed from the actual widths (as PR586's adapted PR583 constructor does) + width_inventory={str(k):v for k,v in sorted(Counter(G.widths_of(w)).items())},entering_helpers=sum(v<9 for v in G.widths_of(w)),entrance_rank=sum(9-v for v in G.widths_of(w))) +a.out.mkdir(parents=True);(a.out/'FULL-WORD.json.gz').write_bytes(G.dump(w));receipt=dict(status='PASS_EXACT_GATE_MOVE_FRAME_COALESCENCES',input_content_sha256=sha(enc(raw)),output_content_sha256=sha(enc(w)),profile_before=recipe['before'],profile_after=recipe['after'],moves=moved,changes=trace,negative_controls_rejected=rejected,all_scalar_responses_unchanged=True,all_entering_helper_responses_zero=True,helper_widths_unchanged=True,cleanup_rebuilt_by_inherited_rule=True,scope='Construction, commutation, frame/profile and scalar response checks only; native, phase and global admission are separate.') +(a.out/'FRAME-CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2,sort_keys=True)+'\n');print(json.dumps(receipt,indent=2)) diff --git a/research/complex-571-hpem46/code/build_hpe.py b/research/complex-571-hpem46/code/build_hpe.py new file mode 100644 index 0000000000..830906acf2 --- /dev/null +++ b/research/complex-571-hpem46/code/build_hpe.py @@ -0,0 +1,123 @@ +"""Hyperplane-ended helpers (HPE) constructor. Apache-2.0. Prepared with Claude Code assistance. + +usage: build_hpe.py --input FULL-WORD.json.gz --recipe RECIPE.json --out DIR + +RECIPE: {"changes": [{"helper": h, "cleanup_index": i, "frame": [raw vectors]}, ...], "output_content_sha256": hex}. +Each change must be an admissible early-cleanup move: + * h is an entering helper (start_extra) touched by exactly one cleanup gate, cleanup[i]; + * cleanup[i] commutes with every earlier cleanup gate on its registers (commute(): neither writes a register the + other touches, or both add into one target without reading each other's target), so it commutes with the whole + skipped cleanup prefix; in practice the skipped gates only read the partner (x -= p); + * frame == join of the registers' last A/B frames and has dimension < 9. +The output word gets early_cleanup [[i, U]], helper_final {h: U} and the exact paid profile (only the two registers' +final chains change: h ends at U instead of FULL; the partner climbs through U). Exactness of the reordered program, +the frame chains and the profile are re-checked independently by hpe_audit_and_transport.py; the paired control audit +is controls_hpe_atc.py.""" +import argparse, gzip, hashlib, json +from collections import Counter +from pathlib import Path + + +def span(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length() - 1 + for j in p: + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return [p[k] for k in sorted(p, reverse=True)] + + +def regs(e): return [e[1]] + ([e[2]] if e[0] == 'add' else []) + + +def commute(a, b): + """Sufficient syntactic commutation of two scalar gates (t += q*s, t *= q): neither writes a register the other + touches, or both are additions into the same target with neither reading the other's target.""" + ra, rb = set(regs(a)), set(regs(b)) + if a[1] not in rb and b[1] not in ra: return True + return a[0] == 'add' and b[0] == 'add' and a[1] == b[1] and a[2] != b[1] and b[2] != a[1] + + +def last_frames(w): + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = [[] for _ in range(n)] + for i, p in enumerate(w['ports']): cur[i] = [p] + for r, f in w.get('start_extra', {}).items(): cur[int(r)] = list(f) + for part in ('A', 'B'): + for e in w[part]: + for r in regs(e): cur[r] = list(e[-1]) + return cur + + +def apply(w, changes): + assert 'early_cleanup' not in w and 'helper_final' not in w, 'input already has hyperplane-ended helpers' + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = last_frames(w); count = Counter(); first = {}; on = {} + for i, e in enumerate(w['cleanup']): + for r in regs(e): count[r] += 1; first.setdefault(r, i); on.setdefault(r, []).append(i) + lp = Counter({int(r): c for r, c in w['report']['local_profile'].items()}) + seen = set() + for z in changes: + h, i, U = z['helper'], z['cleanup_index'], z['frame'] + assert 2*v <= h < n and str(h) in w['start_extra'], ('not an entering helper', h) + assert count[h] == 1 and first[h] == i, ('helper must have exactly this one cleanup gate', h) + e = w['cleanup'][i]; rs = regs(e) + assert all(commute(w['cleanup'][j], e) for r in rs for j in on[r] if j < i), ('cleanup gate does not commute with the skipped cleanup gates on its registers', i) + assert not seen & set(rs), 'registers shared between changes'; seen |= set(rs) + assert span([x for r in rs for x in cur[r]]) == U and len(U) < 9, ('frame is not the join of the last frames', h) + for r in rs: # old: last -> FULL; new: last -> U (-> FULL for the partner) + d0 = 9 - len(span(cur[r])) + if d0: lp[d0] -= 1 + d1 = len(U) - len(span(cur[r])) + if d1: lp[d1] += 1 + if r != h and len(U) < 9: lp[9 - len(U)] += 1 + w['early_cleanup'] = [[z['cleanup_index'], z['frame']] for z in changes] + w['helper_final'] = {str(z['helper']): z['frame'] for z in changes} + w['report']['local_profile'] = {str(r): c for r, c in sorted(lp.items()) if c} + w['report']['local_rank_mass'] = sum(r*c for r, c in lp.items()) + if 'width_inventory' in w['report']: # descriptive metadata: one width-w helper becomes width w-(9-dim U) + inv = Counter({int(k): c for k, c in w['report']['width_inventory'].items()}) + for z in changes: + e = len(w['start_extra'][str(z['helper'])]); inv[9 - e] -= 1; inv[len(z['frame']) - e] += 1 + assert min(inv.values()) >= 0 + w['report']['width_inventory'] = {str(k): c for k, c in sorted(inv.items()) if c} + assert min(lp.values()) >= 0 + return w + + +def candidates(w): + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = last_frames(w); count = Counter(); first = {}; on = {} + for i, e in enumerate(w['cleanup']): + for r in regs(e): count[r] += 1; first.setdefault(r, i); on.setdefault(r, []).append(i) + out = [] + for h in range(2*v, n): + if count[h] != 1 or str(h) not in w.get('start_extra', {}): continue + i = first[h]; rs = regs(w['cleanup'][i]) + if not all(commute(w['cleanup'][j], w['cleanup'][i]) for r in rs for j in on[r] if j < i): continue + U = span([x for r in rs for x in cur[r]]) + if len(U) < 9: out.append(dict(helper=h, cleanup_index=i, frame=U)) + return out + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--input', type=Path, required=True); ap.add_argument('--recipe', type=Path) + ap.add_argument('--out', type=Path); ap.add_argument('--nominate', type=Path, help='write a recipe with every candidate') + a = ap.parse_args() + w = json.loads(gzip.decompress(a.input.read_bytes())) + if a.nominate: + a.nominate.write_text(json.dumps(dict(changes=candidates(w), output_content_sha256=''), indent=1) + '\n', newline='\n') + raise SystemExit(0) + r = json.loads(a.recipe.read_bytes()) + w = apply(w, r['changes']) + raw = json.dumps(w, sort_keys=True, separators=(',', ':')).encode(); h = hashlib.sha256(raw).hexdigest() + assert h == r['output_content_sha256'], h + a.out.mkdir(parents=True, exist_ok=False) + (a.out/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw, mtime=0)) + (a.out/'HPE-CONSTRUCTION.json').write_text(json.dumps(dict(status='PASS_HYPERPLANE_ENDED_HELPERS', helpers=[z['helper'] for z in r['changes']], + local_profile=w['report']['local_profile']), indent=1) + '\n', newline='\n') + print('PASS', len(r['changes']), 'hyperplane-ended helpers') diff --git a/research/complex-571-hpem46/code/emit_allcold.py b/research/complex-571-hpem46/code/emit_allcold.py new file mode 100644 index 0000000000..574de85b52 --- /dev/null +++ b/research/complex-571-hpem46/code/emit_allcold.py @@ -0,0 +1,144 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=2560,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/complex-571-hpem46/code/generated_identity.py b/research/complex-571-hpem46/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/complex-571-hpem46/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/complex-571-hpem46/code/generated_identity_controls.py b/research/complex-571-hpem46/code/generated_identity_controls.py new file mode 100644 index 0000000000..def4135cb3 --- /dev/null +++ b/research/complex-571-hpem46/code/generated_identity_controls.py @@ -0,0 +1,227 @@ +"""Actual gzip/receipt portability and consistently rebound semantic controls. + +Only scratch copies of generated provider files are changed. Each assembly +control recomputes raw artifact links, all seven portable identities and the +owner/invoice digests. This tests identity admission, not a replacement for the +full physical replay. Prepared with OpenAI Codex assistance; Apache-2.0. +""" +import argparse +import copy +import gzip +import hashlib +import json +import math +import shutil +import tempfile +from pathlib import Path + +import os +assert os.environ.get('GAIN_PR564_SOURCE'), 'Explicit engine source required' +from assemble import assemble +from witness import PROVIDERS +from generated_identity import FILES, artifact_identities, json_identity, sha + +if not __debug__: + raise RuntimeError('Assertions required; refusing optimized verification') + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def write_json(path, value): + # Nonfinite numbers are emitted only by deliberate invalid-timing controls. + path.write_text(json.dumps(value, indent=2)+'\n', encoding='utf-8', newline='\n') + + +def write_gzip(path, value): + payload = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(payload, compresslevel=1, mtime=123456789)) + + +def refresh_links(directory): + """Rebind only the three actual gzip references and the phase recipe link.""" + native = read(directory/'INDEPENDENT-LOCAL-REPLAY.json') + native['canonical_word_sha256'] = sha(directory/'CANONICAL-WORD.json.gz') + native['local_programs_sha256'] = sha(directory/'LOCAL-PROGRAMS.json.gz') + write_json(directory/'INDEPENDENT-LOCAL-REPLAY.json', native) + phase = read(directory/'CLIFFORD-REVIEW.json') + phase['canonical_word_sha256'] = sha(directory/'CANONICAL-WORD.json.gz') + phase['recipe_sha256'] = sha(directory/'CLIFFORD-RECIPES.json') + write_json(directory/'CLIFFORD-REVIEW.json', phase) + + +def rebound(owner, invoice, pid, directory): + """Return complete consistent receipt links to the changed actual files.""" + identities = artifact_identities(directory) + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + p = i['providers'][pid] + for name in FILES: + raw = sha(directory/name) + p['artifacts'][name] = raw + o['source_artifacts']['providers/'+pid+'/'+name] = raw + p['semantic_artifact_sha256'] = identities + o['provider_artifact_semantic_sha256'][pid] = identities + phase = identities['CLIFFORD-REVIEW.json'] + o['provider_phase_semantic_sha256'][pid] = phase + i['provider_phase_semantic_sha256'][pid] = phase + owner_hash = json_identity(o) + i['owner_audit_sha256'] = owner_hash + return o, i, owner_hash, json_identity(i), identities + + +def run(base, audit, out, provider_root=None): + assert not out.exists() + out.parent.mkdir(parents=True, exist_ok=True) + source = provider_root or base/'providers' + owner_path, invoice_path = audit/'OWNERS-AND-PROFILE.json', audit/'PREFIX-AND-INVOICE.json' + owner, invoice = read(owner_path), read(invoice_path) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + accepted, rejected, references, source_identities = [], [], [], {} + raw_changed = {} + with tempfile.TemporaryDirectory(prefix='generated-identity-controls-', dir=out.parent) as td: + scratch = Path(td) + for pid in sorted(PROVIDERS): + original = source/pid + ids = artifact_identities(original) + assert ids == PROVIDERS[pid]['artifact_semantic_sha256'] + source_identities[pid] = dict(raw={name:sha(original/name) for name in FILES}, semantic=ids) + # The optional provider-root can use another Python/zlib environment. + o, i, oh, ih, _ = rebound(owner, invoice, pid, original) + assert assemble(o, i, oh, ih)['kappa'] == baseline['kappa'] + + def fresh(tag): + directory = scratch/(pid+'-'+tag) + directory.mkdir() + for name in FILES: + shutil.copyfile(original/name, directory/name) + return directory + + def reject_semantics(tag, mutate, changed_file): + directory = fresh(tag) + mutate(directory) + refresh_links(directory) + o, i, oh, ih, new_ids = rebound(owner, invoice, pid, directory) + assert new_ids[changed_file] != ids[changed_file], (tag, 'mutation disappeared from identity') + try: + assemble(o, i, oh, ih) + except AssertionError: + rejected.append(dict(provider=pid, case=tag, changed_identity=changed_file, + all_raw_and_semantic_links_rebound=True)) + else: + raise AssertionError('semantic mutation accepted: '+tag) + + def json_mutation(name, change): + def mutate(directory): + value = read(directory/name) + change(value) + write_json(directory/name, value) + return mutate + + directory = fresh('recompression') + changed = [] + for name in ('CANONICAL-WORD.json.gz', 'LOCAL-PROGRAMS.json.gz'): + before = (directory/name).read_bytes() + payload = gzip.decompress(before) + after = gzip.compress(payload, compresslevel=1, mtime=123456789) + assert after != before and gzip.decompress(after) == payload + (directory/name).write_bytes(after) + changed.append(name) + refresh_links(directory) + o, i, oh, ih, new_ids = rebound(owner, invoice, pid, directory) + assert new_ids == ids + assert assemble(o, i, oh, ih)['kappa'] == baseline['kappa'] + accepted.append(dict(provider=pid, case='recompressed_same_payloads', changed_raw_artifacts=changed, + all_seven_identities_unchanged=True, all_raw_links_rebound=True)) + raw_changed[pid] = {name:[sha(original/name),sha(directory/name)] for name in changed} + + # A stale literal link must fail before any normalization can hide it. + for tag, name, receipt, field in ( + ('stale_native_word_link','CANONICAL-WORD.json.gz','INDEPENDENT-LOCAL-REPLAY.json','canonical_word_sha256'), + ('stale_native_program_link','LOCAL-PROGRAMS.json.gz','INDEPENDENT-LOCAL-REPLAY.json','local_programs_sha256'), + ('stale_phase_word_link','CANONICAL-WORD.json.gz','CLIFFORD-REVIEW.json','canonical_word_sha256'), + ('stale_phase_recipe_link','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json','recipe_sha256')): + directory = fresh(tag) + value = read(directory/receipt) + value[field] = '0'*64 + write_json(directory/receipt, value) + try: + artifact_identities(directory) + except AssertionError: + references.append(dict(provider=pid, case=tag, rejected_before_projection=True)) + else: + raise AssertionError('stale literal reference normalized away: '+tag) + + def change_scalar(directory): + programs = read(directory/'LOCAL-PROGRAMS.json.gz') + event = next(e for e in programs['forward'] if e[0]=='scalar' and e[1][0]=='add') + event[1][3] = -event[1][3] + write_gzip(directory/'LOCAL-PROGRAMS.json.gz', programs) + reject_semantics('changed_actual_scalar', change_scalar, 'LOCAL-PROGRAMS.json.gz') + + def change_frame(directory): + word = read(directory/'CANONICAL-WORD.json.gz') + old = word['start'][518] + replacement = next(j for j,f in enumerate(word['frames']) + if j != old and len(f) == len(word['frames'][old])) + word['start'][518] = replacement + write_gzip(directory/'CANONICAL-WORD.json.gz', word) + reject_semantics('changed_actual_start_frame_same_rank', change_frame, 'CANONICAL-WORD.json.gz') + reject_semantics('native_false_restoration', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x['local']['forward'].__setitem__('private_work_erased',False)), + 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('native_wrong_column_count', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x['local']['backward'].__setitem__('all_exact_columns',727)), + 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('native_changed_profile', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x['paid_profiles']['forward'].__setitem__('1',x['paid_profiles']['forward']['1']+1)), + 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('phase_false_global_equality', json_mutation('CLIFFORD-REVIEW.json', + lambda x:x.__setitem__('all_child_equalities_include_global_phase',False)), + 'CLIFFORD-REVIEW.json') + + # This event hash is proof data, even when its value equals a gzip hash. + def change_event_hash(directory): + value = read(directory/'LOCAL-CHECKS.json') + value['forward']['sha256'] = sha(directory/'CANONICAL-WORD.json.gz') + write_json(directory/'LOCAL-CHECKS.json', value) + assert artifact_identities(directory)['LOCAL-CHECKS.json'] == json_identity(value) + reject_semantics('local_event_hash_is_not_a_container_reference', change_event_hash, 'LOCAL-CHECKS.json') + reject_semantics('unrelated_native_root_seconds_retained', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x.__setitem__('seconds',7)), 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('nested_phase_seconds_retained', json_mutation('CLIFFORD-REVIEW.json', + lambda x:x.__setitem__('additional_evidence',{'seconds':7})), 'CLIFFORD-REVIEW.json') + + for tag,value in [('negative',-1),('boolean',True),('string','1'),('nan',float('nan')), + ('infinity',float('inf'))]: + directory = fresh('invalid-timing-'+tag) + phase = read(directory/'CLIFFORD-REVIEW.json');phase['seconds'] = value + write_json(directory/'CLIFFORD-REVIEW.json', phase) + try: + artifact_identities(directory) + except AssertionError: + references.append(dict(provider=pid,case='invalid_phase_seconds_'+tag, + rejected_before_projection=True)) + else: + raise AssertionError('invalid timing silently erased: '+tag) + n=len(PROVIDERS) + assert len(accepted)==n and len(rejected)==9*n and len(references)==9*n + assert {x['provider']for x in accepted}=={x['provider']for x in rejected}=={x['provider']for x in references}==set(PROVIDERS) + report=dict(status='PASS_GENERATED_ARTIFACT_RECOMPRESSION_AND_REBOUND_MUTATIONS', + kappa=baseline['kappa'], source_owner_sha256=sha(owner_path),source_invoice_sha256=sha(invoice_path), + source_providers=source_identities,recompression_changed_raw_hashes=raw_changed, + accepted=accepted,semantic_mutations_rejected=rejected,invalid_references_or_metadata_rejected=references, + counts=dict(recompression_accepted=n,semantic_rejected=9*n,reference_or_metadata_rejected=9*n), + scope='Actual copied gzip streams and receipt JSON are changed. All seven content identities, raw source links and owner/invoice digests are recomputed consistently before assembly. Only identical decompressed payloads are accepted; scalar, same-rank frame, native proof fields, global phase, event hashes and unrelated seconds remain pinned. Literal references and invalid phase timing are rejected before normalization. Full physical replay remains a separate prerequisite.') + write_json(out,report) + print(report['status'],report['counts']) + + +if __name__=='__main__': + parser=argparse.ArgumentParser(description=__doc__) + for name in ('base','audit','out'): + parser.add_argument('--'+name,type=Path,required=True) + parser.add_argument('--provider-root',type=Path) + args=parser.parse_args() + run(args.base,args.audit,args.out,args.provider_root) diff --git a/research/complex-571-hpem46/code/hpe_adapters_local.py b/research/complex-571-hpem46/code/hpe_adapters_local.py new file mode 100644 index 0000000000..f77c09a0ca --- /dev/null +++ b/research/complex-571-hpem46/code/hpe_adapters_local.py @@ -0,0 +1,95 @@ +"""Paid residual wrappers for entering helpers (Lemma A): generation and independent decoding. Apache-2.0. +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. The wrapper construction follows PR #458 +(chafreaky): a helper that starts at frame E and ends at FULL has the physical residual S_E = T_FULL T_E^-1 (apply T_E^-1 first); +S_E = L_E (C_[w] x I) R_E with R_E applied first; the wrappers R_E^-1 before the whole local invocation and L_E^-1 after its +full-frame cleanup turn the residual into the coordinate factor C_[w] x I and restore the other 9 - w coordinates identically. +usage: adapters_gk.py CANONICAL-WORD.json.gz RESIDUAL-ADAPTERS.json OUT-LEMMA-A.json +Writes the recipes (generation uses clifford_exact.lower_child) and then DECODES the serialized monomials with the primitive +constructors of clifford_exact (not lower_child) and checks, for every entrance frame, that L_E^-1 S_E R_E^-1 has exactly the +tableau and zero-state vector (global phase included) of fourier(9, range(w)); mutated recipes (wrong phase, swapped sides, wrong +translation, wrong width) must be rejected.""" +import copy, gzip, json, sys +from pathlib import Path +# Package-path adaptation only; the exact wrapper mathematics is unchanged. +import os +R = Path(os.environ['MULTICOLD_SOURCE']) / 'vendor/pr558/vendor/pr552/complex-global/vendor531' # HPE: the pinned vendor531 clifford_exact +sys.path.insert(0, str(R / 'vendor/clifford')) +from clifford_exact import canonical_frame, lower_child, fourier, diag, perm, xgate, Op, identity +n = 9; FULL = tuple(1 << i for i in range(n)) +def monomial_op(rec): + """decode a serialized monomial (matrix rows, quadratic rows, Z4 linear part, translation, phase)""" + out = diag(n, tuple(rec['quadratic_rows']), tuple(rec['linear_Z4'])).then(perm(n, tuple(rec['matrix_rows']))).then(xgate(n, rec['offset'])) + return out.then(Op(n, identity(n), [('phase', rec['phase'])])) +def S_of(U, END=FULL): + # HPE: a helper that starts at E=U and ends at END has residual T_END T_E^-1 (END = FULL is the inherited case) + return canonical_frame(n, tuple(U)).adjoint().then(canonical_frame(n, tuple(END))) +def wrapped_ok(U, rec, END=FULL): + """exactly: L^-1 S R^-1 = C_[w] x I (apply order: R^-1, S, L^-1), w = dim END - dim E""" + w = len(END) - len(U); S = S_of(U, END); Rm = monomial_op(rec['right']); Lm = monomial_op(rec['left']) + net = Rm.adjoint().then(S).then(Lm.adjoint()); target = fourier(n, range(w)) + return rec['rank'] == w and net.tab == target.tab and net.zero_state() == target.zero_state() +def _contains(a, b): + a = list(a) + for x in b: + for y in sorted(a, reverse=True): + if x >> (y.bit_length() - 1) & 1: x ^= y + if x: return False + return True +def main(): + c = json.load(gzip.open(sys.argv[1])); frames = c['frames']; v = c['v'] + starts = sorted({c['start'][r] for r in range(2 * v, len(c['start'])) if c['start'][r] != 0 and c['final'][r] == 1}) + # HPE: (entrance, terminal) pairs of helpers ending at a proper subspace; key 'E:U'. Inherited words have none. + ends = sorted({(c['start'][r], c['final'][r]) for r in range(2 * v, len(c['start'])) if c['final'][r] != 1}) + assert all(e != 0 and len(frames[u]) < n and _contains(frames[u], frames[e]) for e, u in ends) + recipes = {} + for f in starts: + U = frames[f]; rec, compiled = lower_child(S_of(U)) + recipes[str(f)] = dict(frame=f, vectors=list(U), entrance_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + for e, u in ends: + E, U = frames[e], frames[u]; rec, compiled = lower_child(S_of(E, U)) + recipes['%d:%d' % (e, u)] = dict(frame=e, terminal=u, vectors=list(E), terminal_vectors=list(U), entrance_rank=len(E), + terminal_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + Path(sys.argv[2]).write_text(json.dumps(dict(status='RESIDUAL_ADAPTER_RECIPES', recipes=recipes), sort_keys=True, separators=(',', ':')) + '\n') + # ---- independent decode of the serialized file + data = json.loads(Path(sys.argv[2]).read_text())['recipes'] + dot = lambda a, b: bin(a & b).count('1') & 1 + detail = [] + for f in starts: + rec = data[str(f)]; U = frames[f] + assert wrapped_ok(U, rec), ('wrapper product is not C_[w] x I', f) + detail.append(dict(frame=f, entrance_rank=len(U), residual_width=n - len(U), vectors=list(U), all_even_weight=all(bin(x).count('1') % 2 == 0 for x in U), + totally_isotropic=all(dot(a, b) == 0 for a in U for b in U))) + hdetail = [] + for e, u in ends: # HPE: independent decode, residual width = dim U - dim E + rec = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + assert wrapped_ok(E, rec, U), ('HPE wrapper product is not C_[w] x I', e, u) + hdetail.append(dict(frame=e, terminal=u, entrance_rank=len(E), terminal_rank=len(U), residual_width=len(U) - len(E))) + controls = [] + def reject(name, fn): + f = starts[0]; rec = copy.deepcopy(data[str(f)]); fn(rec) + if wrapped_ok(frames[f], rec): raise AssertionError('mutated wrapper accepted: ' + name) + controls.append(name) + reject('wrong global phase', lambda r: r['right'].__setitem__('phase', (r['right']['phase'] + 1) % 4)) + reject('wrong translation', lambda r: r['left'].__setitem__('offset', r['left']['offset'] ^ 1)) + reject('wrong quadratic form', lambda r: r['right'].__setitem__('quadratic_rows', [x ^ 2 if i == 0 else x for i, x in enumerate(r['right']['quadratic_rows'])]) if False else r['right']['linear_Z4'].__setitem__(0, (r['right']['linear_Z4'][0] + 2) % 4)) + reject('sides swapped', lambda r: (r.__setitem__('left', r['right']), r.__setitem__('right', r['left']))) + reject('wrong width', lambda r: r.__setitem__('rank', r['rank'] + 1)) + if ends: # HPE controls on the first (E, U) pair + e, u = ends[0]; rec0 = data['%d:%d' % (e, u)] + def hreject(name, ok): + if ok: raise AssertionError('HPE mutation accepted: ' + name) + controls.append(name) + hreject('hpe: U-wrapper decoded against a FULL ending', wrapped_ok(frames[e], rec0)) + hreject('hpe: width misreported as 9 - dim E', wrapped_ok(frames[e], dict(rec0, rank=n - len(frames[e])), frames[u])) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u]) and _contains(frames[f], frames[e])) + hreject('hpe: wrong terminal hyperplane', wrapped_ok(frames[e], rec0, frames[other])) + fe = next(((e2, u2) for e2, u2 in ends if str(e2) in data), None) + if fe: # an entrance shared with FULL-ended helpers: R_{E,FULL} must not serve as R_{E,U} + r2 = data['%d:%d' % fe] + hreject('hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}', wrapped_ok(frames[fe[0]], dict(r2, right=data[str(fe[0])]['right']), frames[fe[1]])) + hreject('hpe: wrong global phase', wrapped_ok(frames[e], dict(rec0, left=dict(rec0['left'], phase=(rec0['left']['phase'] + 1) % 4)), frames[u])) + res = dict(status='PASS_RESIDUAL_WRAPPERS_ARE_EXACT', frames=len(detail), **({'hyperplane_end_pairs': hdetail} if ends else {}), wrappers_reject=controls, all_even_weight=all(d['all_even_weight'] for d in detail), + all_totally_isotropic=all(d['totally_isotropic'] for d in detail), detail=detail) + Path(sys.argv[3]).write_text(json.dumps(res, indent=1) + '\n') + print('Lemma A (exact): L^-1 S_E R^-1 = C_[w] x I for', len(detail), 'entrance frames, global phase included;', len(controls), 'wrapper mutations rejected; all-even-weight:', res['all_even_weight']) +if __name__ == '__main__': main() diff --git a/research/complex-571-hpem46/code/hpe_audit_and_transport.py b/research/complex-571-hpem46/code/hpe_audit_and_transport.py new file mode 100644 index 0000000000..845680279b --- /dev/null +++ b/research/complex-571-hpem46/code/hpe_audit_and_transport.py @@ -0,0 +1,249 @@ +"""Rebuild arbitrary-dirt compensation and transport a changed local word. + +Prepared for icekylinx with GPT-6 Astra assistance. Apache-2.0. +Adapted from PR425/433 (icekylinx), PR484's audit_gk.py +(DreamingOfClouds), and Round19's 112-port transport. This auditor does not +import a constructor, a nominated compensation table, or a global price. +Only the changed scalar word and its actual frame chains are checked here. +""" +import argparse +import copy +import gzip +import hashlib +import json +import time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def content_hash(path): + data = path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix == '.gz' else data).hexdigest() + + +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)) + + +def apply(e, rows): + if e[0] == 'scale': + _, target, a, b, *_ = e + q = Q(a, b) + assert q + rows[target] = {j: q*x for j, x in rows[target].items()} + else: + _, target, source, a, b, *_ = e + assert target != source + q = Q(a, b) + for j, x in list(rows[source].items()): + value = rows[target].get(j, Q(0)) + q*x + if value: + rows[target][j] = value + else: + rows[target].pop(j, None) + + +def inverse(e): + e = copy.deepcopy(e) + if e[0] == 'add': + e[3] *= -1 + else: + e[2], e[3] = e[3], e[2] + return e + + +def dual(e): + e = inverse(e) + if e[0] == 'add': + e[1], e[2] = e[2], e[1] + return e + + +def run(raw_path, routing_path, out): + start_time = time.monotonic() + word, routing = read(raw_path), read(routing_path) + v, h, helpers = word['report']['v'], word['report']['h'], word['report']['R'] + assert h == 9 and v == 112 and routing['v'] == v + n = 2*v + helpers + ident = lambda: [{r: Q(1)} for r in range(n)] + main = word['A'] + word['cut'] + word['B'] + assert all(not v <= e[2] < 2*v for e in word['A'] + word['B'] + if e[0] == 'add' and not v <= e[1] < 2*v) + matrix = ident() + for e in main: + apply(e, matrix) + dirty = [{} for _ in range(n)] + for r in range(v, 2*v): + dirty[r] = {j: x for j, x in matrix[r].items() if j >= 2*v} + for e in word['precondition']: + apply(e, dirty) + compensation = [['add', r, j, -q.numerator, q.denominator, []] + for r in range(v, 2*v) for j, q in sorted(dirty[r].items())] + entering = set(map(int, word.get('start_extra', {}))) + assert all(e[2] not in entering for e in compensation) + cleanup = [inverse(e) for e in reversed(word['A'] + word['B']) + if not v <= e[1] < 2*v] + assert [e[:-1] for e in cleanup] == [e[:-1] for e in word['cleanup']] + # HPE: hyperplane-ended helpers. 'early_cleanup' = [[cleanup index, frame vectors], ...] are cleanup gates executed + # right after B (before the final climbs) at the given frame; 'helper_final' = {helper: frame vectors} replaces FULL as + # that helper's terminal frame. The scalar program is the reordered one and is replayed exactly below, so a move that + # does not commute with the skipped cleanup prefix is rejected by the arbitrary-dirt endpoint assertion. + early = [(int(i), f) for i, f in word.get('early_cleanup', [])] + helper_final = {int(r): f for r, f in word.get('helper_final', {}).items()} + early_idx = [i for i, _ in early] + assert len(set(early_idx)) == len(early_idx) and all(0 <= i < len(cleanup) for i in early_idx) + assert all(2*v <= r < n for r in helper_final) + assert all(r in entering for r in helper_final), 'hyperplane end only for entering helpers (wrapper exists)' + tail = [word['cleanup'][i][:-1] + [f] for i, f in early] + rest = [e for i, e in enumerate(word['cleanup']) if i not in set(early_idx)] + program = word['precondition'] + compensation + main + tail + rest + for backward in (False, True): + actual = ident() + for e in program: + apply(dual(e) if backward else e, actual) + expected = ident() + for t in range(v): + expected[t if backward else v+t][v+t if backward else t] = Q(-1 if backward else 1) + assert actual == expected, ('arbitrary-dirt endpoint', backward) + # The native scalar compiler allows dyadic additions and signed binary scales. + for e in program: + q = Q(e[3], e[4]) if e[0] == 'add' else Q(e[2], e[3]) + assert q.denominator & (q.denominator-1) == 0 + if e[0] == 'scale': + a = abs(q.numerator) + assert a and a & (a-1) == 0 + + tau = lambda x: x ^ (43 if (x & 43).bit_count() % 2 else 0) + ports = routing['ports'] + assert len(set(ports)) == v and set(map(tau, word['ports'])) == set(ports) + mapping = {i: ports.index(tau(p)) for i, p in enumerate(word['ports'])} + mapping.update({v+i: v+mapping[i] for i in range(v)}) + mapping.update({r: r for r in range(2*v, n)}) + full = tuple(1 << i for i in range(h-1, -1, -1)) + frames, frame_ids = [(), full], {(): 0, full: 1} + + def fid(vectors): + frame = basis(vectors) + if frame not in frame_ids: + frame_ids[frame] = len(frames) + frames.append(frame) + return frame_ids[frame] + + def transform(e): + e = copy.deepcopy(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 + + canonical = {key: [transform(e) for e in word[key]] + for key in ('A', 'B', 'cut', 'cleanup', 'precondition')} + canonical['compensation'] = [transform(e) for e in compensation] + if tail: + canonical['tail'] = [transform(e) for e in tail] # HPE (absent for inherited words: identical output) + canonical['cleanup'] = [transform(e) for e in rest] # HPE (full cleanup minus the early gates) + canonical['start'] = [fid([p]) for p in ports] + [0]*(v+helpers) + for r, frame in word.get('start_extra', {}).items(): + assert 2*v <= int(r) < n + canonical['start'][int(r)] = fid([tau(x) for x in frame]) + canonical['final'] = ([1]*v + + [fid(x for x in range(1, 1 << h) if (x & p).bit_count() % 2 == 0) for p in ports] + + [1]*helpers) + for r, frame in helper_final.items(): # HPE + canonical['final'][r] = fid([tau(x) for x in frame]) + canonical.update(h=h, v=v, R=helpers, ports=ports, frames=frames, + centers=[mapping[r] for r in word['centers']], + center_frames=[fid(tau(x) for x in frame) for frame in word['center_frames']]) + levels = {mapping[v+int(t)]-v: fid(tau(x) for x in frame) + for t, frame in word.get('target_levels', {}).items()} + canonical['target_levels'] = {str(t): f for t, f in levels.items()} + current, paid, edges = canonical['start'].copy(), Counter(), set() + + def climb(r, f): + old = current[r] + assert basis(frames[old] + frames[f]) == frames[f], ('nonmonotone', r, old, f) + if old != f: + degree = len(frames[f]) - len(frames[old]) + assert degree > 0 + paid[degree] += 1 + edges.add((old, f)) + current[r] = f + + for part in ('A', 'B'): + if part == 'B': + assert all(current[r] == f for r, f in zip(canonical['centers'], canonical['center_frames'])) + assert all(current[v+t] == levels.get(t, 0) for t in range(v)) + for r, frame in zip(canonical['centers'], canonical['center_frames']): + served = {levels.get(e[1]-v, 0) for e in canonical['cut'] if e[2] == r} + old = frame + for f in sorted(served, key=lambda f: -len(frames[f])): + assert basis(frames[old] + frames[f]) == frames[old] + if old != f: + paid[len(frames[old])-len(frames[f])] += 1 + edges.add((old, f)) + edges.add((f, old)) + old = f + for e in canonical[part]: + for r in [e[1]] + ([e[2]] if e[0] == 'add' else []): + climb(r, e[-1]) + for e in canonical.get('tail', []): # HPE: early cleanup gates at their common frame + for r in [e[1]] + ([e[2]] if e[0] == 'add' else []): + climb(r, e[-1]) + for r, f in enumerate(canonical['final']): + climb(r, f) + # HPE: the remaining cleanup runs at FULL, so it may touch only registers whose terminal frame is FULL; a + # hyperplane-ended helper is touched by nothing after its tail gates. + for e in canonical['cleanup']: + assert all(canonical['final'][r] == 1 for r in [e[1]] + ([e[2]] if e[0] == 'add' else [])), ('cleanup on non-FULL end', e) + assert all(len(frames[canonical['final'][r]]) < h for r in helper_final) + assert dict(paid) == {int(r): count for r, count in word['report']['local_profile'].items()} + canonical['local_profile'] = dict(sorted(paid.items())) + canonical['edges'] = sorted(edges) + out.mkdir(parents=True, exist_ok=False) + payload = json.dumps(canonical, sort_keys=True, separators=(',', ':')).encode() + (out/'CANONICAL-WORD.json.gz').write_bytes(gzip.compress(payload, mtime=0)) + (out/'FULL-WORD.json.gz').write_bytes(gzip.compress(json.dumps(word, sort_keys=True, separators=(',', ':')).encode(), mtime=0)) + receipt = dict(status='PASS_CHANGED_WORD_ALL_COLUMNS_AND_NATIVE_FRAMES', + input_content_sha256=content_hash(raw_path), routing_content_sha256=content_hash(routing_path), + canonical_content_sha256=hashlib.sha256(payload).hexdigest(), + live_columns_each_orientation=n, helpers=helpers, + compensation_additions=len(compensation), scalar_operations=len(program), + center_rank_sum=sum(map(len, word['center_frames'])), + local_profile=dict(sorted(paid.items())), local_rank_mass=sum(r*z for r, z in paid.items()), + widths=[len(frames[canonical['final'][r]])-len(frames[canonical['start'][r]]) for r in range(2*v, n)], + frames=len(frames), directed_edges=len(edges), + tau=43, target_port_order_matches_baseline=True, + seconds=time.monotonic()-start_time, + scope='Fresh exact forward and inverse-transpose scalar replay on every arbitrary input; all native frame chains and dyadic primitives. Phase lowering, wrappers, global owners and global assembly are separate.') + if tail or helper_final: + receipt.update(hyperplane_ended_helpers=sorted(helper_final), early_cleanup_gates=len(tail)) + (out/'SCALAR-FRAME-AUDIT.json').write_text(json.dumps(receipt, indent=2)+'\n') + print(json.dumps({k: value for k, value in receipt.items() if k != 'widths'}, indent=2), flush=True) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--raw', type=Path, required=True) + parser.add_argument('--routing', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + run(args.raw, args.routing, args.out) diff --git a/research/complex-571-hpem46/code/hpe_audit_local.py b/research/complex-571-hpem46/code/hpe_audit_local.py new file mode 100644 index 0000000000..29189b1420 --- /dev/null +++ b/research/complex-571-hpem46/code/hpe_audit_local.py @@ -0,0 +1,159 @@ +# Local-only extraction of the attributed PR514 / PR433 independent replay. +# Prepared for icekylinx with OpenAI Codex assistance. Apache-2.0. +# The complete local checker and its negative controls are retained verbatim. +# Global hosting is verified separately for the changed 112-port geometry. +import copy,gzip,hashlib,json,sys +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +OUT=Path(sys.argv[1]) +c=json.load(gzip.open(OUT/'CANONICAL-WORD.json.gz')) +ir={'local_programs':json.load(gzip.open(OUT/'LOCAL-PROGRAMS.json.gz'))} +v,R,h=c['v'],c['R'],c['h'];n=2*v+R;frames=c['frames'] +levels={int(t):f for t,f in c.get('target_levels',{}).items()} +entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] +plain={r for r in range(n) if r not in set(entering)} + +def contains(a,b): + for x in a: + for y in b: + if x>>(y.bit_length()-1)&1:x^=y + if x:return False + return True +hpe={r for r in range(2*v,n) if c['final'][r]!=1} # HPE: helpers whose terminal frame is a proper subspace U of FULL +assert hpe<=set(entering) and all(len(frames[c['final'][r]])0 + hist[rank]+=1;cur[r]=b + elif tag=='center': + _,k,a,b,rank=event + assert phases[-1]=='centers' and private=={('C',k):a} + cf=c['center_frames'][k];cr=len(frames[cf]) + # GK: stepwise descent cf -> served levels -> lowest (forward), reversed ascent (backward); each step is a nested child + assert contains(frames[a],frames[b]) if back else contains(frames[b],frames[a]) + assert rank==abs(len(frames[a])-len(frames[b]))>0 + chain.setdefault(k,[]).append((a,b)) + private['C',k]=b;hist[rank]+=1;centers.append(k) + elif tag=='scalar': + _,e,f=event;op=e[0];target=tuple(e[1]);source=tuple(e[2]) if op in ('copy','add') else None + if target[0]=='C' and op=='clear': + assert private.get(target,f)==f + private.pop(target,None) + else: + for r in (target,source): + if r is None:continue + if r[0]=='L':assert cur[r[1]]==f,('common frame',r,cur[r[1]],f) + else: + if r==target and r not in private:private[r]=f + assert private[r]==f + if op=='clear':rows[target]={};norm[target]=Q(0) + elif op=='copy':rows[target]=dict(rows[source]);norm[target]=norm[source] + elif op=='scale': + q=Q(e[2],e[3]);a,b=abs(q.numerator),q.denominator + assert a&(a-1)==0 and b&(b-1)==0 + rows[target]={j:q*x for j,x in rows[target].items()};norm[target]*=abs(q) + else: + q=Q(e[3],e[4]);a,b=abs(q.numerator),q.denominator + assert source!=target and b&(b-1)==0 + # Independent symbolic replay of the cleared coefficient work. + w=0 + for bit in bin(a)[2:]:w=2*w+int(bit) + assert Q(w,b)*(1 if q>0 else -1)==q + prefix=max(prefix,Q(a)*norm[source]) + norm[target]=norm.get(target,Q(0))+abs(q)*norm[source] + row=rows.setdefault(target,{}) + for j,x in list(rows[source].items()): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) + prefix=max(prefix,norm[target]) + else:raise AssertionError(tag) + assert phases==allowed and set(centers)==set(range(len(c['centers']))) and not private + assert sorted(r for k,r,_ in wrappers if k=='pre')==entering and sorted(r for k,r,_ in wrappers if k=='post')==entering # GK + for k,st in chain.items(): # GK: the steps of each centre chain link up and end at the centre frame + cf=c['center_frames'][k] + if back:assert st[-1][1]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + else:assert st[0][0]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + assert all(not row for reg,row in rows.items() if reg[0]=='C') + for r in range(n): + expected={r:Q(1)} + if back and r i0])) +reject('early gate frame below its registers\' frames', lambda w: w['early_cleanup'][0].__setitem__(1, U0[:-1])) +reject('hyperplane end on a non-entering helper', lambda w: (w['start_extra'].pop(h0))) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('1', w['report']['local_profile']['1']-3)) +reject('profile without 8 partner U->FULL climb charges', lambda w: w['report']['local_profile'].__setitem__('1', w['report']['local_profile']['1']-8)) +reject('duplicate early gate', lambda w: w['early_cleanup'].append(list(w['early_cleanup'][0]))) + +# Constructor controls for build_hpe's commutation rule (an early gate h -= p may skip earlier cleanup gates on p only +# when they commute with it, i.e. only read p). base = the word without its hyperplane ends; a skipped gate that WRITES +# the partner (an addition into p or a scale of p) or touches h must make build_hpe.apply refuse the recipe, while a +# skipped gate that only reads p is accepted. +import build_hpe +base = copy.deepcopy(word); base.pop('early_cleanup'); base.pop('helper_final') +hf = {int(h) for h in word['helper_final']} +changes = [] +for i, U in word['early_cleanup']: # pair each early gate with its helper via the gate's target + h = cl[i][1] + assert h in hf and word['helper_final'][str(h)] == U + changes.append(dict(helper=h, cleanup_index=i, frame=U)) +z0 = changes[0]; g0 = cl[z0['cleanup_index']]; p0 = g0[2] +x0 = next(r for r in range(2*v, n) if r not in {z['helper'] for z in changes} | {cl[z['cleanup_index']][2] for z in changes}) +NONCOMMUTE = 'cleanup gate does not commute with the skipped cleanup gates on its registers' +ONEGATE = 'helper must have exactly this one cleanup gate' + + +def build_with(w): + return build_hpe.apply(w, changes) + + +def inserted(pre): + """base with gate `pre` inserted at cleanup position 0; the changes' indices shift by one""" + w = copy.deepcopy(base); w['cleanup'].insert(0, pre) + return w, [dict(z, cleanup_index=z['cleanup_index'] + 1) for z in changes] + + +def cfail(name, w, ch, expect): + """the constructor must refuse with the pinned message `expect`""" + try: + build_hpe.apply(w, ch) + except AssertionError as e: + assert expect in str(e), ('constructor control %r failed with the wrong message: %s' % (name, e)) + results.append('constructor: ' + name); print('rejected constructor:', name, '--', expect, flush=True); return + raise AssertionError('HPE constructor mutation accepted: ' + name) + + +build_hpe.apply(*inserted(['add', x0, p0, -1, 1, FULL])) # positive: a skipped gate that only reads the partner commutes +cfail('skipped cleanup gate adds into the partner', *inserted(['add', p0, x0, -1, 1, FULL]), NONCOMMUTE) +cfail('skipped cleanup gate scales the partner', *inserted(['scale', p0, -1, 1, FULL]), NONCOMMUTE) +cfail('extra cleanup gate reading the helper (one-gate rule)', *inserted(['add', x0, z0['helper'], -1, 1, FULL]), ONEGATE) +cfail('extra cleanup gate adding into the helper (one-gate rule)', *inserted(['add', z0['helper'], x0, -1, 1, FULL]), ONEGATE) +# Real helpers admitted only by the commutation rule: their partner has an earlier cleanup gate x -= p (reads p). +# Flipping that gate in place to p -= x (writes p) must be refused by the commutation assert. +first = {} +for i, e in enumerate(cl): + for r in regs(e): first.setdefault(r, i) +relaxed = [z for z in changes if any(first[r] < z['cleanup_index'] for r in regs(cl[z['cleanup_index']]))] +for z in relaxed: + i = z['cleanup_index']; p = cl[i][2] + j = next(j for j in range(i) if p in regs(cl[j])) + e = cl[j]; assert e[0] == 'add' and e[2] == p and e[1] != p, ('skipped gate on a relaxed helper is not a reader', j, e) + build_hpe.apply(copy.deepcopy(base), changes) # positive: the real word's own changes + w = copy.deepcopy(base); w['cleanup'][j] = ['add', p, e[1]] + e[3:] + cfail('real helper %d: skipped gate %d flipped from %d -= %d to %d -= %d' % (z['helper'], j, e[1], p, p, e[1]), w, changes, NONCOMMUTE) +print('relaxed helpers', [z['helper'] for z in relaxed], flush=True) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'HPE-ATC-CONTROLS.json').write_text(json.dumps(dict(status='PASS_HPE_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'HPE raw-word mutations rejected') diff --git a/research/complex-571-hpem46/code/hpe_emit_local.py b/research/complex-571-hpem46/code/hpe_emit_local.py new file mode 100644 index 0000000000..aad715c157 --- /dev/null +++ b/research/complex-571-hpem46/code/hpe_emit_local.py @@ -0,0 +1,161 @@ +# GK: modified copy of PR #433's complex_emit.py (icekylinx with Codex assistance; PR #425) by DreamingOfClouds with Claude Opus 5.5 +# (Anthropic), via Claude Code. Every change is marked "GK:". On a word without start_extra / target_levels the behaviour +# and every written file equal PR #433's (regression anchor in verify.py). +import sys as _sys, os as _os; _sys.path.insert(0, _os.path.dirname(_os.path.abspath(__file__))) +# Adapted from PR425 by icekylinx with Codex assistance. +"""Emit both local programs, integrate the fixed nine-stage geometry, and bill. + +The expanded scalar interface is justified in PROOF.txt. This script does not +claim a Lean proof or discharge the inherited all-size/analytic interfaces. +""" +import copy,gzip,hashlib,importlib.util,json,math +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +OUT=Path(_sys.argv[1]);cp=OUT/'CANONICAL-WORD.json.gz' +c=json.load(gzip.open(cp)) +frames=c['frames'];v,R,h=c['v'],c['R'],c['h'];n=2*v+R +def digest(x):return hashlib.sha256(json.dumps(x,sort_keys=True,separators=(',',':')).encode()).hexdigest() +def basis(vs): + b={} + for x in vs: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def dual(e): + e=list(e) + if e[0]=='add':e[1],e[2]=e[2],e[1];e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + return e +def scalar(e,back): + e=dual(e) if back else list(e) + if e[0]=='add':return ['add',['L',e[1]],['L',e[2]],e[3],e[4]] + return ['scale',['L',e[1]],e[2],e[3]] +def primitive_bound(e): + if e[0] in ('clear','copy'):return 1 + q=Q(e[3],e[4]) if e[0]=='add' else Q(e[2],e[3]) + a,b=abs(q.numerator),q.denominator + assert b&(b-1)==0 + if e[0]=='scale': + assert a&(a-1)==0 + return abs(a.bit_length()-b.bit_length())+int(q<0) + # Exact binary Horner multiplication on a cleared private stream, repeated + # halving, signed accumulation into the target, then clear the private stream. + return 3+(a.bit_length()-1)+a.bit_count()+(b.bit_length()-1) + +def emit(back): + out=[];cur=c['start'].copy() + def event(e):out.append(e) + def scal(e,f):event(['scalar',e,f]) + event(['phase','zero_frame_precondition']) + for e in c['precondition']+c['compensation']: + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + assert all(c['start'][r]==0 for r in regs) + scal(scalar(e,back),0) + event(['phase','entry_adapters']) + # GK: a helper that starts at a nonzero entrance frame has NO entry adapter; its paid wrapper R_E^-1 (Lemma A) precedes every gate + # that touches it and L_E^-1 follows the full-frame cleanup. Words without entrances emit PR #433's events. + entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] + hpe={r for r in range(2*v,n) if c['final'][r]!=1} # HPE: hyperplane-ended helpers (terminal frame != FULL) + assert hpe<=set(entering) + for r,f in enumerate(c['start']): + if r in entering:event(['residual_adapter','pre',r,f]+([c['final'][r]] if c['final'][r]!=1 else [])) # HPE: R_{E,U}^-1 names U + else:event(['adapter','old_to_new',r,f]) + def climb(r,f,part): + old=cur[r] + if old==f:return + assert basis(frames[old]+frames[f])==tuple(frames[f]) + rank=len(frames[f])-len(frames[old]);assert rank>0 + event(['climb',part,r,old,f,rank]);cur[r]=f + # HPE: 'cleanup_tail' = early cleanup gates at their own frames; emitted only when the word has them, so a word + # without hyperplane-ended helpers yields exactly the inherited event stream. + for part in ('A','centers','B')+(('cleanup_tail',) if c.get('tail') else ())+('final',): + event(['phase',part]) + if part in ('A','B','cleanup_tail'): + for e in (c['tail'] if part=='cleanup_tail' else c[part]): + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + for r in regs:climb(r,e[-1],part) + scal(scalar(e,back),e[-1]) + elif part=='centers': + # GK: targets sit at their nonzero-frame-compensation level (0 at the defaults); a centre copy descends + # cf -> served levels (descending chain) -> lowest served level and scatters into each target at its level + lv=lambda r:c.get('target_levels',{}).get(str(r-v),0) + assert all(cur[r]==lv(r) for r in range(v,2*v)) + for k,r in enumerate(c['centers']): + cf=c['center_frames'][k];assert cur[r]==cf + terms=[e for e in c['cut'] if e[2]==r] + path=[cf]+sorted({lv(e[1]) for e in terms}-{cf},key=lambda x:-len(frames[x])) + C=['C',k] + if not back: + scal(['clear',C],cf);scal(['copy',C,['L',r]],cf) + for a in range(len(path)): + if a>0:event(['center',k,path[a-1],path[a],len(frames[path[a-1]])-len(frames[path[a]])]) + for e in terms: + if lv(e[1])==path[a]:scal(['add',['L',e[1]],C,e[3],e[4]],path[a]) + scal(['clear',C],path[-1]) + else: + scal(['clear',C],path[-1]) + for a in range(len(path)-1,-1,-1): + for e in terms: + if lv(e[1])==path[a]:scal(['add',C,['L',e[1]],e[3],e[4]],path[a]) + if a>0:event(['center',k,path[a],path[a-1],len(frames[path[a-1]])-len(frames[path[a]])]) + scal(['add',['L',r],C,-1,1],cf);scal(['clear',C],cf) + else: + for r,f in enumerate(c['final']):climb(r,f,part) + event(['phase','exit_adapters']) + for r,f in enumerate(c['final']): + if r not in hpe:event(['adapter','new_to_old',r,f]) # HPE: no old-convention exit for a helper that ends at U; its post wrapper is L_{E,U}^-1 + event(['phase','full_frame_cleanup']) + for e in c['cleanup']: + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + assert all(c['final'][r]==1 for r in regs) + scal(scalar(e,back),1) + for r in entering:event(['residual_adapter','post',r,c['start'][r]]+([c['final'][r]] if r in hpe else [])) # HPE: 5th field = terminal frame U # GK: L_E^-1 after the full-frame cleanup + event(['phase','done']) + return out + +def check_local(events,back): + # Literal scalar replay of the emitted stream, including center lifetimes. + state={('L',r):{r:Q(1)} for r in range(n)};live=[];paid=Counter();prims=0;macros=0 + for e in events: + if e[0]=='climb':assert not live;paid[e[5]]+=1 + elif e[0]=='center':assert live==[e[1]];paid[e[4]]+=1 + elif e[0]=='scalar': + op=e[1];tag=op[0];t=tuple(op[1]);macros+=1;prims+=2*primitive_bound(op) + if tag=='clear': + state[t]={} + if t[0]=='C' and t[1] in live:live.remove(t[1]) + elif tag=='copy':state[t]=dict(state.get(tuple(op[2]),{}));live.append(t[1]) + elif tag=='scale':state[t]={j:Q(op[2],op[3])*x for j,x in state[t].items()} + else: + s=tuple(op[2]);q=Q(op[3],op[4]);row=state.setdefault(t,{}) + if t[0]=='C' and t[1] not in live:live.append(t[1]) + for j,x in list(state.get(s,{}).items()): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) + assert not live and all(not row for r,row in state.items() if r[0]=='C') + for r in range(n): + expected={r:Q(1)} + if back and r PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,helpers,h)==(112,504,9) + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + for event in events: + tag = event[0] + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and entrances.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(entrances) + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros, real_component_primitives=real, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + adapters = 16*(macro_bound+children+n+centres)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + v,helpers,h,m,centres,n=112,504,9,73,8,728 + stages,replicas,blocks_per_stream=9,8,4 + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==2560 + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=512 + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==payload + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] diff --git a/research/complex-571-hpem46/data/OWNERS.json.gz b/research/complex-571-hpem46/data/OWNERS.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..4848c511d06134cf474fe54ef1850f597374c352 GIT binary patch literal 421158 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%0Dc#pV8oZ zfs}M#C)H?=+#$zQ^OQ)7m|>E#-0A{j#Pknl#~JAAgHq6=1^ylfp?oxLSUQ*^Sk14u z%df#MEd~ZDp|&P2aVWr8m)!aG#5WZPjKL}O`s1k!gMr+*=S6;Dnnw^dNckEw+>`t6 z(xCCg{wQFtO_ug#%wP7T1qy2#E-iD{wzF*n7#J2wP<(X4>X?N!U1LJS0J~fVu16Ek zeJ)9h4g1vD&cY7W5TjRRLL0o;OZ|PB`^Iwm$eU|L`|yyD@5{E*$!BleJ*OWH#)0>JGs$9R4W%Rj{dSuhS z&Zz|yvo<-xfJ=?i|JLjSM9zMj+%OaAw-hPqTY*GcBAGdW@Xi7v;|#jExE0fA6wp9Z zm*ld=rP~*S^F%GZ+idV_S8xKvK7^Lyi*@E&Pqy31dag=Z&J!?GaPlUsI0gUCYH|5q zH+Z*koH>;-Mo<8C{9YWkVX!VH8F)r~mt()RIYR+qz8VMXyEU?f7=G#XO<_R}aZPkn zh%5FA(Uz$011mkDlbKwxwCr{|QLImhS_-~oN-^K>Zj>UiX2X$tRI|^v%-!cxr)=$J zeRcM^g(MG)iUkg9uM#XxF@-(1nr7C1Zbb2=BmK^XZN%*RLaOiYte*O*nn%pMcL+!B zCh4!BH*UiGn76_NOg3m{K+S2Vg_+VkiCdsR>aa`@C3u=oL-m!y@ym)d1A`Lv&J-_% Ob%c|jAzy3!^M3%4ff@+_ literal 0 HcmV?d00001 diff --git a/research/complex-571-hpem46/data/PLAN.json b/research/complex-571-hpem46/data/PLAN.json new file mode 100644 index 0000000000..13bf5e5de4 --- /dev/null +++ b/research/complex-571-hpem46/data/PLAN.json @@ -0,0 +1,43330 @@ +{ + "status": "LITERAL_OWNER_NOMINATION_PENDING_ADMISSION", + "mode": "frozen-saturation-pattern-time-matching", + "K": 4, + "T": 8, + "M": 73, + "L": 9, + "live": 7168, + "deficit": 2560, + "profile": { + "1": 183641, + "2": 32546, + "3": 23850, + "4": 14088, + "5": 4032, + "6": 4032, + "7": 3, + "8": 576, + "48": 1981 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,1": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,3": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,5": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,7": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,9": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,11": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,12": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,13": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,14": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,15": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,16": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,17": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,1": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,3": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,5": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,7": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,9": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,11": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,12": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,13": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,14": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,15": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,16": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,17": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,9": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,11": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,12": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,13": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,14": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,15": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,16": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,17": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,5": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,7": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,14": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,15": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,16": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,17": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,5": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,7": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,9": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,11": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,12": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,13": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,16": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,17": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,5": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,7": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,12": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,13": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,14": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,15": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,16": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,17": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,1": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,3": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,9": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,11": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,12": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,13": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,14": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,15": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,16": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,17": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,1": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,3": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,5": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,7": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,9": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,11": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,14": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,15": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,16": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,17": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "literal_integer_flow_and_per_window_matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 2, + "stage": 1, + "replica": 0, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 3, + "stage": 0, + "replica": 2, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 4, + "stage": 1, + "replica": 1, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 5, + "stage": 2, + "replica": 0, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 6, + "stage": 0, + "replica": 3, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 7, + "stage": 1, + "replica": 2, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 8, + "stage": 2, + "replica": 1, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 9, + "stage": 3, + "replica": 0, + "provider": "jp8", + "orientation": "backward", + "local_program_sha256": "009c1a2a234f733da4078abc7bb5c87dfdd376f0a6462e6e4ac32a46290278bc" + }, + { + "time": 10, + "stage": 0, + "replica": 4, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 12, + "stage": 2, + "replica": 2, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 13, + "stage": 3, + "replica": 1, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 14, + "stage": 4, + "replica": 0, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 15, + "stage": 0, + "replica": 5, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 16, + "stage": 1, + "replica": 4, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 17, + "stage": 2, + "replica": 3, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 18, + "stage": 3, + "replica": 2, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 19, + "stage": 4, + "replica": 1, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 20, + "stage": 5, + "replica": 0, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 21, + "stage": 0, + "replica": 6, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 22, + "stage": 1, + "replica": 5, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 23, + "stage": 2, + "replica": 4, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 24, + "stage": 3, + "replica": 3, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 25, + "stage": 4, + "replica": 2, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 26, + "stage": 5, + "replica": 1, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 27, + "stage": 0, + "replica": 7, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 28, + "stage": 6, + "replica": 0, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 29, + "stage": 1, + "replica": 6, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 30, + "stage": 2, + "replica": 5, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 31, + "stage": 3, + "replica": 4, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 32, + "stage": 4, + "replica": 3, + "provider": "jp8", + "orientation": "forward", + "local_program_sha256": "2761b99cfb21655ffb403dce3df2cbc8e2d5b5fb964596548e2044e2c383bf96" + }, + { + "time": 33, + "stage": 5, + "replica": 2, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 34, + "stage": 6, + "replica": 1, + "provider": "jp8", + "orientation": "forward", + "local_program_sha256": "2761b99cfb21655ffb403dce3df2cbc8e2d5b5fb964596548e2044e2c383bf96" + }, + { + "time": 35, + "stage": 1, + "replica": 7, + "provider": "jp8", + "orientation": "backward", + "local_program_sha256": "009c1a2a234f733da4078abc7bb5c87dfdd376f0a6462e6e4ac32a46290278bc" + }, + { + "time": 36, + "stage": 7, + "replica": 0, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 37, + "stage": 2, + "replica": 6, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 38, + "stage": 3, + "replica": 5, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 39, + "stage": 4, + "replica": 4, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 40, + "stage": 5, + "replica": 3, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 41, + "stage": 6, + "replica": 2, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 42, + "stage": 7, + "replica": 1, + "provider": "jp8", + "orientation": "backward", + "local_program_sha256": "009c1a2a234f733da4078abc7bb5c87dfdd376f0a6462e6e4ac32a46290278bc" + }, + { + "time": 43, + "stage": 2, + "replica": 7, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 44, + "stage": 8, + "replica": 0, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 45, + "stage": 3, + "replica": 6, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 46, + "stage": 4, + "replica": 5, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 47, + "stage": 5, + "replica": 4, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 48, + "stage": 6, + "replica": 3, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 49, + "stage": 7, + "replica": 2, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 50, + "stage": 8, + "replica": 1, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 51, + "stage": 3, + "replica": 7, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 52, + "stage": 4, + "replica": 6, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 53, + "stage": 5, + "replica": 5, + "provider": "jp8", + "orientation": "backward", + "local_program_sha256": "009c1a2a234f733da4078abc7bb5c87dfdd376f0a6462e6e4ac32a46290278bc" + }, + { + "time": 54, + "stage": 6, + "replica": 4, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 55, + "stage": 7, + "replica": 3, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 56, + "stage": 8, + "replica": 2, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 57, + "stage": 4, + "replica": 7, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 58, + "stage": 5, + "replica": 6, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 59, + "stage": 6, + "replica": 5, + "provider": "atm3", + "orientation": "forward", + "local_program_sha256": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + { + "time": 60, + "stage": 7, + "replica": 4, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 61, + "stage": 8, + "replica": 3, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 62, + "stage": 5, + "replica": 7, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 63, + "stage": 6, + "replica": 6, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 64, + "stage": 7, + "replica": 5, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 65, + "stage": 8, + "replica": 4, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 66, + "stage": 6, + "replica": 7, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 67, + "stage": 7, + "replica": 6, + "provider": "atm3", + "orientation": "backward", + "local_program_sha256": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + { + "time": 68, + "stage": 8, + "replica": 5, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 69, + "stage": 7, + "replica": 7, + "provider": "ck", + "orientation": "backward", + "local_program_sha256": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + { + "time": 70, + "stage": 8, + "replica": 6, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + { + "time": 71, + "stage": 8, + "replica": 7, + "provider": "ck", + "orientation": "forward", + "local_program_sha256": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "atm3": { + "directory": "providers/atm3", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "736b646a166dc74b1f8b7273795e54c4262baabf54149ac7f771a326a695928a", + "LOCAL-PROGRAMS.json.gz": "b103fe3fbe042c064750ebcd6ce88d30a158e417706a55a182441c95cc7f8df5", + "LOCAL-CHECKS.json": "f8fac6518bc157bc06777c6b287050ae25ee0a136ffb4e0da0202492b47d9804", + "INDEPENDENT-LOCAL-REPLAY.json": "f7813385fce48fe80de8199ddf5d75feea459ba794d3fad7b40b4ceed7cbf4e7", + "CLIFFORD-RECIPES.json": "513fcddbaab5a7fd408dee02c4c3ba89999a68913d75661edcb2575dc82c3fd5", + "CLIFFORD-REVIEW.json": "fe1cb8e30095c1479eab5cd6f3bcd5a5e89f409cb7ad09b92e395b20e8ca9ad6", + "RESIDUAL-ADAPTERS.json": "029bec7e0a7e4e5d183b1416615a4b2591b8d712471d30b8121cd9a1078726c7" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 229, + 224, + 227, + 225, + 243, + 241, + 259, + 257 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2614, + "2": 408, + "3": 288, + "4": 224, + "5": 56, + "6": 56, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014", + "backward": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "b22532c28209ff922c09b378231814038adf0acdfde7c3b1f81aace7e95cfb15", + "LOCAL-PROGRAMS.json.gz": "8087c9ef792af7f87642ac7f86232e64be551919108d40f5156cbf2c0647f94b", + "LOCAL-CHECKS.json": "070dbdea5939a8d594ccdb924770d8f3c6552e44bc915c7ace26664f8cfacaf0", + "INDEPENDENT-LOCAL-REPLAY.json": "e23bdfff9324cb020f530c0dfbb11c1ca322c5cad28d244ff886d5c4fe282a4d", + "CLIFFORD-RECIPES.json": "513fcddbaab5a7fd408dee02c4c3ba89999a68913d75661edcb2575dc82c3fd5", + "CLIFFORD-REVIEW.json": "078c14a10fa2599cba664cc5a5794e7f24f0cbda6c50ec432b1811e968a266cd", + "RESIDUAL-ADAPTERS.json": "618ffc04835a10fc9aad89b6ec2b796eea14d0638f3291ee7e1fe8f0e5984f9b" + } + }, + "ck": { + "directory": "providers/ck", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "a65751fad4735afb5fac1fa09c33f7364124461328298eda2888b081baf99ec9", + "LOCAL-PROGRAMS.json.gz": "8b7f56fc6c1f7e5667a4c7efe140d32b66cb6217404a0789ce9c980e238a7a65", + "LOCAL-CHECKS.json": "9de8b5e4e986314bc2935b52f11040bfd4914c190d605e7b802fb26585f586ca", + "INDEPENDENT-LOCAL-REPLAY.json": "53425129ae4fec540099240f3e8586a11e5ed691a50f7429c5b46017a48e22ff", + "CLIFFORD-RECIPES.json": "395ff116b7214c826e1f9ba3affe44f6b5bf82b3c18d8ddcc6617f5515007b92", + "CLIFFORD-REVIEW.json": "b126f351769d3919e974bf4d948c77f7962b9ae69e1e0d2069de55c27368205d", + "RESIDUAL-ADAPTERS.json": "5c682ab693b041fbf3846afd054a1d7dd2ff2b9108f8310f72b601d2d119a18b" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 229, + 224, + 227, + 225, + 243, + 241, + 259, + 257 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2534, + "2": 488, + "3": 328, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8", + "backward": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "43941c0ca50e18bb849f319ef4f7b7a206f511b183fee4e79e3e1835610faba2", + "LOCAL-PROGRAMS.json.gz": "efb82eb7cb7ca23b569b98bfa414d8a28866f0e368051ab95c2c235ae83865a2", + "LOCAL-CHECKS.json": "5671066dd94d33c56ba9609d4bd11480828e8d92885ac36700ce5614b8e8bc7f", + "INDEPENDENT-LOCAL-REPLAY.json": "a7bf0f0121b2213619d81ffd3176a95f47ba32f4c9361bdf3becab376ac3ab52", + "CLIFFORD-RECIPES.json": "395ff116b7214c826e1f9ba3affe44f6b5bf82b3c18d8ddcc6617f5515007b92", + "CLIFFORD-REVIEW.json": "47868be414bdc852b372706c13799ddc853d8293e0d58867f1fcaac6df5a228d", + "RESIDUAL-ADAPTERS.json": "6d44c6482a7bbcb4ca0460dbc5d79caa580d1858f43a6f3731207e23d8134d22" + } + }, + "jp8": { + "directory": "providers/jp8", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "ca3bbdbf1eefcdc12454997bd46ebcc58e4208cd0b95dfba7759b662c0c6d0d8", + "LOCAL-PROGRAMS.json.gz": "07b3eb2b0dce1bee5bf13a2bfb6ad189dc2c2a248d0a21d1352ac39885bc6b44", + "LOCAL-CHECKS.json": "69bca63187f15278598e1766b19a66f6c5eca48d7943ba20b38829ef781ccffb", + "INDEPENDENT-LOCAL-REPLAY.json": "0ecbd320b77d631dc0fe4eb5e3598607cf8dbda989f8a0c9b07f215989ac605e", + "CLIFFORD-RECIPES.json": "588fec18a29bc3a83fe52fa9a04d2c21a47d0a73d2de6b624d45c26c88b84e47", + "CLIFFORD-REVIEW.json": "c6771784dd04446e82a80bb8759e966463ed2c9d127a5e00a29b89c36280d3c8", + "RESIDUAL-ADAPTERS.json": "77dc531b7582afabbd9f49d73604ecaf2a3802b3b03e8c452224e91b0ecbdb7c" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 229, + 224, + 227, + 225, + 243, + 241, + 259, + 257 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2450, + "2": 336, + "3": 472, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "2761b99cfb21655ffb403dce3df2cbc8e2d5b5fb964596548e2044e2c383bf96", + "backward": "009c1a2a234f733da4078abc7bb5c87dfdd376f0a6462e6e4ac32a46290278bc" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "86c4cced53877f258f408d61a41d84b8ad1316f4b436fe24b5e548e57c83da2c", + "LOCAL-PROGRAMS.json.gz": "05e40585f058cdd76bae834163e122d57fba871a9f477cf44a07bd6d8c678132", + "LOCAL-CHECKS.json": "6c81901ec9ec5b197b920a4319fe86430603befd7fbf83b81ac8e54e31abe76d", + "INDEPENDENT-LOCAL-REPLAY.json": "1bcf6332a566cde88ba763190d509927dadc8f63235d24bc352a6dd395bb4c1c", + "CLIFFORD-RECIPES.json": "588fec18a29bc3a83fe52fa9a04d2c21a47d0a73d2de6b624d45c26c88b84e47", + "CLIFFORD-REVIEW.json": "8f8d443d0d550e5eedbf7acad44b27fc4ca7069650f9055603e6bb1af2d13e55", + "RESIDUAL-ADAPTERS.json": "bdfd48c52ceb093e2f1ed893a1817cdfbbfef957b803c99a467786e06f73267b" + } + } + }, + "source_plan_sha256": "c4c9f4f5db481c982f1d0f9396249ab0593165c1b7ec5d4d2ab850b92c80beac", + "assignment_sha256": "7a9d95890f22233c6c942e1e2eae9c30dbe098ff718a59514a02256a45d4e888", + "source_owners_sha256": "7a9d95890f22233c6c942e1e2eae9c30dbe098ff718a59514a02256a45d4e888" +} diff --git a/research/complex-571-hpem46/data/SPEC.json b/research/complex-571-hpem46/data/SPEC.json new file mode 100644 index 0000000000..0f0455d4ea --- /dev/null +++ b/research/complex-571-hpem46/data/SPEC.json @@ -0,0 +1,2833 @@ +{ + "schema": "witness-spec/1", + "name": "mhpe46", + "data": { + "plan_sha256": "329750b57d80ee60893ca1be6bba38f39a2264dd63bf2158ca0ac68f406326cd", + "owners_sha256": "7a9d95890f22233c6c942e1e2eae9c30dbe098ff718a59514a02256a45d4e888" + }, + "providers": { + "atm3": { + "semantic_phase_sha256": "078c14a10fa2599cba664cc5a5794e7f24f0cbda6c50ec432b1811e968a266cd", + "width_digest": "3a1b3e2985e2b388aff05ea3710e2346b6b35aadf6b923e6568f1ad7d8e99246", + "program_hashes": { + "backward": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd", + "forward": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + "artifacts": { + "CLIFFORD-RECIPES.json": "513fcddbaab5a7fd408dee02c4c3ba89999a68913d75661edcb2575dc82c3fd5", + "LOCAL-CHECKS.json": "f8fac6518bc157bc06777c6b287050ae25ee0a136ffb4e0da0202492b47d9804", + "RESIDUAL-ADAPTERS.json": "029bec7e0a7e4e5d183b1416615a4b2591b8d712471d30b8121cd9a1078726c7" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "b22532c28209ff922c09b378231814038adf0acdfde7c3b1f81aace7e95cfb15", + "LOCAL-PROGRAMS.json.gz": "8087c9ef792af7f87642ac7f86232e64be551919108d40f5156cbf2c0647f94b", + "LOCAL-CHECKS.json": "070dbdea5939a8d594ccdb924770d8f3c6552e44bc915c7ace26664f8cfacaf0", + "INDEPENDENT-LOCAL-REPLAY.json": "e23bdfff9324cb020f530c0dfbb11c1ca322c5cad28d244ff886d5c4fe282a4d", + "CLIFFORD-RECIPES.json": "513fcddbaab5a7fd408dee02c4c3ba89999a68913d75661edcb2575dc82c3fd5", + "CLIFFORD-REVIEW.json": "078c14a10fa2599cba664cc5a5794e7f24f0cbda6c50ec432b1811e968a266cd", + "RESIDUAL-ADAPTERS.json": "618ffc04835a10fc9aad89b6ec2b796eea14d0638f3291ee7e1fe8f0e5984f9b" + }, + "complete_contract": { + "local": { + "backward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160888, + "prefix_l1": "1044730572630", + "prefix_bits": 40, + "coefficient_work_primitive_count": 79672, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 228, + "post_wrappers": 228, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160840, + "prefix_l1": "88876257700", + "prefix_bits": 37, + "coefficient_work_primitive_count": 79640, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 228, + "post_wrappers": 228, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 504, + "centres": 8, + "v": 112, + "h": 9, + "n": 728, + "entering_helpers": 228, + "entrance_rank": 476, + "terminal_codimension": 46, + "hyperplane_ended_helpers": 46, + "width_inventory": { + "4": 48, + "5": 8, + "7": 78, + "8": 94, + "9": 276 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 335040, + "local_primitive_bound": 8689040094328, + "compiler": 25934336, + "children": 3654, + "paid_profile": { + "1": 2614, + "2": 408, + "3": 288, + "4": 224, + "5": 56, + "6": 56, + "8": 8 + }, + "program_hashes": { + "backward": "a192c65f0d52b01240895ded1144c0f5daa7e22c50006ab1b06cb76c125a76bd", + "forward": "4ba9040c94a7f41fc001676fdf5e8b4fd0fe67514548bc7647f08b8adab24014" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "b22532c28209ff922c09b378231814038adf0acdfde7c3b1f81aace7e95cfb15", + "LOCAL-PROGRAMS.json.gz": "8087c9ef792af7f87642ac7f86232e64be551919108d40f5156cbf2c0647f94b", + "LOCAL-CHECKS.json": "070dbdea5939a8d594ccdb924770d8f3c6552e44bc915c7ace26664f8cfacaf0", + "INDEPENDENT-LOCAL-REPLAY.json": "e23bdfff9324cb020f530c0dfbb11c1ca322c5cad28d244ff886d5c4fe282a4d", + "CLIFFORD-RECIPES.json": "513fcddbaab5a7fd408dee02c4c3ba89999a68913d75661edcb2575dc82c3fd5", + "CLIFFORD-REVIEW.json": "078c14a10fa2599cba664cc5a5794e7f24f0cbda6c50ec432b1811e968a266cd", + "RESIDUAL-ADAPTERS.json": "618ffc04835a10fc9aad89b6ec2b796eea14d0638f3291ee7e1fe8f0e5984f9b" + } + }, + "expected_profile": { + "1": 2614, + "2": 408, + "3": 288, + "4": 224, + "5": 56, + "6": 56, + "8": 8 + }, + "expected_local": { + "backward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160888, + "prefix_l1": "1044730572630", + "coefficient_work_primitive_count": 79672 + }, + "forward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160840, + "prefix_l1": "88876257700", + "coefficient_work_primitive_count": 79640 + } + }, + "entering": 228, + "entrance": 476, + "inventory": { + "4": 48, + "5": 8, + "7": 78, + "8": 94, + "9": 276 + }, + "wrappers": 228, + "phase_edges": 3040, + "native_negative_controls": 18 + }, + "ck": { + "semantic_phase_sha256": "47868be414bdc852b372706c13799ddc853d8293e0d58867f1fcaac6df5a228d", + "width_digest": "48cef57690af124ef5b5fe4bc41ed3e796f33ed94a02b2b613644583e05493f0", + "program_hashes": { + "backward": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c", + "forward": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + "artifacts": { + "CLIFFORD-RECIPES.json": "395ff116b7214c826e1f9ba3affe44f6b5bf82b3c18d8ddcc6617f5515007b92", + "LOCAL-CHECKS.json": "9de8b5e4e986314bc2935b52f11040bfd4914c190d605e7b802fb26585f586ca", + "RESIDUAL-ADAPTERS.json": "5c682ab693b041fbf3846afd054a1d7dd2ff2b9108f8310f72b601d2d119a18b" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "43941c0ca50e18bb849f319ef4f7b7a206f511b183fee4e79e3e1835610faba2", + "LOCAL-PROGRAMS.json.gz": "efb82eb7cb7ca23b569b98bfa414d8a28866f0e368051ab95c2c235ae83865a2", + "LOCAL-CHECKS.json": "5671066dd94d33c56ba9609d4bd11480828e8d92885ac36700ce5614b8e8bc7f", + "INDEPENDENT-LOCAL-REPLAY.json": "a7bf0f0121b2213619d81ffd3176a95f47ba32f4c9361bdf3becab376ac3ab52", + "CLIFFORD-RECIPES.json": "395ff116b7214c826e1f9ba3affe44f6b5bf82b3c18d8ddcc6617f5515007b92", + "CLIFFORD-REVIEW.json": "47868be414bdc852b372706c13799ddc853d8293e0d58867f1fcaac6df5a228d", + "RESIDUAL-ADAPTERS.json": "6d44c6482a7bbcb4ca0460dbc5d79caa580d1858f43a6f3731207e23d8134d22" + }, + "complete_contract": { + "local": { + "backward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160888, + "prefix_l1": "1044730572630", + "prefix_bits": 40, + "coefficient_work_primitive_count": 79672, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 228, + "post_wrappers": 228, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160840, + "prefix_l1": "88876257700", + "prefix_bits": 37, + "coefficient_work_primitive_count": 79640, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 228, + "post_wrappers": 228, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 504, + "centres": 8, + "v": 112, + "h": 9, + "n": 728, + "entering_helpers": 228, + "entrance_rank": 436, + "terminal_codimension": 46, + "hyperplane_ended_helpers": 46, + "width_inventory": { + "4": 8, + "5": 48, + "7": 78, + "8": 94, + "9": 276 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 7, + 7, + 7, + 7, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 9, + 8, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 335040, + "local_primitive_bound": 8689040094328, + "compiler": 25934336, + "children": 3654, + "paid_profile": { + "1": 2534, + "2": 488, + "3": 328, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "program_hashes": { + "backward": "e8c2ae2de737c5bf95ac97c4d4f18cf316f907de53813bce5f3721e518c2557c", + "forward": "f37285c46ecaf389118879d28da7cf093ab38128055a4098df0a6302dcfeb5a8" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "43941c0ca50e18bb849f319ef4f7b7a206f511b183fee4e79e3e1835610faba2", + "LOCAL-PROGRAMS.json.gz": "efb82eb7cb7ca23b569b98bfa414d8a28866f0e368051ab95c2c235ae83865a2", + "LOCAL-CHECKS.json": "5671066dd94d33c56ba9609d4bd11480828e8d92885ac36700ce5614b8e8bc7f", + "INDEPENDENT-LOCAL-REPLAY.json": "a7bf0f0121b2213619d81ffd3176a95f47ba32f4c9361bdf3becab376ac3ab52", + "CLIFFORD-RECIPES.json": "395ff116b7214c826e1f9ba3affe44f6b5bf82b3c18d8ddcc6617f5515007b92", + "CLIFFORD-REVIEW.json": "47868be414bdc852b372706c13799ddc853d8293e0d58867f1fcaac6df5a228d", + "RESIDUAL-ADAPTERS.json": "6d44c6482a7bbcb4ca0460dbc5d79caa580d1858f43a6f3731207e23d8134d22" + } + }, + "expected_profile": { + "1": 2534, + "2": 488, + "3": 328, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "expected_local": { + "backward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160888, + "prefix_l1": "1044730572630", + "coefficient_work_primitive_count": 79672 + }, + "forward": { + "events": 21560, + "macros": 16258, + "real_component_primitives": 160840, + "prefix_l1": "88876257700", + "coefficient_work_primitive_count": 79640 + } + }, + "entering": 228, + "entrance": 436, + "inventory": { + "4": 8, + "5": 48, + "7": 78, + "8": 94, + "9": 276 + }, + "wrappers": 228, + "phase_edges": 3040, + "native_negative_controls": 18 + }, + "jp8": { + "semantic_phase_sha256": "8f8d443d0d550e5eedbf7acad44b27fc4ca7069650f9055603e6bb1af2d13e55", + "width_digest": "b327600bd81c86d94532ccfd22e80d626283f2128e823a32bc6941ccfe3c97b8", + "program_hashes": { + "backward": "009c1a2a234f733da4078abc7bb5c87dfdd376f0a6462e6e4ac32a46290278bc", + "forward": "2761b99cfb21655ffb403dce3df2cbc8e2d5b5fb964596548e2044e2c383bf96" + }, + "artifacts": { + "CLIFFORD-RECIPES.json": "588fec18a29bc3a83fe52fa9a04d2c21a47d0a73d2de6b624d45c26c88b84e47", + "LOCAL-CHECKS.json": "69bca63187f15278598e1766b19a66f6c5eca48d7943ba20b38829ef781ccffb", + "RESIDUAL-ADAPTERS.json": "77dc531b7582afabbd9f49d73604ecaf2a3802b3b03e8c452224e91b0ecbdb7c" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "86c4cced53877f258f408d61a41d84b8ad1316f4b436fe24b5e548e57c83da2c", + "LOCAL-PROGRAMS.json.gz": "05e40585f058cdd76bae834163e122d57fba871a9f477cf44a07bd6d8c678132", + "LOCAL-CHECKS.json": "6c81901ec9ec5b197b920a4319fe86430603befd7fbf83b81ac8e54e31abe76d", + "INDEPENDENT-LOCAL-REPLAY.json": "1bcf6332a566cde88ba763190d509927dadc8f63235d24bc352a6dd395bb4c1c", + "CLIFFORD-RECIPES.json": "588fec18a29bc3a83fe52fa9a04d2c21a47d0a73d2de6b624d45c26c88b84e47", + "CLIFFORD-REVIEW.json": "8f8d443d0d550e5eedbf7acad44b27fc4ca7069650f9055603e6bb1af2d13e55", + "RESIDUAL-ADAPTERS.json": "bdfd48c52ceb093e2f1ed893a1817cdfbbfef957b803c99a467786e06f73267b" + }, + "complete_contract": { + "local": { + "backward": { + "events": 21480, + "macros": 16282, + "real_component_primitives": 161336, + "prefix_l1": "1044730572477", + "prefix_bits": 40, + "coefficient_work_primitive_count": 79896, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 216, + "post_wrappers": 216, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 21480, + "macros": 16282, + "real_component_primitives": 161288, + "prefix_l1": "88876257700", + "prefix_bits": 37, + "coefficient_work_primitive_count": 79864, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 216, + "post_wrappers": 216, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 504, + "centres": 8, + "v": 112, + "h": 9, + "n": 728, + "entering_helpers": 216, + "entrance_rank": 392, + "terminal_codimension": 46, + "hyperplane_ended_helpers": 46, + "width_inventory": { + "4": 8, + "5": 48, + "7": 46, + "8": 114, + "9": 288 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 7, + 7, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 7, + 8, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 333952, + "local_primitive_bound": 8660823537208, + "compiler": 25934336, + "children": 3562, + "paid_profile": { + "1": 2450, + "2": 336, + "3": 472, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "program_hashes": { + "backward": "009c1a2a234f733da4078abc7bb5c87dfdd376f0a6462e6e4ac32a46290278bc", + "forward": "2761b99cfb21655ffb403dce3df2cbc8e2d5b5fb964596548e2044e2c383bf96" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "86c4cced53877f258f408d61a41d84b8ad1316f4b436fe24b5e548e57c83da2c", + "LOCAL-PROGRAMS.json.gz": "05e40585f058cdd76bae834163e122d57fba871a9f477cf44a07bd6d8c678132", + "LOCAL-CHECKS.json": "6c81901ec9ec5b197b920a4319fe86430603befd7fbf83b81ac8e54e31abe76d", + "INDEPENDENT-LOCAL-REPLAY.json": "1bcf6332a566cde88ba763190d509927dadc8f63235d24bc352a6dd395bb4c1c", + "CLIFFORD-RECIPES.json": "588fec18a29bc3a83fe52fa9a04d2c21a47d0a73d2de6b624d45c26c88b84e47", + "CLIFFORD-REVIEW.json": "8f8d443d0d550e5eedbf7acad44b27fc4ca7069650f9055603e6bb1af2d13e55", + "RESIDUAL-ADAPTERS.json": "bdfd48c52ceb093e2f1ed893a1817cdfbbfef957b803c99a467786e06f73267b" + } + }, + "expected_profile": { + "1": 2450, + "2": 336, + "3": 472, + "4": 184, + "5": 56, + "6": 56, + "8": 8 + }, + "expected_local": { + "backward": { + "events": 21480, + "macros": 16282, + "real_component_primitives": 161336, + "prefix_l1": "1044730572477", + "coefficient_work_primitive_count": 79896 + }, + "forward": { + "events": 21480, + "macros": 16282, + "real_component_primitives": 161288, + "prefix_l1": "88876257700", + "coefficient_work_primitive_count": 79864 + } + }, + "entering": 216, + "entrance": 392, + "inventory": { + "4": 8, + "5": 48, + "7": 46, + "8": 114, + "9": 288 + }, + "wrappers": 216, + "phase_edges": 2951, + "native_negative_controls": 18 + } + }, + "dispatch": [ + [ + 0, + 0, + "ck" + ], + [ + 0, + 1, + "ck" + ], + [ + 1, + 0, + "ck" + ], + [ + 0, + 2, + "ck" + ], + [ + 1, + 1, + "ck" + ], + [ + 2, + 0, + "ck" + ], + [ + 0, + 3, + "ck" + ], + [ + 1, + 2, + "ck" + ], + [ + 2, + 1, + "ck" + ], + [ + 3, + 0, + "jp8" + ], + [ + 0, + 4, + "ck" + ], + [ + 1, + 3, + "ck" + ], + [ + 2, + 2, + "ck" + ], + [ + 3, + 1, + "ck" + ], + [ + 4, + 0, + "ck" + ], + [ + 0, + 5, + "ck" + ], + [ + 1, + 4, + "ck" + ], + [ + 2, + 3, + "ck" + ], + [ + 3, + 2, + "ck" + ], + [ + 4, + 1, + "atm3" + ], + [ + 5, + 0, + "atm3" + ], + [ + 0, + 6, + "ck" + ], + [ + 1, + 5, + "ck" + ], + [ + 2, + 4, + "ck" + ], + [ + 3, + 3, + "ck" + ], + [ + 4, + 2, + "atm3" + ], + [ + 5, + 1, + "atm3" + ], + [ + 0, + 7, + "atm3" + ], + [ + 6, + 0, + "atm3" + ], + [ + 1, + 6, + "atm3" + ], + [ + 2, + 5, + "ck" + ], + [ + 3, + 4, + "atm3" + ], + [ + 4, + 3, + "jp8" + ], + [ + 5, + 2, + "atm3" + ], + [ + 6, + 1, + "jp8" + ], + [ + 1, + 7, + "jp8" + ], + [ + 7, + 0, + "atm3" + ], + [ + 2, + 6, + "atm3" + ], + [ + 3, + 5, + "atm3" + ], + [ + 4, + 4, + "atm3" + ], + [ + 5, + 3, + "atm3" + ], + [ + 6, + 2, + "ck" + ], + [ + 7, + 1, + "jp8" + ], + [ + 2, + 7, + "ck" + ], + [ + 8, + 0, + "atm3" + ], + [ + 3, + 6, + "ck" + ], + [ + 4, + 5, + "ck" + ], + [ + 5, + 4, + "ck" + ], + [ + 6, + 3, + "ck" + ], + [ + 7, + 2, + "atm3" + ], + [ + 8, + 1, + "ck" + ], + [ + 3, + 7, + "ck" + ], + [ + 4, + 6, + "ck" + ], + [ + 5, + 5, + "jp8" + ], + [ + 6, + 4, + "ck" + ], + [ + 7, + 3, + "ck" + ], + [ + 8, + 2, + "atm3" + ], + [ + 4, + 7, + "atm3" + ], + [ + 5, + 6, + "ck" + ], + [ + 6, + 5, + "atm3" + ], + [ + 7, + 4, + "ck" + ], + [ + 8, + 3, + "ck" + ], + [ + 5, + 7, + "atm3" + ], + [ + 6, + 6, + "ck" + ], + [ + 7, + 5, + "ck" + ], + [ + 8, + 4, + "ck" + ], + [ + 6, + 7, + "ck" + ], + [ + 7, + 6, + "atm3" + ], + [ + 8, + 5, + "ck" + ], + [ + 7, + 7, + "ck" + ], + [ + 8, + 6, + "ck" + ], + [ + 8, + 7, + "ck" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "expected": { + "provider_counts": { + "ck": 45, + "jp8": 6, + "atm3": 21 + }, + "global_profile": { + "1": 183641, + "2": 32546, + "3": 23850, + "4": 14088, + "5": 4032, + "6": 4032, + "7": 3, + "8": 576, + "48": 1981 + }, + "owners_per_call": 728, + "hosted_residuals": 36288, + "rank_mass": 520704, + "actual_73column_sigmas": 6713, + "cross_replica_helper_roles": 27157, + "idle_remainders": 2213, + "live": 7168, + "physical": 7682, + "deficit": 2560, + "entering_helper_roles": 16344, + "idle_remainder_profile": { + "1": 17, + "2": 2, + "3": 210, + "7": 3, + "48": 1981 + }, + "complex_lower": "1616812201072857649963/1000000000000000000000000", + "conservative_complex_lower": "404203049552530611887/250000000000000000000000", + "kappa": "1614202339036103/1000000000000000000", + "kappa_decimal": "0.001614202339036103", + "conservative_kappa_decimal": "0.001614202336182603", + "gain_baseline_kappa": "0.001601260169988325", + "mutations_rejected": 31, + "assembly_controls_rejected": 155 + }, + "build": { + "status": "PASS_MHPE46_NATIVE_COMPLEX_AND_CITED_BIT", + "sources": { + "multicold": { + "dir": "complex-multicold", + "pr": 568, + "commit": "71c99ac935a33bb7b59a1b4a7af8725a939b0b90", + "manifest_sha256": "328ce8023d33deb308b0f1ae2320424050f836d791cf60a613ae8408e7d6f3ab", + "full_tree": true, + "files": { + "data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "data/EIGHT-MULTICOLD.json": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9" + } + }, + "structural_gain": { + "dir": "structural-gain", + "pr": 571, + "commit": "b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3", + "manifest_sha256": "eb0499a927665a48a25355075dcb7dc76d0fc43c67ea6d311d9e0242b6d4a25d", + "full_tree": false, + "files": { + "frontier-composition/combined-prefix-word/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42" + } + }, + "larger_gain": { + "dir": "larger-gain", + "pr": 569, + "commit": "897213a855b7fb8a1b8b0e552a2f5c42e6c1b326", + "manifest_sha256": "54d67f45ad520f4a134e069336bd0ff639aaeada28d13539298e4f2655c9692d", + "full_tree": false, + "files": { + "providers/build_entrance_promotions.py": "50737e20553b5d44381c58e5b35b5031a6797dfdda1c67a1656069f1f6203cd2", + "providers/coupled_frames_base.py": "b6033cd2959297a624b557f3d04665c8fbb680a4c0987daf0704ef93711700bd", + "providers/search_suffix_kernels.py": "0523c90f036ff01cac9299fe4e47dc40dd04f264f09415985d2c98b4da43371c" + } + }, + "joint_prefix": { + "dir": "complex-joint-prefix", + "pr": 575, + "commit": "eac6f7e378ab622dac50a2fd4b7ef6eab014de44", + "manifest_sha256": "fd30701bd9bd652985db18fa95bee08a34615ef417a2feb2f55efd60a0b5d665", + "full_tree": false, + "files": { + "code/audit_joint_prefix.py": "c01836709f3650a39c46418ac1771980b4b96288e60b51032b5d31419e484c37", + "code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "data/EIGHTCOLD-JOINT-KERNELS.json": "0381935d8d162eb48044bdf7e36a42af761f6d4032509b9b397ca02d3134f585", + "data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2" + } + }, + "frame_coalescing": { + "dir": "kernel-frame-coalescing", + "pr": 583, + "commit": "89be768f0157f5a3d8e4db69cf1748768605eac9", + "manifest_sha256": "f336fd702c54422d79c1b9ba7d8699ae6c99518f66a5b5bbc5f3be331fa1fadd", + "full_tree": false, + "files": { + "code/build_frames.py": "59f486c52293c76f1f6140c5f12f7a555a956b455e853c79136fc227deefbc3d" + } + } + }, + "providers": { + "atm3": { + "base": { + "kind": "source_file", + "file": "structural_gain:frontier-composition/combined-prefix-word/FULL-WORD.json.gz", + "content_sha256": "500f005d9cec374f15e086d374578cc8f2c252f9c30444a62d46f2969370a2c6" + }, + "steps": [ + { + "type": "promote", + "recipe": "pkg:data/recipes/atm3-step0-promote.json", + "input_content_sha256": "500f005d9cec374f15e086d374578cc8f2c252f9c30444a62d46f2969370a2c6", + "recipe_sha256": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", + "omission_controls": 4, + "output_content_sha256": "b672a8f4151a23fd420c7622fc127fb6c7f14564bb6cf93edfbd7aecbc38e1f9" + }, + { + "type": "greedy_kernels", + "recipe": "pkg:data/recipes/atm3-step1-greedy_kernels.json", + "input_content_sha256": "b672a8f4151a23fd420c7622fc127fb6c7f14564bb6cf93edfbd7aecbc38e1f9", + "recipe_sha256": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", + "omission_controls": 48, + "output_content_sha256": "8de156284cde6d475f9ef679d43ef52e9aa57a62fc3a2f554655131396c64236" + }, + { + "type": "frame_coalesce", + "recipe": "pkg:data/recipes/atm3-step2-frame_coalesce.json", + "input_content_sha256": "8de156284cde6d475f9ef679d43ef52e9aa57a62fc3a2f554655131396c64236", + "recipe_sha256": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", + "negative_controls": 12, + "output_content_sha256": "dffa3c643b522b524a79220c71aa15be9ee10134b3d597c293c643f6a543d472" + }, + { + "type": "gate_move_coalesce", + "recipe": "pkg:data/recipes/atm3-step3-gate_move_coalesce.json", + "input_content_sha256": "dffa3c643b522b524a79220c71aa15be9ee10134b3d597c293c643f6a543d472", + "recipe_sha256": "3a6b8fec6c8b56a45bf8fae683083636fa295a8914ffa68d11b1f78ba3a2eb9d", + "negative_controls": 6, + "output_content_sha256": "f3f56a044177e0d4e3c0a8d47ce8d7ae90ad3332935d0c7dfb6b8cf28e290df4" + }, + { + "type": "hyperplane_end", + "recipe": "pkg:data/recipes/atm3-step4-hyperplane_end.json", + "input_content_sha256": "f3f56a044177e0d4e3c0a8d47ce8d7ae90ad3332935d0c7dfb6b8cf28e290df4", + "recipe_sha256": "aaf94d63a3756211f08d73ebe30bcba5554bf543b77311294aaff3ab3bfb5d13", + "negative_controls": 21, + "output_content_sha256": "b228d41a906042f10b0d5169c9fd011d175e6a4fee41156d24ffc253cfe4aee6" + } + ], + "word_content_sha256": "b228d41a906042f10b0d5169c9fd011d175e6a4fee41156d24ffc253cfe4aee6" + }, + "ck": { + "base": { + "kind": "source_file", + "file": "structural_gain:frontier-composition/combined-prefix-word/FULL-WORD.json.gz", + "content_sha256": "500f005d9cec374f15e086d374578cc8f2c252f9c30444a62d46f2969370a2c6" + }, + "steps": [ + { + "type": "greedy_kernels", + "recipe": "pkg:data/recipes/ck-step0-greedy_kernels.json", + "input_content_sha256": "500f005d9cec374f15e086d374578cc8f2c252f9c30444a62d46f2969370a2c6", + "recipe_sha256": "c839199d0e6f8e976978fe97bc0c5579a65ba69dfb6864585b448cccc1113056", + "omission_controls": 48, + "output_content_sha256": "11afa6986e37fd10adda3453d6e55a7353302c9597b93807916a2e5f808e259b" + }, + { + "type": "frame_coalesce", + "recipe": "pkg:data/recipes/ck-step1-frame_coalesce.json", + "input_content_sha256": "11afa6986e37fd10adda3453d6e55a7353302c9597b93807916a2e5f808e259b", + "recipe_sha256": "0c8e5991e1338f03b837814dd060d4dd598c324e3538ee510913e0444a384ee3", + "negative_controls": 12, + "output_content_sha256": "fac4ead822d8d18e441820f9ca87efeb1866414bb0b82817c6cce4655dc59269" + }, + { + "type": "gate_move_coalesce", + "recipe": "pkg:data/recipes/ck-step2-gate_move_coalesce.json", + "input_content_sha256": "fac4ead822d8d18e441820f9ca87efeb1866414bb0b82817c6cce4655dc59269", + "recipe_sha256": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", + "negative_controls": 6, + "output_content_sha256": "efddf09daea03240f09f4b820704b07f53782a153e7dff154dbe7406e69cfb0b" + }, + { + "type": "hyperplane_end", + "recipe": "pkg:data/recipes/ck-step3-hyperplane_end.json", + "input_content_sha256": "efddf09daea03240f09f4b820704b07f53782a153e7dff154dbe7406e69cfb0b", + "recipe_sha256": "e771ec08d638071283afed235bf4d35550b38bebe648d2a0377a430e96327e15", + "negative_controls": 21, + "output_content_sha256": "1f113dd38e5a6f4250cbcb6f15514e0b9ef79c1076a21116b181918a68c5aa9a" + } + ], + "word_content_sha256": "1f113dd38e5a6f4250cbcb6f15514e0b9ef79c1076a21116b181918a68c5aa9a" + }, + "jp8": { + "base": { + "kind": "frozen558_promoted", + "content_sha256": "2b67fd69853dfc28f30ab5bb928f573077ae9d2bfa12cc36254d018d56133a5d" + }, + "steps": [ + { + "type": "cold_kernel", + "recipe": "multicold:data/EIGHT-COLD.json", + "input_content_sha256": "2b67fd69853dfc28f30ab5bb928f573077ae9d2bfa12cc36254d018d56133a5d", + "recipe_sha256": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "omission_controls": 6, + "output_content_sha256": "edb55811a9d38802c311c74bdd2d4d1b2f3eaf37d06e4178eef0785c2fa4b57d" + }, + { + "type": "multicut", + "recipe": "multicold:data/EIGHT-MULTICOLD.json", + "input_content_sha256": "edb55811a9d38802c311c74bdd2d4d1b2f3eaf37d06e4178eef0785c2fa4b57d", + "recipe_sha256": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9", + "omission_controls": 32, + "output_content_sha256": "055c0fb41d8b0d506674f62d0227833a74eabd19a022a1dfeb72c3952b7a030f" + }, + { + "type": "frozen558_scalar_audits" + }, + { + "type": "joint_prefix", + "variant": "eightcold", + "kernel_recipes": "joint_prefix:data/EIGHTCOLD-JOINT-KERNELS.json", + "recipe": "joint_prefix:data/JOINT-PREFIX.json", + "input_content_sha256": "055c0fb41d8b0d506674f62d0227833a74eabd19a022a1dfeb72c3952b7a030f", + "recipe_sha256": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "kernel_recipes_sha256": "0381935d8d162eb48044bdf7e36a42af761f6d4032509b9b397ca02d3134f585", + "omission_controls": 135, + "rank5_controls": 8, + "joint_negative_controls": 15, + "output_content_sha256": "6c361b33967bb62d878b3acef44a4ac2c70970e99f36a11906b03811495de533" + }, + { + "type": "hyperplane_end", + "recipe": "pkg:data/recipes/jp8-step4-hyperplane_end.json", + "input_content_sha256": "6c361b33967bb62d878b3acef44a4ac2c70970e99f36a11906b03811495de533", + "recipe_sha256": "7e3d021c7498b3a65345d74d008af5aa87249ec1dc082914ea0beb17908f8f81", + "negative_controls": 21, + "output_content_sha256": "b31897ec0a49cdf2988f2533e8030e34b8cd7b7a940d137bea35a91db97465c7" + } + ], + "word_content_sha256": "b31897ec0a49cdf2988f2533e8030e34b8cd7b7a940d137bea35a91db97465c7" + } + } + } +} diff --git a/research/complex-571-hpem46/data/recipes/atm3-step0-promote.json b/research/complex-571-hpem46/data/recipes/atm3-step0-promote.json new file mode 100644 index 0000000000..1f078bea4f --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/atm3-step0-promote.json @@ -0,0 +1 @@ +[{"pivot": 627, "old_frame": [408, 80, 40, 6], "new_frame": [408, 80, 40, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 629, "old_frame": [408, 80, 40, 6], "new_frame": [408, 80, 40, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 630, "old_frame": [408, 80, 40, 6], "new_frame": [408, 80, 40, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 631, "old_frame": [408, 80, 40, 6], "new_frame": [408, 80, 40, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 635, "old_frame": [272, 144, 96, 6], "new_frame": [272, 144, 96, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 637, "old_frame": [272, 144, 96, 6], "new_frame": [272, 144, 96, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 638, "old_frame": [272, 144, 96, 6], "new_frame": [272, 144, 96, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 639, "old_frame": [272, 144, 96, 6], "new_frame": [272, 144, 96, 6, 1], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 651, "old_frame": [390, 68, 34, 24], "new_frame": [390, 68, 34, 24, 1], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 653, "old_frame": [390, 68, 34, 24], "new_frame": [390, 68, 34, 24, 1], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 654, "old_frame": [390, 68, 34, 24], "new_frame": [390, 68, 34, 24, 1], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 655, "old_frame": [390, 68, 34, 24], "new_frame": [390, 68, 34, 24, 1], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 659, "old_frame": [298, 170, 102, 30], "new_frame": [298, 170, 102, 30, 1], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 661, "old_frame": [298, 170, 102, 30], "new_frame": [298, 170, 102, 30, 1], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 662, "old_frame": [298, 170, 102, 30], "new_frame": [298, 170, 102, 30, 1], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 663, "old_frame": [298, 170, 102, 30], "new_frame": [298, 170, 102, 30, 1], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 667, "old_frame": [390, 96, 20, 10], "new_frame": [390, 96, 20, 10, 1], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 669, "old_frame": [390, 96, 20, 10], "new_frame": [390, 96, 20, 10, 1], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 670, "old_frame": [390, 96, 20, 10], "new_frame": [390, 96, 20, 10, 1], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 671, "old_frame": [390, 96, 20, 10], "new_frame": [390, 96, 20, 10, 1], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 683, "old_frame": [390, 75, 45, 30], "new_frame": [385, 75, 42, 25, 7], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 685, "old_frame": [390, 75, 45, 30], "new_frame": [385, 75, 42, 25, 7], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 686, "old_frame": [390, 75, 45, 30], "new_frame": [385, 75, 42, 25, 7], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 687, "old_frame": [390, 75, 45, 30], "new_frame": [385, 75, 42, 25, 7], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 691, "old_frame": [291, 163, 102, 24], "new_frame": [291, 163, 97, 24, 7], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 693, "old_frame": [291, 163, 102, 24], "new_frame": [291, 163, 97, 24, 7], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 694, "old_frame": [291, 163, 102, 24], "new_frame": [291, 163, 97, 24, 7], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 695, "old_frame": [291, 163, 102, 24], "new_frame": [291, 163, 97, 24, 7], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 699, "old_frame": [389, 96, 24, 3], "new_frame": [385, 96, 24, 4, 3], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 701, "old_frame": [389, 96, 24, 3], "new_frame": [385, 96, 24, 4, 3], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 702, "old_frame": [389, 96, 24, 3], "new_frame": [385, 96, 24, 4, 3], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 703, "old_frame": [389, 96, 24, 3], "new_frame": [385, 96, 24, 4, 3], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 707, "old_frame": [401, 96, 9, 6], "new_frame": [385, 96, 16, 9, 6], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 709, "old_frame": [401, 96, 9, 6], "new_frame": [385, 96, 16, 9, 6], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 710, "old_frame": [401, 96, 9, 6], "new_frame": [385, 96, 16, 9, 6], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 711, "old_frame": [401, 96, 9, 6], "new_frame": [385, 96, 16, 9, 6], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}, {"pivot": 715, "old_frame": [297, 169, 120, 6], "new_frame": [297, 169, 97, 25, 6], "width_before": 5, "width_after": 4, "changed_gates": 12, "profile_delta": {"1": 11, "2": -8, "3": -4, "4": 4}, "local_entropy_delta": -2.0929925750581937, "optimistic_entropy_gain": 2.7782084358496975}, {"pivot": 717, "old_frame": [297, 169, 120, 6], "new_frame": [297, 169, 97, 25, 6], "width_before": 5, "width_after": 4, "changed_gates": 9, "profile_delta": {"1": 12, "2": -7, "3": -1, "4": 1}, "local_entropy_delta": -7.454719949364001, "optimistic_entropy_gain": -2.5835189384561095}, {"pivot": 718, "old_frame": [297, 169, 120, 6], "new_frame": [297, 169, 97, 25, 6], "width_before": 5, "width_after": 4, "changed_gates": 5, "profile_delta": {"1": 9, "2": -5}, "local_entropy_delta": -6.931471805599453, "optimistic_entropy_gain": -2.060270794691562}, {"pivot": 719, "old_frame": [297, 169, 120, 6], "new_frame": [297, 169, 97, 25, 6], "width_before": 5, "width_after": 4, "changed_gates": 3, "profile_delta": {"1": 7, "2": -4}, "local_entropy_delta": -5.545177444479562, "optimistic_entropy_gain": -0.6739764335716711}] \ No newline at end of file diff --git a/research/complex-571-hpem46/data/recipes/atm3-step1-greedy_kernels.json b/research/complex-571-hpem46/data/recipes/atm3-step1-greedy_kernels.json new file mode 100644 index 0000000000..db3a406ee2 --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/atm3-step1-greedy_kernels.json @@ -0,0 +1,561 @@ +{ + "input_content_sha256": "b672a8f4151a23fd420c7622fc127fb6c7f14564bb6cf93edfbd7aecbc38e1f9", + "output_content_sha256": "8de156284cde6d475f9ef679d43ef52e9aa57a62fc3a2f554655131396c64236", + "kernels": [ + { + "pivot": 462, + "frame": [ + 1 + ], + "gates": [ + { + "part": "A", + "index": 39, + "donor": 476, + "coefficient": "1", + "donor_state": [ + 476, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 40, + "donor": 477, + "coefficient": "1", + "donor_state": [ + 477, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 49, + "donor": 463, + "coefficient": "-1", + "donor_state": [ + 463, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 464, + "frame": [ + 1 + ], + "gates": [ + { + "part": "A", + "index": 25, + "donor": 474, + "coefficient": "1", + "donor_state": [ + 474, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 26, + "donor": 475, + "coefficient": "1", + "donor_state": [ + 475, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 58, + "donor": 465, + "coefficient": "-1", + "donor_state": [ + 465, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 466, + "frame": [ + 7 + ], + "gates": [ + { + "part": "A", + "index": 35, + "donor": 478, + "coefficient": "1", + "donor_state": [ + 478, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 36, + "donor": 479, + "coefficient": "1", + "donor_state": [ + 479, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 58, + "donor": 467, + "coefficient": "-1", + "donor_state": [ + 467, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 468, + "frame": [ + 7 + ], + "gates": [ + { + "part": "A", + "index": 29, + "donor": 480, + "coefficient": "1", + "donor_state": [ + 480, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 30, + "donor": 481, + "coefficient": "1", + "donor_state": [ + 481, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 58, + "donor": 469, + "coefficient": "-1", + "donor_state": [ + 469, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 490, + "frame": [ + 25 + ], + "gates": [ + { + "part": "A", + "index": 33, + "donor": 491, + "coefficient": "-1", + "donor_state": [ + 491, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 33, + "donor": 502, + "coefficient": "1", + "donor_state": [ + 502, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 33, + "donor": 503, + "coefficient": "1", + "donor_state": [ + 503, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 492, + "frame": [ + 25 + ], + "gates": [ + { + "part": "A", + "index": 44, + "donor": 493, + "coefficient": "-1", + "donor_state": [ + 493, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 44, + "donor": 504, + "coefficient": "1", + "donor_state": [ + 504, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 44, + "donor": 505, + "coefficient": "1", + "donor_state": [ + 505, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 514, + "frame": [ + 31 + ], + "gates": [ + { + "part": "A", + "index": 38, + "donor": 526, + "coefficient": "1", + "donor_state": [ + 526, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 39, + "donor": 527, + "coefficient": "1", + "donor_state": [ + 527, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 57, + "donor": 515, + "coefficient": "-1", + "donor_state": [ + 515, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 516, + "frame": [ + 31 + ], + "gates": [ + { + "part": "A", + "index": 51, + "donor": 528, + "coefficient": "1", + "donor_state": [ + 528, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 52, + "donor": 529, + "coefficient": "1", + "donor_state": [ + 529, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 64, + "donor": 517, + "coefficient": "-1", + "donor_state": [ + 517, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 510, + "frame": [ + 480 + ], + "gates": [ + { + "part": "B", + "index": 712, + "donor": 511, + "coefficient": "-1", + "donor_state": [ + 511, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 712, + "donor": 524, + "coefficient": "1", + "donor_state": [ + 524, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 712, + "donor": 525, + "coefficient": "1", + "donor_state": [ + 525, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + }, + { + "pivot": 512, + "frame": [ + 480 + ], + "gates": [ + { + "part": "B", + "index": 717, + "donor": 513, + "coefficient": "-1", + "donor_state": [ + 513, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 717, + "donor": 522, + "coefficient": "1", + "donor_state": [ + 522, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 717, + "donor": 523, + "coefficient": "1", + "donor_state": [ + 523, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + }, + { + "pivot": 586, + "frame": [ + 486 + ], + "gates": [ + { + "part": "B", + "index": 822, + "donor": 587, + "coefficient": "-1", + "donor_state": [ + 587, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 822, + "donor": 598, + "coefficient": "1", + "donor_state": [ + 598, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 822, + "donor": 599, + "coefficient": "1", + "donor_state": [ + 599, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + }, + { + "pivot": 588, + "frame": [ + 486 + ], + "gates": [ + { + "part": "B", + "index": 827, + "donor": 589, + "coefficient": "-1", + "donor_state": [ + 589, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 827, + "donor": 600, + "coefficient": "1", + "donor_state": [ + 600, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 827, + "donor": 601, + "coefficient": "1", + "donor_state": [ + 601, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + } + ], + "source": "coldk greedy (multi-cut, cand all, ranks [1, 2, 3], targets false, kmax 6) on w/A_t_m3/FULL-WORD.json.gz", + "final_local_profile": { + "1": 2500, + "2": 484, + "3": 280, + "4": 232, + "5": 56, + "6": 56, + "8": 8 + }, + "seconds": 0.5898449 +} diff --git a/research/complex-571-hpem46/data/recipes/atm3-step2-frame_coalesce.json b/research/complex-571-hpem46/data/recipes/atm3-step2-frame_coalesce.json new file mode 100644 index 0000000000..fb5e59269a --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/atm3-step2-frame_coalesce.json @@ -0,0 +1,173 @@ +{ + "after": { + "1": 2488, + "2": 490, + "3": 280, + "4": 232, + "5": 56, + "6": 56, + "8": 8 + }, + "before": { + "1": 2500, + "2": 484, + "3": 280, + "4": 232, + "5": 56, + "6": 56, + "8": 8 + }, + "changes": [ + { + "after": [ + "add", + 465, + 464, + 1, + 1, + [ + 126, + 1 + ] + ], + "before": [ + "add", + 465, + 464, + 1, + 1, + [ + 1 + ] + ], + "index": 78, + "section": "A" + }, + { + "after": [ + "add", + 467, + 466, + 1, + 1, + [ + 121, + 7 + ] + ], + "before": [ + "add", + 467, + 466, + 1, + 1, + [ + 7 + ] + ], + "index": 75, + "section": "A" + }, + { + "after": [ + "add", + 469, + 468, + 1, + 1, + [ + 120, + 7 + ] + ], + "before": [ + "add", + 469, + 468, + 1, + 1, + [ + 7 + ] + ], + "index": 72, + "section": "A" + }, + { + "after": [ + "add", + 463, + 462, + 1, + 1, + [ + 120, + 1 + ] + ], + "before": [ + "add", + 463, + 462, + 1, + 1, + [ + 1 + ] + ], + "index": 69, + "section": "A" + }, + { + "after": [ + "add", + 517, + 516, + 1, + 1, + [ + 103, + 31 + ] + ], + "before": [ + "add", + 517, + 516, + 1, + 1, + [ + 31 + ] + ], + "index": 66, + "section": "A" + }, + { + "after": [ + "add", + 515, + 514, + 1, + 1, + [ + 102, + 31 + ] + ], + "before": [ + "add", + 515, + 514, + 1, + 1, + [ + 31 + ] + ], + "index": 61, + "section": "A" + } + ], + "input_content_sha256": "8de156284cde6d475f9ef679d43ef52e9aa57a62fc3a2f554655131396c64236" +} diff --git a/research/complex-571-hpem46/data/recipes/atm3-step3-gate_move_coalesce.json b/research/complex-571-hpem46/data/recipes/atm3-step3-gate_move_coalesce.json new file mode 100644 index 0000000000..ac941259cb --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/atm3-step3-gate_move_coalesce.json @@ -0,0 +1,85 @@ +{ + "after": { + "1": 2484, + "2": 492, + "3": 280, + "4": 232, + "5": 56, + "6": 56, + "8": 8 + }, + "before": { + "1": 2488, + "2": 490, + "3": 280, + "4": 232, + "5": 56, + "6": 56, + "8": 8 + }, + "changes": [ + { + "after": [ + "add", + 491, + 490, + 1, + 1, + [ + 96, + 25 + ] + ], + "before": [ + "add", + 491, + 490, + 1, + 1, + [ + 25 + ] + ], + "index": 35, + "section": "A" + }, + { + "after": [ + "add", + 493, + 492, + 1, + 1, + [ + 97, + 25 + ] + ], + "before": [ + "add", + 493, + 492, + 1, + 1, + [ + 25 + ] + ], + "index": 48, + "section": "A" + } + ], + "input_content_sha256": "dffa3c643b522b524a79220c71aa15be9ee10134b3d597c293c643f6a543d472", + "moves": [ + { + "from": 33, + "section": "A", + "to": 35 + }, + { + "from": 46, + "section": "A", + "to": 48 + } + ] +} diff --git a/research/complex-571-hpem46/data/recipes/atm3-step4-hyperplane_end.json b/research/complex-571-hpem46/data/recipes/atm3-step4-hyperplane_end.json new file mode 100644 index 0000000000..8b3ce2d2e0 --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/atm3-step4-hyperplane_end.json @@ -0,0 +1,649 @@ +{ + "changes": [ + { + "helper": 448, + "cleanup_index": 686, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 449, + "cleanup_index": 685, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 450, + "cleanup_index": 684, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 451, + "cleanup_index": 683, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 452, + "cleanup_index": 682, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 453, + "cleanup_index": 681, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 454, + "cleanup_index": 680, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 455, + "cleanup_index": 679, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 456, + "cleanup_index": 678, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 457, + "cleanup_index": 677, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 458, + "cleanup_index": 676, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 459, + "cleanup_index": 675, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 460, + "cleanup_index": 670, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 461, + "cleanup_index": 669, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 470, + "cleanup_index": 660, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 471, + "cleanup_index": 659, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 472, + "cleanup_index": 654, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 473, + "cleanup_index": 653, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 482, + "cleanup_index": 644, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 483, + "cleanup_index": 643, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 496, + "cleanup_index": 621, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 497, + "cleanup_index": 620, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 520, + "cleanup_index": 579, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 521, + "cleanup_index": 578, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 544, + "cleanup_index": 545, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 545, + "cleanup_index": 544, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 568, + "cleanup_index": 513, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 569, + "cleanup_index": 512, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 580, + "cleanup_index": 497, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 581, + "cleanup_index": 496, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 590, + "cleanup_index": 481, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 591, + "cleanup_index": 480, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 592, + "cleanup_index": 475, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 593, + "cleanup_index": 474, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 602, + "cleanup_index": 465, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 603, + "cleanup_index": 464, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 604, + "cleanup_index": 459, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 605, + "cleanup_index": 458, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 606, + "cleanup_index": 457, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 607, + "cleanup_index": 456, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 609, + "cleanup_index": 454, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 611, + "cleanup_index": 452, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 612, + "cleanup_index": 451, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 613, + "cleanup_index": 450, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 614, + "cleanup_index": 449, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 615, + "cleanup_index": 448, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + } + ], + "output_content_sha256": "b228d41a906042f10b0d5169c9fd011d175e6a4fee41156d24ffc253cfe4aee6" +} diff --git a/research/complex-571-hpem46/data/recipes/ck-step0-greedy_kernels.json b/research/complex-571-hpem46/data/recipes/ck-step0-greedy_kernels.json new file mode 100644 index 0000000000..89a4677766 --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/ck-step0-greedy_kernels.json @@ -0,0 +1,550 @@ +{ + "input_content_sha256": "500f005d9cec374f15e086d374578cc8f2c252f9c30444a62d46f2969370a2c6", + "output_content_sha256": "11afa6986e37fd10adda3453d6e55a7353302c9597b93807916a2e5f808e259b", + "kernels": [ + { + "pivot": 462, + "frame": [ + 1 + ], + "gates": [ + { + "part": "A", + "index": 39, + "donor": 476, + "coefficient": "1", + "donor_state": [ + 476, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 40, + "donor": 477, + "coefficient": "1", + "donor_state": [ + 477, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 49, + "donor": 463, + "coefficient": "-1", + "donor_state": [ + 463, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 464, + "frame": [ + 1 + ], + "gates": [ + { + "part": "A", + "index": 25, + "donor": 474, + "coefficient": "1", + "donor_state": [ + 474, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 26, + "donor": 475, + "coefficient": "1", + "donor_state": [ + 475, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 58, + "donor": 465, + "coefficient": "-1", + "donor_state": [ + 465, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 466, + "frame": [ + 7 + ], + "gates": [ + { + "part": "A", + "index": 35, + "donor": 478, + "coefficient": "1", + "donor_state": [ + 478, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 36, + "donor": 479, + "coefficient": "1", + "donor_state": [ + 479, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 58, + "donor": 467, + "coefficient": "-1", + "donor_state": [ + 467, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 468, + "frame": [ + 7 + ], + "gates": [ + { + "part": "A", + "index": 29, + "donor": 480, + "coefficient": "1", + "donor_state": [ + 480, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 30, + "donor": 481, + "coefficient": "1", + "donor_state": [ + 481, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 58, + "donor": 469, + "coefficient": "-1", + "donor_state": [ + 469, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 490, + "frame": [ + 25 + ], + "gates": [ + { + "part": "A", + "index": 33, + "donor": 491, + "coefficient": "-1", + "donor_state": [ + 491, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 33, + "donor": 502, + "coefficient": "1", + "donor_state": [ + 502, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 33, + "donor": 503, + "coefficient": "1", + "donor_state": [ + 503, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 492, + "frame": [ + 25 + ], + "gates": [ + { + "part": "A", + "index": 44, + "donor": 493, + "coefficient": "-1", + "donor_state": [ + 493, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 44, + "donor": 504, + "coefficient": "1", + "donor_state": [ + 504, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 44, + "donor": 505, + "coefficient": "1", + "donor_state": [ + 505, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 514, + "frame": [ + 31 + ], + "gates": [ + { + "part": "A", + "index": 38, + "donor": 526, + "coefficient": "1", + "donor_state": [ + 526, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 39, + "donor": 527, + "coefficient": "1", + "donor_state": [ + 527, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 57, + "donor": 515, + "coefficient": "-1", + "donor_state": [ + 515, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 516, + "frame": [ + 31 + ], + "gates": [ + { + "part": "A", + "index": 51, + "donor": 528, + "coefficient": "1", + "donor_state": [ + 528, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 52, + "donor": 529, + "coefficient": "1", + "donor_state": [ + 529, + 0 + ], + "split_donor": true + }, + { + "part": "A", + "index": 64, + "donor": 517, + "coefficient": "-1", + "donor_state": [ + 517, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 7, + "2": -4 + } + }, + { + "pivot": 510, + "frame": [ + 480 + ], + "gates": [ + { + "part": "B", + "index": 712, + "donor": 511, + "coefficient": "-1", + "donor_state": [ + 511, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 712, + "donor": 524, + "coefficient": "1", + "donor_state": [ + 524, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 712, + "donor": 525, + "coefficient": "1", + "donor_state": [ + 525, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + }, + { + "pivot": 512, + "frame": [ + 480 + ], + "gates": [ + { + "part": "B", + "index": 717, + "donor": 513, + "coefficient": "-1", + "donor_state": [ + 513, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 717, + "donor": 522, + "coefficient": "1", + "donor_state": [ + 522, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 717, + "donor": 523, + "coefficient": "1", + "donor_state": [ + 523, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + }, + { + "pivot": 586, + "frame": [ + 486 + ], + "gates": [ + { + "part": "B", + "index": 822, + "donor": 587, + "coefficient": "-1", + "donor_state": [ + 587, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 822, + "donor": 598, + "coefficient": "1", + "donor_state": [ + 598, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 822, + "donor": 599, + "coefficient": "1", + "donor_state": [ + 599, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + }, + { + "pivot": 588, + "frame": [ + 486 + ], + "gates": [ + { + "part": "B", + "index": 827, + "donor": 589, + "coefficient": "-1", + "donor_state": [ + 589, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 827, + "donor": 600, + "coefficient": "1", + "donor_state": [ + 600, + 0 + ], + "split_donor": true + }, + { + "part": "B", + "index": 827, + "donor": 601, + "coefficient": "1", + "donor_state": [ + 601, + 0 + ], + "split_donor": true + } + ], + "profile_delta": { + "1": 3, + "2": 4, + "3": -4 + } + } + ] +} \ No newline at end of file diff --git a/research/complex-571-hpem46/data/recipes/ck-step1-frame_coalesce.json b/research/complex-571-hpem46/data/recipes/ck-step1-frame_coalesce.json new file mode 100644 index 0000000000..fa80dd680d --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/ck-step1-frame_coalesce.json @@ -0,0 +1,173 @@ +{ + "after": { + "1": 2408, + "2": 570, + "3": 320, + "4": 192, + "5": 56, + "6": 56, + "8": 8 + }, + "before": { + "1": 2420, + "2": 564, + "3": 320, + "4": 192, + "5": 56, + "6": 56, + "8": 8 + }, + "changes": [ + { + "after": [ + "add", + 465, + 464, + 1, + 1, + [ + 126, + 1 + ] + ], + "before": [ + "add", + 465, + 464, + 1, + 1, + [ + 1 + ] + ], + "index": 78, + "section": "A" + }, + { + "after": [ + "add", + 467, + 466, + 1, + 1, + [ + 121, + 7 + ] + ], + "before": [ + "add", + 467, + 466, + 1, + 1, + [ + 7 + ] + ], + "index": 75, + "section": "A" + }, + { + "after": [ + "add", + 469, + 468, + 1, + 1, + [ + 120, + 7 + ] + ], + "before": [ + "add", + 469, + 468, + 1, + 1, + [ + 7 + ] + ], + "index": 72, + "section": "A" + }, + { + "after": [ + "add", + 463, + 462, + 1, + 1, + [ + 120, + 1 + ] + ], + "before": [ + "add", + 463, + 462, + 1, + 1, + [ + 1 + ] + ], + "index": 69, + "section": "A" + }, + { + "after": [ + "add", + 517, + 516, + 1, + 1, + [ + 103, + 31 + ] + ], + "before": [ + "add", + 517, + 516, + 1, + 1, + [ + 31 + ] + ], + "index": 66, + "section": "A" + }, + { + "after": [ + "add", + 515, + 514, + 1, + 1, + [ + 102, + 31 + ] + ], + "before": [ + "add", + 515, + 514, + 1, + 1, + [ + 31 + ] + ], + "index": 61, + "section": "A" + } + ], + "input_content_sha256": "11afa6986e37fd10adda3453d6e55a7353302c9597b93807916a2e5f808e259b" +} diff --git a/research/complex-571-hpem46/data/recipes/ck-step2-gate_move_coalesce.json b/research/complex-571-hpem46/data/recipes/ck-step2-gate_move_coalesce.json new file mode 100644 index 0000000000..c718de4430 --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/ck-step2-gate_move_coalesce.json @@ -0,0 +1,85 @@ +{ + "after": { + "1": 2404, + "2": 572, + "3": 320, + "4": 192, + "5": 56, + "6": 56, + "8": 8 + }, + "before": { + "1": 2408, + "2": 570, + "3": 320, + "4": 192, + "5": 56, + "6": 56, + "8": 8 + }, + "changes": [ + { + "after": [ + "add", + 491, + 490, + 1, + 1, + [ + 96, + 25 + ] + ], + "before": [ + "add", + 491, + 490, + 1, + 1, + [ + 25 + ] + ], + "index": 35, + "section": "A" + }, + { + "after": [ + "add", + 493, + 492, + 1, + 1, + [ + 97, + 25 + ] + ], + "before": [ + "add", + 493, + 492, + 1, + 1, + [ + 25 + ] + ], + "index": 48, + "section": "A" + } + ], + "input_content_sha256": "fac4ead822d8d18e441820f9ca87efeb1866414bb0b82817c6cce4655dc59269", + "moves": [ + { + "from": 33, + "section": "A", + "to": 35 + }, + { + "from": 46, + "section": "A", + "to": 48 + } + ] +} diff --git a/research/complex-571-hpem46/data/recipes/ck-step3-hyperplane_end.json b/research/complex-571-hpem46/data/recipes/ck-step3-hyperplane_end.json new file mode 100644 index 0000000000..12b85521a6 --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/ck-step3-hyperplane_end.json @@ -0,0 +1,649 @@ +{ + "changes": [ + { + "helper": 448, + "cleanup_index": 686, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 449, + "cleanup_index": 685, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 450, + "cleanup_index": 684, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 451, + "cleanup_index": 683, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 452, + "cleanup_index": 682, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 453, + "cleanup_index": 681, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 454, + "cleanup_index": 680, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 455, + "cleanup_index": 679, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 456, + "cleanup_index": 678, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 457, + "cleanup_index": 677, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 458, + "cleanup_index": 676, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 459, + "cleanup_index": 675, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 460, + "cleanup_index": 670, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 461, + "cleanup_index": 669, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 470, + "cleanup_index": 660, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 471, + "cleanup_index": 659, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 472, + "cleanup_index": 654, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 473, + "cleanup_index": 653, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 482, + "cleanup_index": 644, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 483, + "cleanup_index": 643, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 496, + "cleanup_index": 621, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 497, + "cleanup_index": 620, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 520, + "cleanup_index": 579, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 521, + "cleanup_index": 578, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 544, + "cleanup_index": 545, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 545, + "cleanup_index": 544, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 568, + "cleanup_index": 513, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 569, + "cleanup_index": 512, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 580, + "cleanup_index": 497, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 581, + "cleanup_index": 496, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 590, + "cleanup_index": 481, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 591, + "cleanup_index": 480, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 592, + "cleanup_index": 475, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 593, + "cleanup_index": 474, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 602, + "cleanup_index": 465, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 603, + "cleanup_index": 464, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 604, + "cleanup_index": 459, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 605, + "cleanup_index": 458, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 606, + "cleanup_index": 457, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 607, + "cleanup_index": 456, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 609, + "cleanup_index": 454, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 611, + "cleanup_index": 452, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 612, + "cleanup_index": 451, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 613, + "cleanup_index": 450, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 614, + "cleanup_index": 449, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 615, + "cleanup_index": 448, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + } + ], + "output_content_sha256": "1f113dd38e5a6f4250cbcb6f15514e0b9ef79c1076a21116b181918a68c5aa9a" +} diff --git a/research/complex-571-hpem46/data/recipes/jp8-step4-hyperplane_end.json b/research/complex-571-hpem46/data/recipes/jp8-step4-hyperplane_end.json new file mode 100644 index 0000000000..443dd88a00 --- /dev/null +++ b/research/complex-571-hpem46/data/recipes/jp8-step4-hyperplane_end.json @@ -0,0 +1,649 @@ +{ + "changes": [ + { + "helper": 448, + "cleanup_index": 674, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 449, + "cleanup_index": 673, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 450, + "cleanup_index": 672, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 451, + "cleanup_index": 671, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 452, + "cleanup_index": 670, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 453, + "cleanup_index": 669, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 454, + "cleanup_index": 668, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 455, + "cleanup_index": 667, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 456, + "cleanup_index": 666, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 457, + "cleanup_index": 665, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 458, + "cleanup_index": 664, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 459, + "cleanup_index": 663, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 460, + "cleanup_index": 658, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 461, + "cleanup_index": 657, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 470, + "cleanup_index": 648, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 471, + "cleanup_index": 647, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 472, + "cleanup_index": 642, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 473, + "cleanup_index": 641, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 482, + "cleanup_index": 632, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 483, + "cleanup_index": 631, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 496, + "cleanup_index": 609, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 497, + "cleanup_index": 608, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 520, + "cleanup_index": 573, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 521, + "cleanup_index": 572, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 544, + "cleanup_index": 539, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 545, + "cleanup_index": 538, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 568, + "cleanup_index": 507, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 569, + "cleanup_index": 506, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 580, + "cleanup_index": 491, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 581, + "cleanup_index": 490, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 590, + "cleanup_index": 481, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 591, + "cleanup_index": 480, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 592, + "cleanup_index": 475, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 593, + "cleanup_index": 474, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 602, + "cleanup_index": 465, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 603, + "cleanup_index": 464, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 604, + "cleanup_index": 459, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 605, + "cleanup_index": 458, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 606, + "cleanup_index": 457, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 607, + "cleanup_index": 456, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 609, + "cleanup_index": 454, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 611, + "cleanup_index": 452, + "frame": [ + 256, + 128, + 64, + 32, + 18, + 10, + 6, + 1 + ] + }, + { + "helper": 612, + "cleanup_index": 451, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 613, + "cleanup_index": 450, + "frame": [ + 256, + 128, + 64, + 32, + 24, + 4, + 2, + 1 + ] + }, + { + "helper": 614, + "cleanup_index": 449, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + }, + { + "helper": 615, + "cleanup_index": 448, + "frame": [ + 256, + 128, + 64, + 32, + 16, + 8, + 6, + 1 + ] + } + ], + "output_content_sha256": "b31897ec0a49cdf2988f2533e8030e34b8cd7b7a940d137bea35a91db97465c7" +} diff --git a/research/complex-571-hpem46/verify.py b/research/complex-571-hpem46/verify.py new file mode 100644 index 0000000000..2f1bc10f8e --- /dev/null +++ b/research/complex-571-hpem46/verify.py @@ -0,0 +1,260 @@ +"""Spec-driven official replay: rebuild every provider word from pinned sources through typed construction steps, +localize each word with the unchanged vendor pipeline, then run the spec-driven global admission and assembly. +Prepared with Claude Code assistance. Apache-2.0; see NOTICE.md. Pinned external sources are unchanged packages. +Everything this script runs is named in data/SPEC.json "build" and must be one of the allowlisted step types below; +the spec contains no scripts or commands, only step types, pinned source files, recipes and expected hashes. +""" +import argparse,gzip,hashlib,json,os,subprocess,sys,time,shutil,threading +from concurrent.futures import ThreadPoolExecutor +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--work',type=Path,required=True) +ap.add_argument('--spec',type=Path,default=P/'data/SPEC.json',help=argparse.SUPPRESS) +ap.add_argument('--jobs',type=int,default=min(8,os.cpu_count() or 4),help='parallel provider chains') +ap.add_argument('--source',action='append',default=[],help='NAME=DIR pinned source package (default: sibling directory named in the spec)') +ap.add_argument('--check-pins',action='store_true',help='check package and source pins, then stop') +ap.add_argument('--until',choices=('locals','all'),default='all',help=argparse.SUPPRESS) +ap.add_argument('--reuse-baseline',type=Path,help=argparse.SUPPRESS) +ap.add_argument('--reuse-local',action='append',default=[],help=argparse.SUPPRESS) +a=ap.parse_args();O=a.work.resolve();SPECFILE=a.spec.resolve();SPEC=json.loads(SPECFILE.read_bytes());BUILD=SPEC['build'] +DISCOVER=os.environ.get('WITNESS_DISCOVER')=='1';discovered={} +given=dict(x.split('=',1)for x in a.source) +SRC={name:Path(given.get(name,P.parent/src['dir'])).resolve()for name,src in BUILD['sources'].items()};S=SRC['multicold'] +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def content(p):return hashlib.sha256(gzip.decompress(p.read_bytes())).hexdigest() +def dump(p,x):p.write_text(json.dumps(x,indent=2)+'\n',newline='\n') +def tree(root,skip):return{f.relative_to(root).as_posix():sha(f)for f in root.rglob('*')if f.is_file()and f!=root/skip and'__pycache__'not in f.parts} +def pinned(where,key,got,label): + """Compare against the spec value; a discovery build (propose.py) records values the spec does not yet hold.""" + if key in where:assert got==where[key],'BUILD PIN MISMATCH %s.%s: expected %s got %s'%(label,key,where[key],got) + else:assert DISCOVER,'BUILD PIN MISSING %s.%s'%(label,key);discovered[label+'.'+key]=got + return got +if SPECFILE==P/'data/SPEC.json':assert tree(P,'MANIFEST.json')==read(P/'MANIFEST.json'),'package MANIFEST' +for name,src in BUILD['sources'].items(): + root=SRC[name];manifest=read(root/'MANIFEST.json') + assert sha(root/'MANIFEST.json')==src['manifest_sha256'],name+' manifest pin' + if src.get('full_tree'):assert tree(root,'MANIFEST.json')==manifest,name+' tree' + files=manifest.get('files',manifest) + for rel,value in src['files'].items():assert sha(root/rel)==value==files[rel],(name,rel) +def ref(r,pin=True): + """'pkg:rel' (this package) or 'NAME:rel' (a pinned file of source NAME).""" + kind,rel=r.split(':',1) + if kind=='pkg':return P/rel + assert rel in BUILD['sources'][kind]['files'],'unpinned source file '+r + return SRC[kind]/rel +if a.check_pins:print('PINS OK',SPEC['name'],sha(SPECFILE));raise SystemExit(0) +assert not O.exists() and not any(O.is_relative_to(x)for x in (P,*SRC.values())) +O.mkdir(parents=True);steps=[];lock=threading.Lock();start=time.monotonic() +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(S),GAIN_PR564_SOURCE=str(S),WITNESS_SPEC=str(SPECFILE));env.pop('PYTHONOPTIMIZE',None);env.pop('WITNESS_DISCOVER',None) +def run(name,script,*args): + log=O/(name+'.log');t=time.monotonic();print('RUN',name,flush=True) + with log.open('w')as f:code=subprocess.call([sys.executable,'-B',str(S/'code/run_portable.py'),str(script),*map(str,args)],stdout=f,stderr=subprocess.STDOUT,env=env) + with lock:steps.append(dict(name=name,exit_code=code,seconds=round(time.monotonic()-t,3),log_sha256=sha(log)));dump(O/'STAGES.json',steps) + if code:raise RuntimeError(name+' failed\n'+log.read_text()[-6000:]) + print('PASS',name,flush=True) +B=S/'vendor/pr558';F=B/'vendor/pr552';V=F/'complex-global/vendor531';GK=F/'complex-local/static44/gk' +if a.reuse_baseline:baseline=a.reuse_baseline.resolve() +else:baseline=O/'baseline558';run('frozen558-full-replay',B/'verify.py','--work',baseline) +SEL=baseline/'reconstruction/static44/SELECTION.json';RAW=baseline/'reconstruction/promoted/FULL-WORD.json.gz' +def omissions(path,s,label):pinned(s,'omission_controls',len(read(path)['controls']),label) +# Allowlisted step types: (constructor, paired omission audit), all scripts from the pinned multicold source. +def cold_kernel(word,s,out,tag): + recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',S/'code/build_cold_kernel.py','--input',word,'--recipe',recipe,'--gk-dir',GK,'--out',out) + run(tag+'-omissions',S/'code/audit_kernel_controls.py','--word',out/'FULL-WORD.json.gz','--recipe',recipe,'--out',out/'KERNEL-OMISSION-CONTROLS.json') + omissions(out/'KERNEL-OMISSION-CONTROLS.json',s,tag) +def finalize(word,recipe,tag): + """Discovery only: a new recipe whose output hash is still open is pinned by a first build that must fail exactly at + the final output-hash assertion (every kernel check passed); the printed hash is written into a final recipe.""" + r=read(recipe);h=r.get('output_content_sha256','') + if len(h)==64 and all(c in '0123456789abcdef'for c in h):return recipe + assert DISCOVER,'recipe output hash not pinned: '+tag + r['output_content_sha256']='0'*64;probe=O/(tag+'-probe');probe.mkdir();dump(probe/'RECIPE.json',r) + p=subprocess.run([sys.executable,'-B',str(S/'code/run_portable.py'),str(S/'code/build_multicut_kernels.py'),'--input',str(word),'--recipe',str(probe/'RECIPE.json'),'--gk-dir',str(GK),'--out',str(probe/'out')],capture_output=True,text=True,env=env) + last=(p.stderr.strip().splitlines()or[''])[-1];assert p.returncode and last.startswith('AssertionError: ')and len(last)==16+64,'probe build failed before the output hash:\n'+p.stderr[-3000:] + r['output_content_sha256']=last[16:];final=O/(tag+'-RECIPE.json');final.write_text(json.dumps(r,indent=1)+'\n',newline='\n') + discovered[tag+'.final_recipe']=str(final);return final +def multicut(word,s,out,tag): + recipe=finalize(word,ref(s['recipe']),tag);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',S/'code/build_multicut_kernels.py','--input',word,'--recipe',recipe,'--gk-dir',GK,'--out',out) + run(tag+'-omissions',S/'code/audit_multicold_controls.py','--word',out/'FULL-WORD.json.gz','--recipe',recipe,'--out',out/'MULTICOLD-OMISSION-CONTROLS.json') + omissions(out/'MULTICOLD-OMISSION-CONTROLS.json',s,tag) +PROMOTER=('larger_gain','providers/build_entrance_promotions.py',('providers/coupled_frames_base.py','providers/search_suffix_kernels.py')) +def frame_only(source,word,recipes): + """Independent check that a promotion changed only entrance frames: identical scalar operations, start_extra changed + exactly at the recipe pivots (old -> new frame), frame fields only on scalar events, report changes limited.""" + assert source.keys()==word.keys() + for section in source: + if section in ('A','cut','B','cleanup','precondition'): + assert len(source[section])==len(word[section]) + assert all(x[:-1]==y[:-1]for x,y in zip(source[section],word[section])),'scalar operation changed' + elif section not in ('start_extra','report'):assert source[section]==word[section],'fixed field changed: '+section + entrances=dict(source['start_extra']) + for r in recipes: + k=str(r['pivot']);assert sorted(entrances[k])==sorted(r['old_frame']) and len(r['new_frame'])==len(r['old_frame'])+1,'wrong old entrance '+k + entrances[k]=word['start_extra'][k];assert sorted(entrances[k])==sorted(r['new_frame']),'wrong new entrance '+k + assert word['start_extra']==entrances,'entrance changed outside the recipe' + allowed={'local_profile','local_rank_mass','entrance_rank','entering_helpers','width_inventory'} + assert source['report'].keys()==word['report'].keys() and all(source['report'][k]==word['report'][k]for k in source['report']if k not in allowed) +def promote(word,s,out,tag): + src,builder,deps=PROMOTER;recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + for f in deps:ref(src+':'+f) + run(tag+'-construction',ref(src+':'+builder),'--word',word,'--recipes',recipe,'--gk-dir',GK,'--out',out) + a,b,r=read(word),read(out/'FULL-WORD.json.gz'),read(recipe);frame_only(a,b,r) + import copy + rejected=[] + for name,mut in (('reverted_promotion',lambda w:w['start_extra'].__setitem__(str(r[0]['pivot']),list(r[0]['old_frame']))), + ('scalar_operation_changed',lambda w:w['B'][0].insert(0,'mutated')),('extra_entrance_changed',lambda w:w['start_extra'].__setitem__(next(k for k in w['start_extra']if k not in{str(x['pivot'])for x in r}),[])), + ('fixed_field_changed',lambda w:w.__setitem__('cut',w['cut'][:-1]))): + w=copy.deepcopy(b);mut(w) + try:frame_only(a,w,r) + except(AssertionError,KeyError,IndexError,TypeError):rejected.append(name) + else:raise AssertionError('frame-only control accepted: '+name) + dump(out/'FRAME-ONLY-CONTROLS.json',dict(status='PASS_FRAME_ONLY_PROMOTION_TRANSFER',promotions=len(r),controls=rejected)) + omissions(out/'FRAME-ONLY-CONTROLS.json',s,tag) +JOINT=('joint_prefix',('code/build_joint_prefix.py','code/audit_joint_prefix.py','code/audit_multicold_controls.py')) +def joint_prefix(word,s,out,tag): + """PR575's unchanged joint-prefix constructor with its paired audits: all-kernel omissions, rank-five omissions and + the independent literal-prefix/coverage audit (variant and kernel recipe named in the step).""" + src,(builder,audit,omit)=JOINT;recipe=ref(s['recipe']);kern=ref(s['kernel_recipes']);pinned(s,'recipe_sha256',sha(recipe),tag);pinned(s,'kernel_recipes_sha256',sha(kern),tag) + assert s['variant'] in ('eightcold','width7') + run(tag+'-construction',ref(src+':'+builder),'--input',word,'--recipe',recipe,'--variant',s['variant'],'--gk-dir',GK,'--out',out) + shutil.copyfile(RAW.parent/'PROMOTION.json',out/'PROMOTION.json') + run(tag+'-all-kernel-omissions',ref(src+':'+omit),'--word',out/'FULL-WORD.json.gz','--recipe',kern,'--out',out/'ALL-KERNEL-CONTROLS.json') + run(tag+'-rank5-omissions',B/'code/audit_promoted_scalar.py',out/'FULL-WORD.json.gz',SEL,out/'RANK5-CONTROLS.json') + run(tag+'-independent-joint-prefix-and-coverage',ref(src+':'+audit),'--source',word,'--word',out/'FULL-WORD.json.gz','--recipe',recipe,'--variant',s['variant'],'--kernel-recipes',kern,'--controls',out/'ALL-KERNEL-CONTROLS.json','--rank5-controls',out/'RANK5-CONTROLS.json','--promotion',out/'PROMOTION.json','--selection',SEL,'--out',out/'JOINT-PREFIX-AUDIT.json') + j=read(out/'JOINT-PREFIX-AUDIT.json');assert j['status']=='PASS_INDEPENDENT_LITERAL_PREFIX_AND_FINAL_KERNEL_COVERAGE' + c=read(out/'ALL-KERNEL-CONTROLS.json');assert all(x['forward_rejected'] and x['reflected_rejected'] for x in c['controls']) + omissions(out/'ALL-KERNEL-CONTROLS.json',s,tag);pinned(s,'rank5_controls',len(read(out/'RANK5-CONTROLS.json')['controls']),tag) + pinned(s,'joint_negative_controls',len(j['negative_controls_rejected']),tag) +COAL=('frame_coalescing','code/build_frames.py') +def frame_coalesce(word,s,out,tag): + """PR583's unchanged frame-coalescence constructor (it re-checks profiles, scalar operations, widths and helper + responses and rejects every omission/over-promotion control), plus an independent check that only the recipe's + gate frames changed (old -> new) and every other field of the word is identical.""" + src,builder=COAL;recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',ref(src+':'+builder),'--input',word,'--recipe',recipe,'--gk-dir',GK,'--out',out) + r=read(recipe);c=read(out/'FRAME-CONSTRUCTION.json');assert c['status']=='PASS_SIX_EXACT_FRAME_COALESCENCES' + assert len(c['negative_controls_rejected'])==2*len(r['changes']);pinned(s,'negative_controls',len(c['negative_controls_rejected']),tag) + x,y=read(word),read(out/'FULL-WORD.json.gz');ch={(z['section'],z['index']):z for z in r['changes']};assert len(ch)==len(r['changes']) + assert x.keys()==y.keys() and all(x[k]==y[k]for k in x if k not in('A','B','report')) + for part in ('A','B'): + assert len(x[part])==len(y[part]) + for i,(u,v) in enumerate(zip(x[part],y[part])): + z=ch.pop((part,i),None) + if z is None:assert u==v,'frame changed outside the recipe %s %d'%(part,i) + else:assert u==z['before'] and v==z['after'] and u[:-1]==v[:-1],'wrong coalescence %s %d'%(part,i) + assert not ch,'recipe change outside A/B' + assert all(x['report'][k]==y['report'][k]for k in x['report']if k not in('local_profile','local_rank_mass','status')) +def gate_move_coalesce(word,s,out,tag): + """This package's code/build_gate_moves.py (PR583's constructor extended by commuting gate moves): every passed gate + must commute, helper responses and widths are unchanged, cleanup follows the inherited inverse rule, and every + omission/over-promotion/unmoved control is rejected; then the same independent comparison as frame_coalesce.""" + recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',P/'code/build_gate_moves.py','--input',word,'--recipe',recipe,'--gk-dir',GK,'--out',out) + r=read(recipe);c=read(out/'FRAME-CONSTRUCTION.json');assert c['status']=='PASS_EXACT_GATE_MOVE_FRAME_COALESCENCES' + assert len(c['negative_controls_rejected'])==2*len(r['changes'])+len(r['moves']);pinned(s,'negative_controls',len(c['negative_controls_rejected']),tag) + x,y=read(word),read(out/'FULL-WORD.json.gz') + for m in r['moves']:L=x[m['section']];L.insert(m['to'],L.pop(m['from'])) + ch={(z['section'],z['index']):z for z in r['changes']};assert len(ch)==len(r['changes']) + assert x.keys()==y.keys() and all(x[k]==y[k]for k in x if k not in('A','B','cleanup','report')) + for part in ('A','B'): + assert len(x[part])==len(y[part]) + for i,(u,v) in enumerate(zip(x[part],y[part])): + z=ch.pop((part,i),None) + if z is None:assert u==v,'gate changed outside the recipe %s %d'%(part,i) + else:assert u==z['before'] and v==z['after'] and u[:-1]==v[:-1],'wrong coalescence %s %d'%(part,i) + assert not ch,'recipe change outside A/B' + meta=('width_inventory','entering_helpers','entrance_rank');assert all(x['report'][k]==y['report'][k]for k in x['report']if k not in('local_profile','local_rank_mass','status')+meta) + sys.path.insert(0,str(GK));import gk_common as GC;GC.V=112;ws=GC.widths_of(y) + assert y['report']['width_inventory']=={str(k):v for k,v in sorted(Counter(ws).items())} and y['report']['entering_helpers']==sum(v<9 for v in ws) and y['report']['entrance_rank']==sum(9-v for v in ws),'descriptive width metadata not normalized' +def hyperplane_end(word,s,out,tag): + """This package's code/build_hpe.py: cleanup gates that commute with the whole skipped cleanup prefix run right after B + at the join frame U of their registers, and the helper ends at U (residual T_U T_E^-1, width |U|-|E|; Lemma C, nested + children, Lemma A). Paired audit: code/hpe_controls_atc.py (exact replay of the reordered program plus HPE raw-word + mutations). Then an independent comparison: only early_cleanup, helper_final and the paid profile change.""" + recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',P/'code/build_hpe.py','--input',word,'--recipe',recipe,'--out',out) + run(tag+'-controls',P/'code/hpe_controls_atc.py',out/'FULL-WORD.json.gz',F/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz',out) + c=read(out/'HPE-ATC-CONTROLS.json');assert c['status']=='PASS_HPE_RAW_WORD_CONTROLS';pinned(s,'negative_controls',len(c['rejected']),tag) + r=read(recipe);x,y=read(word),read(out/'FULL-WORD.json.gz') + assert set(y)==set(x)|{'early_cleanup','helper_final'} and 'early_cleanup' not in x and all(x[k]==y[k]for k in x if k!='report') + assert y['early_cleanup']==[[z['cleanup_index'],z['frame']]for z in r['changes']] and y['helper_final']=={str(z['helper']):z['frame']for z in r['changes']} + assert x['report'].keys()==y['report'].keys() and all(x['report'][k]==y['report'][k]for k in x['report']if k not in('local_profile','local_rank_mass','width_inventory')) + inv=Counter({int(k):n for k,n in x['report']['width_inventory'].items()}) + for z in r['changes']:e=len(x['start_extra'][str(z['helper'])]);inv[9-e]-=1;inv[len(z['frame'])-e]+=1 + assert y['report']['width_inventory']=={str(k):n for k,n in sorted(inv.items())if n},'descriptive width metadata not |final|-|start|' +STEPS={'hyperplane_end':hyperplane_end,'cold_kernel':cold_kernel,'multicut':multicut,'greedy_kernels':multicut,'promote':promote,'joint_prefix':joint_prefix,'frame_coalesce':frame_coalesce,'gate_move_coalesce':gate_move_coalesce} +def build_word(pid,d): + base=d['base'];assert base['kind']in('frozen558_promoted','source_file'),base['kind'] + word=RAW if base['kind']=='frozen558_promoted' else ref(base['file']) + pinned(base,'content_sha256',content(word),pid+'.base') + for i,s in enumerate(d['steps']): + tag='%s-step%d-%s'%(pid,i,s['type']);out=O/tag + if s['type']=='frozen558_scalar_audits': + # inherited static44 and rank-five omission audits on a frozen558-descended word + out.mkdir();run(tag+'-static44',F/'complex-local/static44/audit_scalar.py',word,SEL,out/'STATIC44-SCALAR-AUDIT.json') + shutil.copyfile(RAW.parent/'PROMOTION.json',word.parent/'PROMOTION.json') + run(tag+'-rank5',B/'code/audit_promoted_scalar.py',word,SEL,out/'PROMOTED-SCALAR-AUDIT.json');continue + assert s['type'] in STEPS,'step type not allowlisted: '+s['type'] + pinned(s,'input_content_sha256',content(word),tag) + STEPS[s['type']](word,s,out,tag);word=out/'FULL-WORD.json.gz' + pinned(s,'output_content_sha256',content(word),tag) + pinned(d,'word_content_sha256',content(word),pid) + return word +def localize(pid,word): + local=O/(pid+'-local') + # HPE words (helper_final present) use this package's generalised native chain; every other word the unchanged vendor531 one + hp='helper_final' in read(word);NC=(lambda f:P/'code'/('hpe_'+f))if hp else(lambda f:V/'code'/f) + run(pid+'-all-columns-native-frames',NC('audit_and_transport.py'),'--raw',word,'--routing',F/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz','--out',local) + run(pid+'-both-reflected-ledgers',NC('emit_local.py'),local) + run(pid+'-independent-local-controls',NC('audit_local.py'),local) + run(pid+'-normalized-wrappers',NC('adapters_local.py'),local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json') + run(pid+'-all-phase-edges',B/'code/phases_full.py',local,V/'vendor/clifford') + r=BUILD['providers'][pid].get('retained_local') + if r: # a pinned retained local must be reproduced byte for byte (phase review up to timing) + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','WRAPPER-CHECKS.json','CLIFFORD-RECIPES.json'): + assert sha(local/name)==sha(ref(r+'/'+name)),(pid,name) + fresh,old=read(local/'CLIFFORD-REVIEW.json'),read(ref(r+'/CLIFFORD-REVIEW.json')) + assert {k:v for k,v in fresh.items()if k!='seconds'}=={k:v for k,v in old.items()if k!='seconds'} + return local +reuse=dict(x.split('=',1)for x in a.reuse_local) +words={} +def provider(pid): + word=words[pid]=build_word(pid,BUILD['providers'][pid]) + return Path(reuse[pid]).resolve()if pid in reuse else localize(pid,word) +with ThreadPoolExecutor(max(1,min(a.jobs,len(BUILD['providers']))))as pool: + futures={pid:pool.submit(provider,pid)for pid in sorted(BUILD['providers'])};locals_={pid:f.result()for pid,f in futures.items()} +dump(O/'LOCALS.json',dict(locals={pid:str(l)for pid,l in locals_.items()},words={pid:str(w)for pid,w in words.items()},baseline=str(baseline),discovered=discovered)) +if a.until=='locals':print('LOCALS READY');raise SystemExit(0) +assert not DISCOVER +G=O/'mixed-global' +run('bind-providers',P/'code/bind_providers_portable.py','--baseline',baseline,*[x for pid,l in sorted(locals_.items())for x in('--provider','%s=%s'%(pid,l))],'--plan',P/'data/PLAN.json','--out',G) +run('emit-controller',P/'code/emit_allcold.py','--base',G/'base','--owners',P/'data/OWNERS.json.gz','--plan',G/'PLAN.json','--out',G/'hosted') +(G/'audit').mkdir() +run('independent-controller-and-controls',P/'code/audit_allcold.py',G/'base',G/'hosted',G/'audit/ASYNC-AUDIT.json','--mutation-controls') +run('fresh-invoice',P/'code/invoice_allcold.py','--base',G/'base','--hosted',G/'hosted','--audit',G/'audit','--out',G/'audit','--retained-invoice',V/'evidence/audit/PREFIX-AND-INVOICE.json') +run('conservative-and-native-exact-assembly',P/'code/assemble.py',S,G,O/'ASSEMBLY.json') +run('admission-controls',P/'code/assembly_controls.py','--source-package',S,'--owner',G/'audit/OWNERS-AND-PROFILE.json','--invoice',G/'audit/PREFIX-AND-INVOICE.json','--out',O/'ASSEMBLY-CONTROLS.json') +run('phase-timing-portability-controls',P/'code/phase_timing_controls.py',S,G/'base',G/'audit',O/'PHASE-TIMING-CONTROLS.json') +run('actual-recompression-and-rebound-controls',P/'code/generated_identity_controls.py','--base',G/'base','--audit',G/'audit','--out',O/'GENERATED-IDENTITY-CONTROLS.json') +X=SPEC['expected'] +for pid,local in locals_.items(): + r=read(local/'INDEPENDENT-LOCAL-REPLAY.json');ph=read(local/'CLIFFORD-REVIEW.json') + assert len(r['negative_controls_rejected'])==SPEC['providers'][pid]['native_negative_controls'] and r['paid_profiles']['forward']==r['paid_profiles']['backward'] + assert ph['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' and ph['all_child_equalities_include_global_phase']is True and ph['directed_edges']==SPEC['providers'][pid]['phase_edges'] and ph['endpoint_adapters']==224 +assert len(read(G/'audit/ASYNC-AUDIT.json')['mutations_rejected'])==X['mutations_rejected'] +assert len(read(O/'ASSEMBLY-CONTROLS.json')['rejected_controls'])==X['assembly_controls_rejected'] +z=read(O/'ASSEMBLY.json');assert Q(z['kappa_decimal'])==Q(X['kappa_decimal']) and Q(z['conservative_kappa_decimal'])==Q(X['conservative_kappa_decimal']) +assert {str(k):v for k,v in z['complex_profile'].items()}==X['global_profile'] and z['provider_counts']==X['provider_counts'] +r=dict(status=SPEC['build']['status'],kappa=z['kappa'],kappa_decimal=z['kappa_decimal'],complex_lower=z['complex_lower'],bit_lower=z['bit_lower'],conservative_kappa_decimal=z['conservative_kappa_decimal'],conservative_complex_lower=z['conservative_complex_lower'],global_profile=z['complex_profile'],provider_counts=z['provider_counts'],surcharge_model=z['surcharge_model'],seconds=time.monotonic()-start,reused=dict(baseline=bool(a.reuse_baseline),locals=sorted(reuse)),scope=z['scope']);dump(O/'RESULT.json',r) +paths=['PHASE-TIMING-CONTROLS.json','GENERATED-IDENTITY-CONTROLS.json','mixed-global/audit/IDLE-REMAINDER-FRAMES.json','RESULT.json','ASSEMBLY.json','ASSEMBLY-CONTROLS.json','mixed-global/BINDING.json','mixed-global/audit/ASYNC-AUDIT.json','mixed-global/audit/OWNERS-AND-PROFILE.json','mixed-global/audit/PREFIX-AND-INVOICE.json'] +paths+=sorted(f.relative_to(O).as_posix()for f in O.glob('*-step*/*.json')) +for pid in sorted(set(locals_)-set(reuse)): + for fn in ('INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json','WRAPPER-CHECKS.json'):paths.append(pid+'-local/'+fn) +dump(O/'RECEIPT.json',dict(status=r['status'],steps=steps,artifacts={name:sha(O/name)for name in paths},manifest_sha256=sha(P/'MANIFEST.json'),spec_sha256=sha(SPECFILE),source_manifest_sha256={n:sha(SRC[n]/'MANIFEST.json')for n in SRC})) +print(json.dumps(r,indent=2)) From 529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550 Mon Sep 17 00:00:00 2001 From: Jeremy Kothe Date: Tue, 13 Oct 2026 04:01:53 +1100 Subject: [PATCH 2/5] Ship the reviewed proof note PROOF-COMMUTING-PREFIX.md in the package --- research/complex-571-hpem46/MANIFEST.json | 7 +- .../PROOF-COMMUTING-PREFIX.md | 91 +++++++++++++++++++ 2 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 research/complex-571-hpem46/PROOF-COMMUTING-PREFIX.md diff --git a/research/complex-571-hpem46/MANIFEST.json b/research/complex-571-hpem46/MANIFEST.json index 6cb9943f64..8dcf2e1a60 100644 --- a/research/complex-571-hpem46/MANIFEST.json +++ b/research/complex-571-hpem46/MANIFEST.json @@ -1,4 +1,7 @@ { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "a0db818047836f78cb69eaa6deefd8499483597a3cfe1149960fef1734f892dd", + "PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", "code/assemble.py": "71fca807f2e70ed7439e369be4bb3be21b487e942b92f0e7629d7521e9398a65", "code/assembly_controls.py": "7ec40d7a223b3525ef672b2d491979f11d9be913b90c9fe5ae54160ae91538a2", "code/audit_allcold.py": "90b754475dcb73b73ee6339ecf59190baac8157b33c45ca803ee611e6540eed1", @@ -18,6 +21,7 @@ "code/witness.py": "4f6d445f4796e9e7c0ef388370020119d4fdb929c006b2101aecb203ece8ab61", "data/OWNERS.json.gz": "7a9d95890f22233c6c942e1e2eae9c30dbe098ff718a59514a02256a45d4e888", "data/PLAN.json": "329750b57d80ee60893ca1be6bba38f39a2264dd63bf2158ca0ac68f406326cd", + "data/SPEC.json": "e622f5eb68f43e6b86154e11c9eeb7a1ecf8c3b201c5e605f67808244ed3e865", "data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", "data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", "data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", @@ -28,8 +32,5 @@ "data/recipes/ck-step2-gate_move_coalesce.json": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", "data/recipes/ck-step3-hyperplane_end.json": "e771ec08d638071283afed235bf4d35550b38bebe648d2a0377a430e96327e15", "data/recipes/jp8-step4-hyperplane_end.json": "7e3d021c7498b3a65345d74d008af5aa87249ec1dc082914ea0beb17908f8f81", - "data/SPEC.json": "e622f5eb68f43e6b86154e11c9eeb7a1ecf8c3b201c5e605f67808244ed3e865", - "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", - "NOTICE.md": "a0db818047836f78cb69eaa6deefd8499483597a3cfe1149960fef1734f892dd", "verify.py": "1189c03c352aefa4b5a3d28dbe42dd92c5e6d8f5a7ca56c252eef464847c95f7" } diff --git a/research/complex-571-hpem46/PROOF-COMMUTING-PREFIX.md b/research/complex-571-hpem46/PROOF-COMMUTING-PREFIX.md new file mode 100644 index 0000000000..f3ab78dba0 --- /dev/null +++ b/research/complex-571-hpem46/PROOF-COMMUTING-PREFIX.md @@ -0,0 +1,91 @@ +# Hyperplane ends past a commuting cleanup prefix (46 helpers per call) + +Status: for independent review. Code: `scratch/MultiHPEScout/pipe/` (a copy of `scratch/Pipeline`; only +`code/build_hpe.py` and `code/hpe_controls_atc.py` differ). Lean: PR #593 (`research/hyperplane-end-lean`, Tail.lean / +Main.lean / Labels.lean) and PR #599 (Multi.lean), archived at `scratch/MultiHPEScout/research/hyperplane-end-lean`. + +## 0. The change + +`build_hpe.py` (#596) admitted an early cleanup gate `g = cleanup[i] = h -= p` only when `g` was the **first** cleanup +gate on both `h` and `p`. The relaxed rule admits `g` when it **commutes with every earlier cleanup gate on its registers** +(`commute()` in build_hpe.py: neither gate writes a register the other touches, or both are additions into one target +and neither reads the other's target). All other conditions are unchanged: `h` is an entering helper with exactly one +cleanup gate, `U` = join of the last A/B frames of `h` and `p` (dim 8), early gates share no register. + +On #596's ck, atm3 and jp8 words this admits 8 more helpers per word (38 → 46): `h ∈ {496, 497, 520, 521, 544, 545, +568, 569}`. In each case the partner `p` (299, 33, 331, 105, 363, 41, 395, 97) has exactly one earlier cleanup gate, +`x -= p` (x = 283, 9, 315, 65, 347, 1, 379, 73; cleanup 440–447), which only **reads** `p`. `h` has no earlier cleanup +gate. E is dim 1 ((24) or (30)), the last frames of h / p have dim 7 / 5 and U has dim 8. + +Per helper: width 8 → 7; paid `{1:+2, 2:−1, 3:+1, 4:−1}` (h 7→9 becomes 7→8; p 5→9 becomes 5→8→9). Rank mass −1 with +hosted width −1, so total mass and the 2560 deficit are unchanged. The constructor's profile is reproduced by an +independent build of coldk-hpe with the same rule (`coldk-multi.exe info`). + +Multi-gate tails and cold E = ⊥ helpers (#599) admit nothing further on these words; see `CENSUS.md`. + +## 1. Why #593's hypotheses still hold + +#593's theorems are about the word **as executed**, `a ++ tail ++ b ++ [post]`. Nothing in them refers to the original +cleanup order: the order matters only through the scalar hypothesis `hS` (unit helper row, zero column), which the +tools check on the reordered program. + +1. **Labels** — `hpe_labels` (Tail.lean:44; equally `hpe_labels_multi`, Multi.lean:195, as the one-gate instance via + `tail_eq_mtail`). Hypotheses: + * `ha`: `a` = precondition + compensation + A + cut + B is the inherited part, unchanged. + * `tail h p Ah Ap U q` is well labelled by `tail_labels` (Tail.lean:30): h and p climb to U, the gate runs at U (G0). + * `hb`: `b` = the final climbs + the remaining FULL cleanup. The skipped gate `x -= p` now runs in `b` after `p` has + climbed U → FULL in the final phase, so both operands are at FULL (G0). `b` is well labelled exactly as for the 38 + (the partner of each of the 38 likewise continues U → FULL). + * `hmv`: no event of `b` moves `h`. True because `h` has exactly one cleanup gate (constructor assert; audit assert + `cleanup on non-FULL end`, hpe_audit_and_transport.py:216). + The skipped gate touches `p` and `x`, never `h`, so the relaxation does not affect `hmv`. +2. **Scalars** — `hS` and the endpoint (E). `hpe_audit_and_transport.py:116-124` replays `precondition + compensation + + A + cut + B + tail + rest` exactly (forward and inverse-transpose, all 728 columns) and asserts the inherited scalar + identity. Why it passes: as matrices, `t += a·s` is `I + a·E_ts`, and + `(I + a E_ts)(I + b E_uv) = I + a E_ts + b E_uv + ab·[s = u]·E_tv`. For `x -= p` (t = x, s = p) and `h -= p` + (u = h, v = p): `s = p ≠ h = u` and `v = p ≠ x = t`, so both products equal `I − E_xp − E_hp`; the gates commute and the + reordered program is the same linear map as the original. A skipped gate that **writes** `p` (`p += c·y`: t = p = v) + or touches `h` fails this and is refused by the constructor; any such move that reached the audit is rejected by the + replay (control below). +3. **(N)** — the new helpers use (E, U) pairs `((24), U₂₄)` and `((30), U₃₀)`. The wrapper check + (`hpe_adapters_local.py`, `WRAPPER-CHECKS.json`) checks T_U T_E⁻¹ = L (C_[7] ⊗ I) R exactly with phase for **every** + (E, U) pair of the emitted word; #593's `factor_of_exact` then gives (F), and `hpe_word` (Main.lean:86) gives the + endpoint `χ⁻¹ (C_[7] ⊗ I₂) χ`. `code/check_hpe_pairs.py` (#593 §4) re-checks the shape on the emitted local run. +4. **Accounting** — unchanged rules: width = |final| − |E| at the emit/audit/invoice sites, mass neutrality as in + `HostingShapeScout/PROOF-HYPERPLANE-END.md` §2 (the partner pays last → U → FULL, h pays last → U). + +No verifier rule changes: the audit, emitter, adapters, invoice and global stage already accept any exact reordering. +Only the constructor's admissibility rule (a sufficient condition for the replay to pass) is widened. + +## 2. Negative controls (`code/hpe_controls_atc.py`, run by verify.py's hyperplane_end step) + +Inherited raw-word controls (8), all rejected; the first is the audit-level one for this change: an early gate that does +not commute with its skipped prefix (a gate whose source was written by an earlier cleanup gate) is rejected by the +exact replay. + +New controls (13; PrefixReviewer fixes applied). Every constructor control must fail with a **pinned** assertion message +(`NONCOMMUTE` = "cleanup gate does not commute with the skipped cleanup gates on its registers", `ONEGATE` = "helper must +have exactly this one cleanup gate"); a different failure aborts the control run. Helpers are paired with their early +gate through the gate's target `cleanup[i][1]` (checked against `helper_final`), not through dict order. +* Synthetic, gate inserted at the head of the cleanup (skipped by the first early gate `h -= p`): + positive `x -= p` (only reads p) accepted; `p -= x` → NONCOMMUTE; `p *= −1` → NONCOMMUTE; + an extra gate reading `h` → ONEGATE; an extra gate adding into `h` → ONEGATE (these two exercise the one-gate rule, + not the commutation check). +* Real helpers: for each helper admitted only by the commutation rule (496, 497, 520, 521, 544, 545, 568, 569 on ck), + its actual skipped gate `x -= p` (cleanup 447 … 440) is flipped in place to `p -= x` → NONCOMMUTE (8 controls). The + unflipped word's own changes are re-built (positive). +* Raw word (audit): `local_profile['1'] −= 8` (the 8 new partners' U → FULL climbs not charged) → rejected by the + audit's paid-profile assert. + +Result on `w_ck`: `PASS 21 HPE raw-word mutations rejected` (9 raw-word + 12 constructor). + +## 3. Evidence from the strict build (`prop_m46/build`, pipe/propose.py --until build, dev reuse of baseline558 only) + +* `{ck,atm3,jp8}-step*-hyperplane_end-construction.log`: `PASS 46 hyperplane-ended helpers` each. +* `{ck,atm3,jp8}-step*-hyperplane_end-controls.log`: `PASS 12 HPE raw-word mutations rejected` each (8 inherited + 4 + constructor; the positive reader case built). +* `{ck,atm3,jp8}-local/WRAPPER-CHECKS.json`: `PASS_RESIDUAL_WRAPPERS_ARE_EXACT`; plus the local native checks + (all-columns-native-frames = exact replay of the reordered program, phase edges, reflected ledgers, independent local + controls) that the build runs on every provider. +* #593's independent instance check `code/check_hpe_pairs.py RUN --mutants` on each local: PASS, 46 helpers, 3 distinct + (E, U) pairs (24 / 12 / 10 helpers; #596 had 24 / 8 / 6 — the same three pairs), 6/6 mutants rejected. From af8c23b24482386aeed314b379b92482c2fca993 Mon Sep 17 00:00:00 2001 From: DreamingOfClouds Date: Mon, 12 Oct 2026 12:30:22 -0500 Subject: [PATCH 3/5] Conditional kappa 0.001620147045734211: cold low-frame-ended helpers on the PR601 witness (+0.368%) research/complex-571-cold14 starts from PR601 (jeremykothe2, complex-571-hpem46) and appends one typed build step, cold_end, to each provider chain (ck, atm3, jp8): in every call 14 cold factory-scratch helpers (S b.10) end at a 4-dimensional frame instead of FULL (width 9 -> 4) under a refactored exact cleanup (rank-0 dirt-spread premix at the head of A, 56 multi-gate lower-frame tail gates, the 46 inherited hyperplane-end gates, and an exact dyadic FULL remainder). Dispatch ck 44 / atm3 22 / jp8 6 and the literal owner map are re-solved for the new widths. Verifier: cold helpers may end below FULL with (0, U) wrappers (exact Lemma A check per pair), a refactored-cleanup switch (exact replay both orientations, dyadic, non-target), a row/column cone pre-check, and wrapper-order checks at both the transport and the event level; 14 raw-word mutants for the new step. Builds on PR591/PR592/PR593/ PR596/PR600/PR601 (jeremykothe2), PR531 (icekylinx), our PR509/PR516/PR599. Build on this at your own risk. Co-Authored-By: Claude Opus 5.5 --- research/complex-571-cold14/LICENSE | 201 + research/complex-571-cold14/MANIFEST.json | 43 + research/complex-571-cold14/NOTICE.md | 25 + .../PROOF-COMMUTING-PREFIX.md | 91 + research/complex-571-cold14/README.md | 153 + research/complex-571-cold14/code/assemble.py | 213 + .../code/assembly_controls.py | 251 + .../complex-571-cold14/code/audit_allcold.py | 232 + .../code/bind_providers_portable.py | 66 + .../complex-571-cold14/code/build_cold_end.py | 125 + .../code/build_gate_moves.py | 61 + research/complex-571-cold14/code/build_hpe.py | 123 + .../code/cold_end_controls.py | 86 + .../complex-571-cold14/code/emit_allcold.py | 144 + .../code/generated_identity.py | 62 + .../code/generated_identity_controls.py | 227 + .../code/hpe_adapters_local.py | 116 + .../code/hpe_audit_and_transport.py | 301 + .../code/hpe_audit_local.py | 171 + .../code/hpe_controls_atc.py | 119 + .../complex-571-cold14/code/hpe_emit_local.py | 163 + .../code/invoice_allcold.py | 323 + .../code/phase_timing_controls.py | 36 + research/complex-571-cold14/code/witness.py | 38 + .../complex-571-cold14/data/OWNERS.json.gz | Bin 0 -> 472853 bytes research/complex-571-cold14/data/PLAN.json | 43333 ++++++++++++++++ research/complex-571-cold14/data/SPEC.json | 2867 + .../data/recipes/atm3-step0-promote.json | 1 + .../recipes/atm3-step1-greedy_kernels.json | 561 + .../recipes/atm3-step2-frame_coalesce.json | 173 + .../atm3-step3-gate_move_coalesce.json | 85 + .../recipes/atm3-step4-hyperplane_end.json | 649 + .../data/recipes/atm3-step5-cold_end.json.gz | Bin 0 -> 32701 bytes .../data/recipes/ck-step0-greedy_kernels.json | 550 + .../data/recipes/ck-step1-frame_coalesce.json | 173 + .../recipes/ck-step2-gate_move_coalesce.json | 85 + .../data/recipes/ck-step3-hyperplane_end.json | 649 + .../data/recipes/ck-step4-cold_end.json.gz | Bin 0 -> 32702 bytes .../recipes/jp8-step4-hyperplane_end.json | 649 + .../data/recipes/jp8-step5-cold_end.json.gz | Bin 0 -> 30748 bytes research/complex-571-cold14/verify.py | 283 + research/complex-571-cold14/verify.sh | 14 + 42 files changed, 53442 insertions(+) create mode 100644 research/complex-571-cold14/LICENSE create mode 100644 research/complex-571-cold14/MANIFEST.json create mode 100644 research/complex-571-cold14/NOTICE.md create mode 100644 research/complex-571-cold14/PROOF-COMMUTING-PREFIX.md create mode 100644 research/complex-571-cold14/README.md create mode 100644 research/complex-571-cold14/code/assemble.py create mode 100644 research/complex-571-cold14/code/assembly_controls.py create mode 100644 research/complex-571-cold14/code/audit_allcold.py create mode 100644 research/complex-571-cold14/code/bind_providers_portable.py create mode 100644 research/complex-571-cold14/code/build_cold_end.py create mode 100644 research/complex-571-cold14/code/build_gate_moves.py create mode 100644 research/complex-571-cold14/code/build_hpe.py create mode 100644 research/complex-571-cold14/code/cold_end_controls.py create mode 100644 research/complex-571-cold14/code/emit_allcold.py create mode 100644 research/complex-571-cold14/code/generated_identity.py create mode 100644 research/complex-571-cold14/code/generated_identity_controls.py create mode 100644 research/complex-571-cold14/code/hpe_adapters_local.py create mode 100644 research/complex-571-cold14/code/hpe_audit_and_transport.py create mode 100644 research/complex-571-cold14/code/hpe_audit_local.py create mode 100644 research/complex-571-cold14/code/hpe_controls_atc.py create mode 100644 research/complex-571-cold14/code/hpe_emit_local.py create mode 100644 research/complex-571-cold14/code/invoice_allcold.py create mode 100644 research/complex-571-cold14/code/phase_timing_controls.py create mode 100644 research/complex-571-cold14/code/witness.py create mode 100644 research/complex-571-cold14/data/OWNERS.json.gz create mode 100644 research/complex-571-cold14/data/PLAN.json create mode 100644 research/complex-571-cold14/data/SPEC.json create mode 100644 research/complex-571-cold14/data/recipes/atm3-step0-promote.json create mode 100644 research/complex-571-cold14/data/recipes/atm3-step1-greedy_kernels.json create mode 100644 research/complex-571-cold14/data/recipes/atm3-step2-frame_coalesce.json create mode 100644 research/complex-571-cold14/data/recipes/atm3-step3-gate_move_coalesce.json create mode 100644 research/complex-571-cold14/data/recipes/atm3-step4-hyperplane_end.json create mode 100644 research/complex-571-cold14/data/recipes/atm3-step5-cold_end.json.gz create mode 100644 research/complex-571-cold14/data/recipes/ck-step0-greedy_kernels.json create mode 100644 research/complex-571-cold14/data/recipes/ck-step1-frame_coalesce.json create mode 100644 research/complex-571-cold14/data/recipes/ck-step2-gate_move_coalesce.json create mode 100644 research/complex-571-cold14/data/recipes/ck-step3-hyperplane_end.json create mode 100644 research/complex-571-cold14/data/recipes/ck-step4-cold_end.json.gz create mode 100644 research/complex-571-cold14/data/recipes/jp8-step4-hyperplane_end.json create mode 100644 research/complex-571-cold14/data/recipes/jp8-step5-cold_end.json.gz create mode 100644 research/complex-571-cold14/verify.py create mode 100755 research/complex-571-cold14/verify.sh diff --git a/research/complex-571-cold14/LICENSE b/research/complex-571-cold14/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/complex-571-cold14/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/complex-571-cold14/MANIFEST.json b/research/complex-571-cold14/MANIFEST.json new file mode 100644 index 0000000000..e17a7e91fe --- /dev/null +++ b/research/complex-571-cold14/MANIFEST.json @@ -0,0 +1,43 @@ +{ + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "77b609689f113c799ef41cc1768a99989dc77459fdae6ae831eed6ea57b00138", + "PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", + "README.md": "536132add9c00643aa5508a904dce93161102d947ffc106600e1fcc86d2d1aa8", + "code/assemble.py": "7d3b340817ff0e2b9054286c24af622500d31c3b175caec14dacd71e5a3e5414", + "code/assembly_controls.py": "7ec40d7a223b3525ef672b2d491979f11d9be913b90c9fe5ae54160ae91538a2", + "code/audit_allcold.py": "e92859025b6e853a8060f5ec63146f8b40ea01978b52b3c1920e2e3a750a7c71", + "code/bind_providers_portable.py": "ff9c025f628dcf16b6ba281d288bd80aa418ee9685ab90b8266049fbd1b01c93", + "code/build_cold_end.py": "39bde5d87e84c683a8ab83a66fe103f31a63b1007d9320029c73b8f68cfbab74", + "code/build_gate_moves.py": "08bf1c2652307aeefbab089fdaf02f82e2c396ca23a1eb68e294a67e74c44252", + "code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "code/cold_end_controls.py": "e4947d8639dfb7eda67be52b095f10a9eb3937b24dc9e7a2b810cf29f20adb06", + "code/emit_allcold.py": "5b4a6fffbdff16e27f87683274470a0a21ae224ff55f34b9839f451f2930d517", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/generated_identity_controls.py": "5ea88b559f0e8f29c6a3c814d6abcd2007abcff97d6bd2acced3fafda074375d", + "code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "code/hpe_audit_and_transport.py": "4aa2e230bec9fd5c46937b10d3611f572cf2e5048600f3f42b2cadd27883aa4b", + "code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "code/hpe_controls_atc.py": "63aa3909b5bfd3bf270c313bebb5c46e7789c67a8f2439f568bc4b2b4a35d17b", + "code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "code/invoice_allcold.py": "308800f513c73dfb1aacd42e44092b52f5b00e9db45de4fb18d0653c3e97e027", + "code/phase_timing_controls.py": "1692ccee3da4b1781408d126ee4999f3e31a505cd83c64823a404033da3a6339", + "code/witness.py": "73161e25b354ee2acdfdc1abe0c925290d1e6eb9dfcf2b309f610cb90eaebac4", + "data/OWNERS.json.gz": "ad0e3e6fd1743792257e5e935164680aa0dba832c45daee9a8a0fc985948af1a", + "data/PLAN.json": "5fb7735839fdff4cceeda5890275f7093e07d6b096bbb6616021f4f389dba356", + "data/SPEC.json": "22b00590d773c06292b2f604c449e0492a49df14f7f8744e66df4822cc1eba81", + "data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", + "data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", + "data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", + "data/recipes/atm3-step3-gate_move_coalesce.json": "3a6b8fec6c8b56a45bf8fae683083636fa295a8914ffa68d11b1f78ba3a2eb9d", + "data/recipes/atm3-step4-hyperplane_end.json": "aaf94d63a3756211f08d73ebe30bcba5554bf543b77311294aaff3ab3bfb5d13", + "data/recipes/atm3-step5-cold_end.json.gz": "a1669e97de185a9eb054f95dcf54f0c99b11fd51a71fb4b7d8b161fa2ad8a8b0", + "data/recipes/ck-step0-greedy_kernels.json": "c839199d0e6f8e976978fe97bc0c5579a65ba69dfb6864585b448cccc1113056", + "data/recipes/ck-step1-frame_coalesce.json": "0c8e5991e1338f03b837814dd060d4dd598c324e3538ee510913e0444a384ee3", + "data/recipes/ck-step2-gate_move_coalesce.json": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", + "data/recipes/ck-step3-hyperplane_end.json": "e771ec08d638071283afed235bf4d35550b38bebe648d2a0377a430e96327e15", + "data/recipes/ck-step4-cold_end.json.gz": "0190c405f59859d1c4750557c14e2dd39a39b75411b320d5b9c280a654608671", + "data/recipes/jp8-step4-hyperplane_end.json": "7e3d021c7498b3a65345d74d008af5aa87249ec1dc082914ea0beb17908f8f81", + "data/recipes/jp8-step5-cold_end.json.gz": "56f5be104c6a943115ffd845c0967b552870fc5da96e74aecc15dea9a3c8d77a", + "verify.py": "1d3aca7d1ce35fd5c55189641e8f14478b5540e3e6ac81f13572ca109d982eb4", + "verify.sh": "1ad4fe1fc00bd89b98edb16a52357d180e92f92263aab7a4b53ea02a06a25263" +} diff --git a/research/complex-571-cold14/NOTICE.md b/research/complex-571-cold14/NOTICE.md new file mode 100644 index 0000000000..4766e9f72f --- /dev/null +++ b/research/complex-571-cold14/NOTICE.md @@ -0,0 +1,25 @@ +# Attribution and scope + +Four verified provider types are offered to every call: PR571's prefix word with twelve multi-cut cold kernels (PR568's unchanged constructor), the same word with forty width-five entrance promotions (PR569's unchanged frame constructor) before those kernels, PR575's plain joint-prefix provider, and PR568's eight-cold provider. A window MILP with an exact per-pattern model chooses the dispatch and a literal owner map. PR583's six source-bound kernel frame coalescences (its unchanged constructor and negative controls) are applied to every PR571-prefix provider word (ck and atm3), followed by two further coalescences that each first move one addition past two commuting additions (package code/build_gate_moves.py, extending PR583's constructor); a final hyperplane_end step (package code/build_hpe.py) then runs 46 single-gate cleanups h -= p right after part B at the dim-8 join U of their registers, so 46 width-8 entering helpers per call end at U with width 7; each such gate commutes with every earlier cleanup gate on its registers (for 8 of them the partner's one earlier gate x -= p only reads p), and the reordered program is replayed exactly. A window MILP (exact windows, RINS around an LP vertex) gives the dispatch ck 45 / atm3 21 / jp8 6 and the literal owner map. + +Pinned external sources (unchanged; `verify.py` checks their manifests and every file it uses): +- PR568 (`research/complex-multicold`, commit `71c99ac935a33bb7b59a1b4a7af8725a939b0b90`). +- PR571 (`research/structural-gain`, commit `b7bdc5a8de18fcf418cfb9c7d83a2b1097a5e4a3`). +- PR569 (`research/larger-gain`, commit `897213a855b7fb8a1b8b0e552a2f5c42e6c1b326`). +- PR575 (`research/complex-joint-prefix`, commit `eac6f7e378ab622dac50a2fd4b7ef6eab014de44`). +- PR583 (`research/kernel-frame-coalescing`, commit `89be768f0157f5a3d8e4db69cf1748768605eac9`). + +Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. + +The owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; it is not an admission dependency. + +Prepared by Claude Code (Anthropic) research agents. Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. + +**This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: +- every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); +- the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map (not an admission dependency); +- `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. + +The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. + diff --git a/research/complex-571-cold14/PROOF-COMMUTING-PREFIX.md b/research/complex-571-cold14/PROOF-COMMUTING-PREFIX.md new file mode 100644 index 0000000000..f3ab78dba0 --- /dev/null +++ b/research/complex-571-cold14/PROOF-COMMUTING-PREFIX.md @@ -0,0 +1,91 @@ +# Hyperplane ends past a commuting cleanup prefix (46 helpers per call) + +Status: for independent review. Code: `scratch/MultiHPEScout/pipe/` (a copy of `scratch/Pipeline`; only +`code/build_hpe.py` and `code/hpe_controls_atc.py` differ). Lean: PR #593 (`research/hyperplane-end-lean`, Tail.lean / +Main.lean / Labels.lean) and PR #599 (Multi.lean), archived at `scratch/MultiHPEScout/research/hyperplane-end-lean`. + +## 0. The change + +`build_hpe.py` (#596) admitted an early cleanup gate `g = cleanup[i] = h -= p` only when `g` was the **first** cleanup +gate on both `h` and `p`. The relaxed rule admits `g` when it **commutes with every earlier cleanup gate on its registers** +(`commute()` in build_hpe.py: neither gate writes a register the other touches, or both are additions into one target +and neither reads the other's target). All other conditions are unchanged: `h` is an entering helper with exactly one +cleanup gate, `U` = join of the last A/B frames of `h` and `p` (dim 8), early gates share no register. + +On #596's ck, atm3 and jp8 words this admits 8 more helpers per word (38 → 46): `h ∈ {496, 497, 520, 521, 544, 545, +568, 569}`. In each case the partner `p` (299, 33, 331, 105, 363, 41, 395, 97) has exactly one earlier cleanup gate, +`x -= p` (x = 283, 9, 315, 65, 347, 1, 379, 73; cleanup 440–447), which only **reads** `p`. `h` has no earlier cleanup +gate. E is dim 1 ((24) or (30)), the last frames of h / p have dim 7 / 5 and U has dim 8. + +Per helper: width 8 → 7; paid `{1:+2, 2:−1, 3:+1, 4:−1}` (h 7→9 becomes 7→8; p 5→9 becomes 5→8→9). Rank mass −1 with +hosted width −1, so total mass and the 2560 deficit are unchanged. The constructor's profile is reproduced by an +independent build of coldk-hpe with the same rule (`coldk-multi.exe info`). + +Multi-gate tails and cold E = ⊥ helpers (#599) admit nothing further on these words; see `CENSUS.md`. + +## 1. Why #593's hypotheses still hold + +#593's theorems are about the word **as executed**, `a ++ tail ++ b ++ [post]`. Nothing in them refers to the original +cleanup order: the order matters only through the scalar hypothesis `hS` (unit helper row, zero column), which the +tools check on the reordered program. + +1. **Labels** — `hpe_labels` (Tail.lean:44; equally `hpe_labels_multi`, Multi.lean:195, as the one-gate instance via + `tail_eq_mtail`). Hypotheses: + * `ha`: `a` = precondition + compensation + A + cut + B is the inherited part, unchanged. + * `tail h p Ah Ap U q` is well labelled by `tail_labels` (Tail.lean:30): h and p climb to U, the gate runs at U (G0). + * `hb`: `b` = the final climbs + the remaining FULL cleanup. The skipped gate `x -= p` now runs in `b` after `p` has + climbed U → FULL in the final phase, so both operands are at FULL (G0). `b` is well labelled exactly as for the 38 + (the partner of each of the 38 likewise continues U → FULL). + * `hmv`: no event of `b` moves `h`. True because `h` has exactly one cleanup gate (constructor assert; audit assert + `cleanup on non-FULL end`, hpe_audit_and_transport.py:216). + The skipped gate touches `p` and `x`, never `h`, so the relaxation does not affect `hmv`. +2. **Scalars** — `hS` and the endpoint (E). `hpe_audit_and_transport.py:116-124` replays `precondition + compensation + + A + cut + B + tail + rest` exactly (forward and inverse-transpose, all 728 columns) and asserts the inherited scalar + identity. Why it passes: as matrices, `t += a·s` is `I + a·E_ts`, and + `(I + a E_ts)(I + b E_uv) = I + a E_ts + b E_uv + ab·[s = u]·E_tv`. For `x -= p` (t = x, s = p) and `h -= p` + (u = h, v = p): `s = p ≠ h = u` and `v = p ≠ x = t`, so both products equal `I − E_xp − E_hp`; the gates commute and the + reordered program is the same linear map as the original. A skipped gate that **writes** `p` (`p += c·y`: t = p = v) + or touches `h` fails this and is refused by the constructor; any such move that reached the audit is rejected by the + replay (control below). +3. **(N)** — the new helpers use (E, U) pairs `((24), U₂₄)` and `((30), U₃₀)`. The wrapper check + (`hpe_adapters_local.py`, `WRAPPER-CHECKS.json`) checks T_U T_E⁻¹ = L (C_[7] ⊗ I) R exactly with phase for **every** + (E, U) pair of the emitted word; #593's `factor_of_exact` then gives (F), and `hpe_word` (Main.lean:86) gives the + endpoint `χ⁻¹ (C_[7] ⊗ I₂) χ`. `code/check_hpe_pairs.py` (#593 §4) re-checks the shape on the emitted local run. +4. **Accounting** — unchanged rules: width = |final| − |E| at the emit/audit/invoice sites, mass neutrality as in + `HostingShapeScout/PROOF-HYPERPLANE-END.md` §2 (the partner pays last → U → FULL, h pays last → U). + +No verifier rule changes: the audit, emitter, adapters, invoice and global stage already accept any exact reordering. +Only the constructor's admissibility rule (a sufficient condition for the replay to pass) is widened. + +## 2. Negative controls (`code/hpe_controls_atc.py`, run by verify.py's hyperplane_end step) + +Inherited raw-word controls (8), all rejected; the first is the audit-level one for this change: an early gate that does +not commute with its skipped prefix (a gate whose source was written by an earlier cleanup gate) is rejected by the +exact replay. + +New controls (13; PrefixReviewer fixes applied). Every constructor control must fail with a **pinned** assertion message +(`NONCOMMUTE` = "cleanup gate does not commute with the skipped cleanup gates on its registers", `ONEGATE` = "helper must +have exactly this one cleanup gate"); a different failure aborts the control run. Helpers are paired with their early +gate through the gate's target `cleanup[i][1]` (checked against `helper_final`), not through dict order. +* Synthetic, gate inserted at the head of the cleanup (skipped by the first early gate `h -= p`): + positive `x -= p` (only reads p) accepted; `p -= x` → NONCOMMUTE; `p *= −1` → NONCOMMUTE; + an extra gate reading `h` → ONEGATE; an extra gate adding into `h` → ONEGATE (these two exercise the one-gate rule, + not the commutation check). +* Real helpers: for each helper admitted only by the commutation rule (496, 497, 520, 521, 544, 545, 568, 569 on ck), + its actual skipped gate `x -= p` (cleanup 447 … 440) is flipped in place to `p -= x` → NONCOMMUTE (8 controls). The + unflipped word's own changes are re-built (positive). +* Raw word (audit): `local_profile['1'] −= 8` (the 8 new partners' U → FULL climbs not charged) → rejected by the + audit's paid-profile assert. + +Result on `w_ck`: `PASS 21 HPE raw-word mutations rejected` (9 raw-word + 12 constructor). + +## 3. Evidence from the strict build (`prop_m46/build`, pipe/propose.py --until build, dev reuse of baseline558 only) + +* `{ck,atm3,jp8}-step*-hyperplane_end-construction.log`: `PASS 46 hyperplane-ended helpers` each. +* `{ck,atm3,jp8}-step*-hyperplane_end-controls.log`: `PASS 12 HPE raw-word mutations rejected` each (8 inherited + 4 + constructor; the positive reader case built). +* `{ck,atm3,jp8}-local/WRAPPER-CHECKS.json`: `PASS_RESIDUAL_WRAPPERS_ARE_EXACT`; plus the local native checks + (all-columns-native-frames = exact replay of the reordered program, phase edges, reflected ledgers, independent local + controls) that the build runs on every provider. +* #593's independent instance check `code/check_hpe_pairs.py RUN --mutants` on each local: PASS, 46 helpers, 3 distinct + (E, U) pairs (24 / 12 / 10 helpers; #596 had 24 / 8 / 6 — the same three pairs), 6/6 mutants rejected. diff --git a/research/complex-571-cold14/README.md b/research/complex-571-cold14/README.md new file mode 100644 index 0000000000..eb8d33e59c --- /dev/null +++ b/research/complex-571-cold14/README.md @@ -0,0 +1,153 @@ +# complex-571-cold14: conditional κ 0.001620147045734211 + +**Build on this at your own risk.** DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. This package awaits independent review. + +## Result + +κ = **0.001620147045734211** (conservative model 0.001620147042858282). That is **+0.368% over PR601** (0.001614202339036103) on dispatch ck ×44, atm3 ×22, jp8 ×6. The value comes from `ASSEMBLY.json` of the strict `verify.py` run on this package's literal owner map. The paid profile is {1:185869, 2:32471, 3:23609, 4:14128, 5:5040, 6:2016, 7:6, 8:581, 16:15, 24:1, 32:76, 48:2039} (live 7168, deficit 2560). + +The complex side binds: + +| quantity | value | +|---|---| +| native complex lower bound | 0.001622776181770995425298 | +| bit supplier value (PR543) | 0.0016538 (`bit_lower` 0.001653826988146798944268) | +| κ with the bit cap | 0.001620147045734211 | +| κ without the bit cap | 0.001620147045734211 | + +The bit value is above the complex bound, so it does not bind, and κ is the same with or without the cap. + +## What changes relative to PR601 + +PR601 (jeremykothe2) dispatches three provider words: **ck**, **atm3** and **jp8**. In each word, 46 entering helpers per call end at a hyperplane. The mechanism comes from PR591, PR592 and PR601. The Lean side is Lemma A with an arbitrary terminal frame (PR593) and multi-gate tails (PR599). + +This package appends one typed build step, `cold_end`, to each of the three chains, after `hyperplane_end`. In every call, 14 **cold** factory-scratch helpers end at a **4-dimensional frame U_b** instead of FULL, so their residual width drops from 9 to 4. These helpers are `S b.10`, one per factory block b: registers 234, 250, …, 442. The step has three parts. + +1. **Premix.** 142 rank-0 gates at frame `[]` sit at the head of section A. For each block b, the premix swaps the dirt of `S b.0` and `S b.10`. It then fans the candidate's initial value out into `S b.1 … S b.7` with ±1 coefficients. The premix runs after the entry adapters and paid wrappers, so every gate on a cold-ended helper follows its pre-wrapper R_{0,U}^-1. The compensation reads no cold-ended helper. +2. **Lower-frame cleanup.** For each candidate h, four multi-gate tail gates run right after B at frame U_b: + - `h += −½·P_a` + - `h += P_b` + - `P_c += h` + - `P_d += h` + + Here P_a … P_d are data ports whose end-of-B frames lie in U_b. After these gates, h's row and column of the state are unit vectors. The 46 inherited hyperplane-end gates follow unchanged. +3. **Exact FULL remainder.** A dyadic Gauss–Jordan refactorisation of the rest of the inverse replaces the literal reversed-inverse cleanup. It touches no helper that ends below FULL. + +**Why the premix makes this possible.** A helper h can end at a frame U only if two things hold at the end of B, under every monotone common-frame cleanup: +- the row of h in the inverse state map is supported on registers whose frames lie in U; +- the column of h (every register carrying h's initial dirt) is supported on registers whose frames lie in U. + +The premix spreads each candidate's initial dirt over `S b.0 … S b.7`. That collapses its dirt column to three low-frame registers, which is what makes the dim-4 frame reachable. + +Effect per call and per provider: +- the paid local profile changes by {1:+28, 5:+14, 6:−28}; +- 14 helpers go from width 9 to width 4. + +The dispatch and the literal owner map are re-solved for the new widths (`data/PLAN.json`, `data/OWNERS.json.gz`). They come from an annealing search started from PR601's map, using relocate, swap, ejection-chain, bin-evacuation and provider-flip moves. Every inherited window, family and capacity constraint is kept. + +The approach borrows from the uncomputation literature: Bennett 1989; Gidney 2015 (borrowed dirty ancillas); Häner–Roetteler–Svore 2017. + +## Why the cold ends are legitimate + +**Labels and realisation.** PR599's `hpe_labels_multi` / `hpe_word_multi` (Lean) cover: +- any number of tail gates per helper, as target or partner; +- interleaved helpers; +- any terminal frame; +- an unrestricted entrance, so the cold case E = ⊥ is included. + +`exact_cold` reduces (N) for (⊥, U) to a monomial factorisation of T_U, which is how `canonical_frame` defines T_U. + +**(N) for every (0, U_b) pair.** This is checked exactly here. `hpe_adapters_local.py` verifies L^-1 T_U R^-1 = C_[4] ⊗ I, global phase included, for all 14 dim-4 pairs. It rejects these wrapper mutants: +- identity pre or post wrapper; +- no wrappers; +- FULL decode; +- width 9; +- wrong U; +- wrong phase. + +PR599's `cold_hyperplane_width` lemma is the dim-8 case. Here the width |U| − |E| = 4 − 0 is the |final| − |start| rule that PR591's verifier already applies at every global site. + +**The refactored cleanup is not trusted.** `hpe_audit_and_transport.py` accepts a non-literal cleanup only when the word carries `refactored_cleanup`. Such a cleanup must: +- touch only non-target registers; +- use only dyadic additions and signed binary scales; +- make the arbitrary-dirt endpoint replay of the full reordered program exact in both orientations. + +The transport also checks the row and column cone conditions above for every helper that ends below FULL. + +**Wrapper order.** Two independent checks enforce it: +- The transport rejects any zero-frame precondition or compensation gate that touches a cold-ended helper. +- The event-level replay (`hpe_audit_local.py`) requires every scalar on a wrapped helper to lie between that helper's pre and post residual adapters. A negative control that hoists a premix gate in front of the pre-wrapper must be rejected. + +## Verifier changes (inert for words without cold ends) + +- `code/hpe_audit_and_transport.py`: + - cold helpers may end at a proper subframe U (here dim 4) with `0:U` wrappers; + - the row/column cone pre-check; + - the refactored-cleanup switch; + - the zero-frame wrapper-order assertion. +- `code/hpe_emit_local.py`, `hpe_audit_local.py`, `hpe_adapters_local.py`: + - `0:U` wrappers for cold low-frame ends; + - the event-level wrapper-order check; + - 7 event-level and 7–8 recipe-level cold mutants. +- `code/audit_allcold.py`, `invoice_allcold.py`, `assemble.py`: a cold helper may end below FULL with `0:U` wrappers, and these count as wrappers. +- New step `cold_end`: + - `code/build_cold_end.py` splices the recipe data and recomputes the profile and widths from the frame chains; + - `code/cold_end_controls.py` holds 14 raw-word mutants that must be rejected, including a premix moved into the precondition. +- `code/witness.py` adds `WITNESS_RECORD`, used for discovery bookkeeping only. + +## Future optimization (results and open headroom) + +All LP figures below are first-order bounds. They come from the aggregate hosting LP (the whole-owner model on PR601's windows, objective Σ r·ln(73/r)), calibrated against exact moment-engine prices. On PR601's own dispatch and widths, the LP lies within 0.005% of PR601's literal map. + +| quantity | value | +|---|---| +| LP ceiling, fixed dispatch (PR601's ck 45 / atm3 21 / jp8 6, all cold) | ≈ +0.49% | +| LP ceiling, free dispatch over {ck, atm3, jp8} cold | ≈ +0.71% | +| this package's literal map | +0.368% | +| remaining owner-map headroom on the fixed dispatch | ≈ 0.12 pt | + +- **Free dispatch is jp8-heavy.** The LP puts about 70 calls on jp8 and about 2 on atm3. The LP's idle remainder is pure rank-48 idle children, whereas the literal map still leaves some rank-16 and rank-32 idle children. +- **What limits jp8.** The time windows do not limit jp8. Time-refinability does: within each owner group, each port may host at most one helper per call. The aggregate optimum ignores this, and the exact per-port refinement of it is infeasible. Literal maps for jp8-heavy dispatches found so far are worse than PR601's dispatch. +- **Closing the gap.** An exact, edge-colourable owner model is the remaining owner-side lever: per-time Hall conditions, or a pattern-restricted model warm-started from this map. +- **End dimension (first-order).** Raising a unit's end frame from dim 4 to dim d needs the last tail gate at that frame, which lifts one partner. This adds 2ψ(d−4) + ψ(9−d) − ψ(5) to the local cost per unit, where ψ(r) = r·ln(73/r). That is +6.8, +10.6, +13.0 and +14.1 for d = 5…8. The remaining hosting headroom is about 1–2 per unit, so d = 4 is the best end dimension for these units. +- **Necessary condition, for any cleanup factorisation.** A helper h can end at a frame U only if, at the end of B, the supports of its row in the inverse state map and of its dirt column both lie in Q_U, the registers whose end-of-B frames lie in U. The transport checks this condition for every low-frame end. Choosing which units satisfy it, through the premix, is the supply question. This package uses 14 units per word. Their optimality per word is not certified here. + +## Verification + +Fetch the pinned sources exactly as for PR601, then run: + +```sh +research/complex-571-cold14/verify.sh /tmp/complex-571-cold14 .. +# kappa 0.001620147045734211 +``` + +`verify.py` uses only the standard library and requires assertions. It runs these stages: + +1. It checks the MANIFEST and every source, PLAN, OWNERS and recipe pin. +2. It replays PR558. +3. It rebuilds the three provider words through their typed chains. That is 17 steps, each with pinned input and output content hashes and paired controls. +4. It localizes each word through the generalised native chain: + - exact scalar replay and the cone pre-check; + - both reflected ledgers; + - the independent local replay with its mutants; + - exact wrappers; + - all phase edges. +5. It runs binding and the physical owner audit with its controller mutants. +6. It runs a fresh finite invoice and both exact moment engines. +7. It runs the assembly controls, the phase-timing controls and the generated-identity controls. + +The result is conditional on the inherited assumptions listed in NOTICE.md. + +## Credits + +- **jeremykothe2**: + - PR601, PR600, PR596, PR592 and PR591: hyperplane-ended helpers, the HPE verifier, and the packages and owner maps this one starts from; + - PR593: Lean Lemma A with an arbitrary terminal frame. +- **icekylinx**: PR531 and PR535 (entrance and kernel machinery). +- **DreamingOfClouds**: + - PR509 and PR516 (the Lemma A / Lemma G Lean line); + - PR599 (multi-gate and cold hyperplane-end Lean); + - PR484. +- The pinned PR568, PR569, PR571, PR575 and PR583 packages and their authors, as listed in NOTICE.md. + +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. diff --git a/research/complex-571-cold14/code/assemble.py b/research/complex-571-cold14/code/assemble.py new file mode 100644 index 0000000000..7a6bcd73f9 --- /dev/null +++ b/research/complex-571-cold14/code/assemble.py @@ -0,0 +1,213 @@ +"""Hardened 63 width-seven (#571 prefix word) and 9 plain eight-cold (#568 E8) provider assembly with the native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR543 supplier. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + assert owner['owners_per_call']==728 and owner['actual_helper_owner_charts']==owner['hosted_residuals']==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==72 + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['helpers']==504 and invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=7168,local_helpers=504,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==504 and p['centres']==8 and p['n']==728 and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=11704,12218,16128 + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*72,4*112*8;moves=2*shifts + nonlocal_items=(4*112*8*9+2*112*8*9+2*72*504+parent_idle+9*504+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(72*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_path=P/'inputs/PR543-EXPECTED.json';bit_data=bit_path.read_bytes() + assert hashlib.sha1(b'blob '+str(len(bit_data)).encode()+b'\0'+bit_data).hexdigest()=='b61d859826246e0c3dabbe096e57ad7015eadfd5' + bit=json.loads(bit_data)['nine'] + c=Q(bit['bit_lower']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==2560 + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + for z,accept in [(lower,True),(lower+Q(1,10**24),False)]: + l,u=M.moment(h,m,W,z,bad);ll,uu=B.moment(m,W,list(h.items()),z) + if bad: + fl,fu=B.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + bit_moments=check_moment('bit',bitH,64,bit['bit']['live'],c,9984,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,2560,True) + assert bit['bit']['two_level_coefficient_bits']0 + ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+512)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+512) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,10**18),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,2560,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'inputs/PR543-EXPECTED.json':sha(bit_path)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_FRESH_MIXED_048_ALLCOLD_NATIVE_EXACT_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pinned569_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=543,repository='eumemic/integer-mult-bounds',commit='2065fe4f72a914d907f1046603f5a36f17018535',path='research/e8-bit-r420/EXPECTED.json',git_blob_sha1='b61d859826246e0c3dabbe096e57ad7015eadfd5',replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional native exact-complex witness after complete conservative admission, moment and outer checks; PR559 exact-cover recurrence correction only, bit bad-residue surcharge and H1-H5 retained. The frozen PR582 plain-joint-prefix, added-kernel and entrance-promoted provider dispatch with the new frame coalescences composed with cited unchanged PR543 bit supplier. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/complex-571-cold14/code/assembly_controls.py b/research/complex-571-cold14/code/assembly_controls.py new file mode 100644 index 0000000000..fdc35bb4c9 --- /dev/null +++ b/research/complex-571-cold14/code/assembly_controls.py @@ -0,0 +1,251 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + 72 + 72 + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d['provider_id'] != P and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in (270, 282, 294, 306): + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9); w[h], w[j] = w[j], w[h] + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/complex-571-cold14/code/audit_allcold.py b/research/complex-571-cold14/code/audit_allcold.py new file mode 100644 index 0000000000..48c47a467f --- /dev/null +++ b/research/complex-571-cold14/code/audit_allcold.py @@ -0,0 +1,232 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert all(widths[h]==8 for h in (270,282,294,306));pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=72) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Per-provider substitution controls: every provider is swapped against a partner provider. +for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'])) + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'])) + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=2560,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') + diff --git a/research/complex-571-cold14/code/bind_providers_portable.py b/research/complex-571-cold14/code/bind_providers_portable.py new file mode 100644 index 0000000000..d859aeba0a --- /dev/null +++ b/research/complex-571-cold14/code/bind_providers_portable.py @@ -0,0 +1,66 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={} +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],word['R'],len(word['centers']))==(112,9,504,8) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(224,728)] # HPE: residual width |final|-|start| + assert all(widths[h]==8 for h in (270,282,294,306)) + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/complex-571-cold14/code/build_cold_end.py b/research/complex-571-cold14/code/build_cold_end.py new file mode 100644 index 0000000000..ad0464a954 --- /dev/null +++ b/research/complex-571-cold14/code/build_cold_end.py @@ -0,0 +1,125 @@ +"""Cold low-frame-ended helpers with a refactored exact cleanup: constructor. Apache-2.0. +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. + +usage: build_cold_end.py --input FULL-WORD.json.gz --recipe RECIPE.json.gz --out DIR + +The input is a hyperplane-ended (HPE) provider word. RECIPE (all data, no code): + premix rank-0 gates on helpers at their start frame (frame [] for cold helpers, E for entering ones); they become the + head of section A, i.e. they run after the entry + adapters and paid wrappers, so every gate on a cold-ended helper follows its wrapper R_{0,U}^-1; + cleanup the complete new cleanup gate list (an exact refactorisation of the inverse, not the literal one); + early_cleanup [[cleanup index, frame], ...]: gates run right after B at the given frame (the multi-gate tail); + cold_ends {helper: frame}: cold helpers (no entrance) that end at that frame instead of FULL; + entering_ends optional {helper: frame}: further entering helpers ending below FULL under the same refactored cleanup; + refactored_cleanup descriptive metadata copied into the word (it also switches the transport audit from the literal + cleanup assertion to exact replay of the refactored one); + output_content_sha256. +The constructor only splices. It checks the recipe's shape (premix on cold helpers at frame [], cold ends on cold +helpers, every inherited hyperplane-end gate and terminal frame kept) and recomputes the paid local profile and the +descriptive width inventory from the actual frame chains. Exactness of the scalar program, all frame chains, the cone +pre-check, the wrapper order and the profile are re-checked independently by hpe_audit_and_transport.py; the paired +raw-word mutation audit is cold_end_controls.py.""" +import argparse, gzip, hashlib, json +from collections import Counter +from pathlib import Path + + +def span(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length() - 1 + for j in p: + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return tuple(p[k] for k in sorted(p, reverse=True)) + + +def regs(e): return [e[1]] + ([e[2]] if e[0] == 'add' else []) + + +def chain_profile(w): + """Paid climbs of the A, B, tail and final chains (centre descents are unchanged by this step and not counted).""" + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = [() for _ in range(n)] + for i, p in enumerate(w['ports']): cur[i] = span([p]) + for r, f in w.get('start_extra', {}).items(): cur[int(r)] = span(f) + prof = Counter() + + def climb(r, F): + assert span(list(cur[r]) + list(F)) == F, ('nonmonotone', r) + if len(F) > len(cur[r]): prof[len(F) - len(cur[r])] += 1 + cur[r] = F + for part in ('A', 'B'): + for e in w[part]: + for r in regs(e): climb(r, span(e[-1])) + for i, f in w.get('early_cleanup', []): + for r in regs(w['cleanup'][i]): climb(r, span(f)) + full = span([1 << i for i in range(9)]) + final = {int(r): span(f) for r, f in w.get('helper_final', {}).items()} + for r in range(n): + if v <= r < 2*v: continue # targets end at their port level; unchanged by this step (same A/B chains) + climb(r, final.get(r, full)) + return prof, cur + + +def apply(w, r): + assert 'helper_final' in w and 'early_cleanup' in w and 'refactored_cleanup' not in w, 'input must be an HPE word' + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + entering = set(map(int, w['start_extra'])) + cold = {x for x in range(2*v, n) if x not in entering} + start = lambda x: span(w['start_extra'].get(str(x), [])) + for e in r['premix']: # rank 0: every register is a helper still at its start frame (cold: [], entering: E) = the gate frame + assert e[0] in ('add', 'scale') and all(2*v <= x < n and start(x) == span(e[-1]) for x in regs(e)), ('premix gate not rank-0 on helpers at their start frame', e) + ends = {int(h): f for h, f in r['cold_ends'].items()} + assert ends and all(h in cold and str(h) not in w['helper_final'] for h in ends), 'cold ends must be new cold helpers' + eends = {int(h): f for h, f in r.get('entering_ends', {}).items()} # optional: further ENTERING helpers ending below FULL + assert all(h in entering and str(h) not in w['helper_final'] for h in eends), 'entering ends must be new entering helpers' + assert all(len(span(f)) < 9 for f in list(ends.values()) + list(eends.values())) + new_early = [(i, f) for i, f in r['early_cleanup']] + kept = {(json.dumps(r['cleanup'][i][:-1]), json.dumps(f)) for i, f in new_early} + for i, f in w['early_cleanup']: # every inherited hyperplane-end gate stays in the tail at its frame + assert (json.dumps(w['cleanup'][i][:-1]), json.dumps(f)) in kept, ('inherited HPE gate missing', i) + old_prof, _ = chain_profile(w) + out = dict(w) + out['A'] = [list(e) for e in r['premix']] + w['A'] + out['cleanup'] = r['cleanup'] + out['early_cleanup'] = [[i, f] for i, f in new_early] + out['helper_final'] = dict(w['helper_final'], **{str(h): f for h, f in sorted({**ends, **eends}.items())}) + out['refactored_cleanup'] = r['refactored_cleanup'] + new_prof, cur = chain_profile(out) + assert all(cur[h] == span(f) for h, f in {**ends, **eends}.items()), 'end frame is not the last frame of the helper' + lp = Counter({int(k): c for k, c in w['report']['local_profile'].items()}) + lp.subtract(old_prof); lp.update(new_prof) + assert min(lp.values()) >= 0 + rep = dict(w['report']) + rep['local_profile'] = {str(k): c for k, c in sorted(lp.items()) if c} + rep['local_rank_mass'] = sum(k*c for k, c in lp.items()) + inv = Counter({int(k): c for k, c in w['report']['width_inventory'].items()}) + for h, f in ends.items(): inv[9] -= 1; inv[len(span(f))] += 1 # cold: width = |U| - 0 + for h, f in eends.items(): # entering: width = |U| - |E| + e = len(span(w['start_extra'][str(h)])); inv[9 - e] -= 1; inv[len(span(f)) - e] += 1 + assert min(inv.values()) >= 0 + rep['width_inventory'] = {str(k): c for k, c in sorted(inv.items()) if c} + out['report'] = rep + return out + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--input', type=Path, required=True); ap.add_argument('--recipe', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + rd = lambda p: json.loads(gzip.decompress(p.read_bytes()) if p.suffix == '.gz' else p.read_bytes()) + w, r = rd(a.input), rd(a.recipe) + w = apply(w, r) + raw = json.dumps(w, sort_keys=True, separators=(',', ':')).encode(); h = hashlib.sha256(raw).hexdigest() + assert h == r['output_content_sha256'], h + a.out.mkdir(parents=True, exist_ok=False) + (a.out/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw, mtime=0)) + (a.out/'COLD-END-CONSTRUCTION.json').write_text(json.dumps(dict(status='PASS_COLD_LOW_FRAME_ENDS_SPLICED', + cold_ended_helpers=sorted(int(x) for x in r['cold_ends']), terminal_dims=sorted(Counter(len(span(f)) for f in r['cold_ends'].values()).items()), + premix_gates=len(r['premix']), early_cleanup_gates=len(r['early_cleanup']), cleanup_gates=len(r['cleanup']), + local_profile=w['report']['local_profile'], width_inventory=w['report']['width_inventory']), indent=1) + '\n', newline='\n') + print('PASS', len(r['cold_ends']), 'cold low-frame-ended helpers;', len(r['premix']), 'premix gates;', len(r['cleanup']), 'cleanup gates') diff --git a/research/complex-571-cold14/code/build_gate_moves.py b/research/complex-571-cold14/code/build_gate_moves.py new file mode 100644 index 0000000000..03114099c6 --- /dev/null +++ b/research/complex-571-cold14/code/build_gate_moves.py @@ -0,0 +1,61 @@ +"""Move commuting gates, then apply source-bound frame coalescences; the scalar map stays identical. +Extends PR583's build_frames.py (chafreaky, OpenAI Codex assisted, Apache-2.0) with commuting gate moves found by +Claude Code research agents. Apache-2.0. + +Recipe: input_content_sha256, before/after profiles, moves [{section, from, to}] (applied in order; every gate the +moved gate passes must commute with it), and changes [{section, index, before, after}] (indices after the moves; +each change only raises the gate frame and must save exactly {1:-2, 2:+1}). The cleanup section is rebuilt with the +inherited rule (the input word must already satisfy it), and the helper responses must be unchanged. +""" +from pathlib import Path +import argparse,copy,gzip,hashlib,json,sys +from collections import Counter +assert __debug__,'Assertions required' +ap=argparse.ArgumentParser();ap.add_argument('--input',type=Path,required=True);ap.add_argument('--recipe',type=Path,required=True);ap.add_argument('--gk-dir',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();assert not a.out.exists() +sys.path.insert(0,str(a.gk_dir));import gk_word as G,gk_common as C +G.V=C.V=112;G.DATA=C.DATA=7168 +raw=json.loads(gzip.decompress(a.input.read_bytes()));recipe=json.loads(a.recipe.read_text());enc=lambda x:json.dumps(x,sort_keys=True,separators=(',',':')).encode();sha=lambda x:hashlib.sha256(x).hexdigest() +assert sha(enc(raw))==recipe['input_content_sha256'];before=G.profile(raw);assert dict(before)=={int(r):n for r,n in recipe['before'].items()} +def regs(e):return(e[1],e[2])if e[0]=='add'else(e[1],) +def commute(x,y): + """Two additions commute unless one writes the other's source; any other pair must touch disjoint registers.""" + if x[0]=='add'and y[0]=='add':return x[1]!=y[2]and y[1]!=x[2] + return not set(regs(x))&set(regs(y)) +cleanup=lambda w:[G.inverse(e,G.FULL)for e in reversed(w['A']+w['B'])if not 112<=e[1]<224] +assert raw['cleanup']==cleanup(raw),'input cleanup is not the inherited inverse rule' +w=copy.deepcopy(raw);moved=[] +for m in recipe['moves']: + L=w[m['section']];i,j=m['from'],m['to'];assert i!=j and 0<=ii else range(j,i);assert all(commute(L[i],L[k])for k in passed),'noncommuting move %s'%m + L.insert(j,L.pop(i));moved.append(dict(m,passed=len(passed))) +w['cleanup']=cleanup(w);responses=G.responses(w);assert responses==G.responses(raw),'scalar responses changed by the moves' +assert G.profile(w)==before,'moves alone changed the profile';trace=[] +for change in recipe['changes']: + part,i=change['section'],change['index'];assert w[part][i]==change['before'];assert change['before'][:-1]==change['after'][:-1] + w[part][i]=change['after'];after=G.profile(w);delta={r:after[r]-before[r]for r in set(after)|set(before)if after[r]!=before[r]};assert delta=={1:-2,2:1};trace.append(dict(section=part,index=i,delta=delta));before=after +w['cleanup']=cleanup(w) +assert dict(G.profile(w))=={int(r):n for r,n in recipe['after'].items()} +for key in raw: + if key not in ('A','B','cleanup','report'):assert w[key]==raw[key] +for part in ('A','B'):assert sorted(map(enc,(e[:-1]for e in w[part])))==sorted(map(enc,(e[:-1]for e in raw[part]))) +assert G.widths_of(w)==G.widths_of(raw);responses=G.responses(w);assert responses==G.responses(raw) +assert all(not responses[int(r)-224]for r in w['start_extra']) +# Fresh negative controls: every omitted coalescence loses the new profile, every full-space frame replacement violates +# a chain/cut bound, and every move reverted before its coalescence is rejected. +rejected=[] +for c in recipe['changes']: + z=copy.deepcopy(w);z[c['section']][c['index']]=c['before'];assert G.profile(z)!=G.profile(w);rejected.append('omission-%s-%d'%(c['section'],c['index'])) + z=copy.deepcopy(w);z[c['section']][c['index']][-1]=list(G.FULL) + try:G.profile(z) + except AssertionError:rejected.append('overpromotion-%s-%d'%(c['section'],c['index'])) + else:raise AssertionError('Invalid frame accepted') +for m in reversed(recipe['moves']): + z=copy.deepcopy(w);L=z[m['section']];L.insert(m['from'],L.pop(m['to'])) + try:ok=G.profile(z)==G.profile(w) + except AssertionError:ok=False + assert not ok,'unmoved coalescence accepted';rejected.append('unmoved-%s-%d'%(m['section'],m['from'])) +w['report'].update(local_profile=dict(G.profile(w)),local_rank_mass=sum(r*n for r,n in G.profile(w).items()),status='GATE_MOVE_FRAME_COALESCENCES_PENDING_NATIVE_PHASE_ADMISSION', + # descriptive inventory fields recomputed from the actual widths (as PR586's adapted PR583 constructor does) + width_inventory={str(k):v for k,v in sorted(Counter(G.widths_of(w)).items())},entering_helpers=sum(v<9 for v in G.widths_of(w)),entrance_rank=sum(9-v for v in G.widths_of(w))) +a.out.mkdir(parents=True);(a.out/'FULL-WORD.json.gz').write_bytes(G.dump(w));receipt=dict(status='PASS_EXACT_GATE_MOVE_FRAME_COALESCENCES',input_content_sha256=sha(enc(raw)),output_content_sha256=sha(enc(w)),profile_before=recipe['before'],profile_after=recipe['after'],moves=moved,changes=trace,negative_controls_rejected=rejected,all_scalar_responses_unchanged=True,all_entering_helper_responses_zero=True,helper_widths_unchanged=True,cleanup_rebuilt_by_inherited_rule=True,scope='Construction, commutation, frame/profile and scalar response checks only; native, phase and global admission are separate.') +(a.out/'FRAME-CONSTRUCTION.json').write_text(json.dumps(receipt,indent=2,sort_keys=True)+'\n');print(json.dumps(receipt,indent=2)) diff --git a/research/complex-571-cold14/code/build_hpe.py b/research/complex-571-cold14/code/build_hpe.py new file mode 100644 index 0000000000..830906acf2 --- /dev/null +++ b/research/complex-571-cold14/code/build_hpe.py @@ -0,0 +1,123 @@ +"""Hyperplane-ended helpers (HPE) constructor. Apache-2.0. Prepared with Claude Code assistance. + +usage: build_hpe.py --input FULL-WORD.json.gz --recipe RECIPE.json --out DIR + +RECIPE: {"changes": [{"helper": h, "cleanup_index": i, "frame": [raw vectors]}, ...], "output_content_sha256": hex}. +Each change must be an admissible early-cleanup move: + * h is an entering helper (start_extra) touched by exactly one cleanup gate, cleanup[i]; + * cleanup[i] commutes with every earlier cleanup gate on its registers (commute(): neither writes a register the + other touches, or both add into one target without reading each other's target), so it commutes with the whole + skipped cleanup prefix; in practice the skipped gates only read the partner (x -= p); + * frame == join of the registers' last A/B frames and has dimension < 9. +The output word gets early_cleanup [[i, U]], helper_final {h: U} and the exact paid profile (only the two registers' +final chains change: h ends at U instead of FULL; the partner climbs through U). Exactness of the reordered program, +the frame chains and the profile are re-checked independently by hpe_audit_and_transport.py; the paired control audit +is controls_hpe_atc.py.""" +import argparse, gzip, hashlib, json +from collections import Counter +from pathlib import Path + + +def span(vs): + p = {} + for x in vs: + for k in sorted(p, reverse=True): + if x >> k & 1: x ^= p[k] + if x: + k = x.bit_length() - 1 + for j in p: + if p[j] >> k & 1: p[j] ^= x + p[k] = x + return [p[k] for k in sorted(p, reverse=True)] + + +def regs(e): return [e[1]] + ([e[2]] if e[0] == 'add' else []) + + +def commute(a, b): + """Sufficient syntactic commutation of two scalar gates (t += q*s, t *= q): neither writes a register the other + touches, or both are additions into the same target with neither reading the other's target.""" + ra, rb = set(regs(a)), set(regs(b)) + if a[1] not in rb and b[1] not in ra: return True + return a[0] == 'add' and b[0] == 'add' and a[1] == b[1] and a[2] != b[1] and b[2] != a[1] + + +def last_frames(w): + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = [[] for _ in range(n)] + for i, p in enumerate(w['ports']): cur[i] = [p] + for r, f in w.get('start_extra', {}).items(): cur[int(r)] = list(f) + for part in ('A', 'B'): + for e in w[part]: + for r in regs(e): cur[r] = list(e[-1]) + return cur + + +def apply(w, changes): + assert 'early_cleanup' not in w and 'helper_final' not in w, 'input already has hyperplane-ended helpers' + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = last_frames(w); count = Counter(); first = {}; on = {} + for i, e in enumerate(w['cleanup']): + for r in regs(e): count[r] += 1; first.setdefault(r, i); on.setdefault(r, []).append(i) + lp = Counter({int(r): c for r, c in w['report']['local_profile'].items()}) + seen = set() + for z in changes: + h, i, U = z['helper'], z['cleanup_index'], z['frame'] + assert 2*v <= h < n and str(h) in w['start_extra'], ('not an entering helper', h) + assert count[h] == 1 and first[h] == i, ('helper must have exactly this one cleanup gate', h) + e = w['cleanup'][i]; rs = regs(e) + assert all(commute(w['cleanup'][j], e) for r in rs for j in on[r] if j < i), ('cleanup gate does not commute with the skipped cleanup gates on its registers', i) + assert not seen & set(rs), 'registers shared between changes'; seen |= set(rs) + assert span([x for r in rs for x in cur[r]]) == U and len(U) < 9, ('frame is not the join of the last frames', h) + for r in rs: # old: last -> FULL; new: last -> U (-> FULL for the partner) + d0 = 9 - len(span(cur[r])) + if d0: lp[d0] -= 1 + d1 = len(U) - len(span(cur[r])) + if d1: lp[d1] += 1 + if r != h and len(U) < 9: lp[9 - len(U)] += 1 + w['early_cleanup'] = [[z['cleanup_index'], z['frame']] for z in changes] + w['helper_final'] = {str(z['helper']): z['frame'] for z in changes} + w['report']['local_profile'] = {str(r): c for r, c in sorted(lp.items()) if c} + w['report']['local_rank_mass'] = sum(r*c for r, c in lp.items()) + if 'width_inventory' in w['report']: # descriptive metadata: one width-w helper becomes width w-(9-dim U) + inv = Counter({int(k): c for k, c in w['report']['width_inventory'].items()}) + for z in changes: + e = len(w['start_extra'][str(z['helper'])]); inv[9 - e] -= 1; inv[len(z['frame']) - e] += 1 + assert min(inv.values()) >= 0 + w['report']['width_inventory'] = {str(k): c for k, c in sorted(inv.items()) if c} + assert min(lp.values()) >= 0 + return w + + +def candidates(w): + v, R = w['report']['v'], w['report']['R']; n = 2*v + R + cur = last_frames(w); count = Counter(); first = {}; on = {} + for i, e in enumerate(w['cleanup']): + for r in regs(e): count[r] += 1; first.setdefault(r, i); on.setdefault(r, []).append(i) + out = [] + for h in range(2*v, n): + if count[h] != 1 or str(h) not in w.get('start_extra', {}): continue + i = first[h]; rs = regs(w['cleanup'][i]) + if not all(commute(w['cleanup'][j], w['cleanup'][i]) for r in rs for j in on[r] if j < i): continue + U = span([x for r in rs for x in cur[r]]) + if len(U) < 9: out.append(dict(helper=h, cleanup_index=i, frame=U)) + return out + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--input', type=Path, required=True); ap.add_argument('--recipe', type=Path) + ap.add_argument('--out', type=Path); ap.add_argument('--nominate', type=Path, help='write a recipe with every candidate') + a = ap.parse_args() + w = json.loads(gzip.decompress(a.input.read_bytes())) + if a.nominate: + a.nominate.write_text(json.dumps(dict(changes=candidates(w), output_content_sha256=''), indent=1) + '\n', newline='\n') + raise SystemExit(0) + r = json.loads(a.recipe.read_bytes()) + w = apply(w, r['changes']) + raw = json.dumps(w, sort_keys=True, separators=(',', ':')).encode(); h = hashlib.sha256(raw).hexdigest() + assert h == r['output_content_sha256'], h + a.out.mkdir(parents=True, exist_ok=False) + (a.out/'FULL-WORD.json.gz').write_bytes(gzip.compress(raw, mtime=0)) + (a.out/'HPE-CONSTRUCTION.json').write_text(json.dumps(dict(status='PASS_HYPERPLANE_ENDED_HELPERS', helpers=[z['helper'] for z in r['changes']], + local_profile=w['report']['local_profile']), indent=1) + '\n', newline='\n') + print('PASS', len(r['changes']), 'hyperplane-ended helpers') diff --git a/research/complex-571-cold14/code/cold_end_controls.py b/research/complex-571-cold14/code/cold_end_controls.py new file mode 100644 index 0000000000..07d023938c --- /dev/null +++ b/research/complex-571-cold14/code/cold_end_controls.py @@ -0,0 +1,86 @@ +"""cold_end_controls.py COLD-END-WORD.json.gz ROUTING OUTDIR : raw-word negative controls for the cold low-frame ends and the +refactored cleanup accepted by hpe_audit_and_transport.py. Every mutation MUST be rejected (AssertionError); the +unmutated word MUST pass. Apache-2.0. DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code.""" +import copy, gzip, json, shutil, sys, tempfile +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import hpe_audit_and_transport as atc + +src, routing, outdir = Path(sys.argv[1]), Path(sys.argv[2]), Path(sys.argv[3]) +word = json.load(gzip.open(src)) +v, R = word['report']['v'], word['report']['R']; n = 2*v + R +regs = lambda e: [e[1]] + ([e[2]] if e[0] == 'add' else []) +meta = word['refactored_cleanup'] +cold = [int(h) for h in meta['cold_low_frame_ended_helpers']] +npre = meta['premix_gates']; nlow = meta['lower_frame_gates'] +early = word['early_cleanup']; eidx = {i for i, _ in early} +rest = [i for i in range(len(word['cleanup'])) if i not in eidx] + + +def trial(w): + tmp = Path(tempfile.mkdtemp()) + p = tmp/'w.json.gz'; p.write_bytes(gzip.compress(json.dumps(w).encode(), mtime=0)) + try: + atc.run(p, routing, tmp/'out') + return True + except AssertionError: + return False + finally: + shutil.rmtree(tmp, ignore_errors=True) + + +assert trial(word), 'unmutated cold-end word must pass' +results = [] + + +def reject(name, mut): + w = copy.deepcopy(word); mut(w) + assert not trial(w), 'cold-end mutation accepted: ' + name + results.append(name); print('rejected', name, flush=True) + + +h0 = cold[0] +i0, U0 = next((i, f) for i, f in early if h0 in regs(word['cleanup'][i])) +r0 = rest[len(rest)//2] + + +def premix_to_precondition(w): # premix before the wrappers; compensation then reads the cold ends + w['precondition'] = w['precondition'] + w['A'][:npre]; w['A'] = w['A'][npre:] + + +def lower_gate_into_full(w): # a lower-frame gate on a cold-ended helper executed in the FULL remainder instead + w['early_cleanup'] = [x for x in w['early_cleanup'] if x[0] != i0] + + +def drop_cleanup_gate(w, i): + w['cleanup'].pop(i) + w['early_cleanup'] = [[j - (j > i), f] for j, f in w['early_cleanup']] + + +def other_frame(w): # a different frame of the same dimension as the cold end (another cold helper's) + f = next(w['helper_final'][str(h)] for h in cold if w['helper_final'][str(h)] != w['helper_final'][str(h0)]) + w['helper_final'][str(h0)] = f + + +def extra_cold_end(w): # declare a premixed partner of h0 cold-ended at h0's frame: fails the row/column cone + p = next(r for e in w['A'][:npre] for r in regs(e) if r != h0 and h0 in regs(e)) + w['helper_final'][str(p)] = w['helper_final'][str(h0)] + + +reject('premix placed in the zero-frame precondition (before the cold wrappers)', premix_to_precondition) +reject('one premix gate dropped', lambda w: w['A'].pop(npre - 1)) +reject('one lower-frame cleanup gate dropped', lambda w: drop_cleanup_gate(w, i0)) +reject('one FULL-remainder gate dropped', lambda w: drop_cleanup_gate(w, r0)) +reject('lower-frame gate coefficient changed', lambda w: w['cleanup'][i0].__setitem__(3, w['cleanup'][i0][3] * 2)) +reject('lower-frame gate moved into the FULL remainder (touches a cold-ended helper at FULL)', lower_gate_into_full) +reject('lower-frame gate frame below its registers\' frames', lambda w: next(x for x in w['early_cleanup'] if x[0] == i0).__setitem__(1, U0[:-1])) +reject('cold end at another dim-4 frame', other_frame) +reject('cold end dropped (helper climbs to FULL but nothing cleans it there)', lambda w: w['helper_final'].pop(str(h0))) +reject('extra cold end on a premixed partner (row/column cone)', extra_cold_end) +reject('refactored-cleanup marker removed (literal-inverse rule applies)', lambda w: w.pop('refactored_cleanup')) +reject('remainder gate retargeted to a target register', lambda w: w['cleanup'][r0].__setitem__(1, v + 3)) +reject('non-dyadic remainder coefficient', lambda w: w['cleanup'][r0].__setitem__(4 if w['cleanup'][r0][0] == 'add' else 3, 3 * w['cleanup'][r0][4 if w['cleanup'][r0][0] == 'add' else 3])) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('5', w['report']['local_profile']['5'] - 1)) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'COLD-END-CONTROLS.json').write_text(json.dumps(dict(status='PASS_COLD_END_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'cold-end raw-word mutations rejected') diff --git a/research/complex-571-cold14/code/emit_allcold.py b/research/complex-571-cold14/code/emit_allcold.py new file mode 100644 index 0000000000..574de85b52 --- /dev/null +++ b/research/complex-571-cold14/code/emit_allcold.py @@ -0,0 +1,144 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=2560,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/complex-571-cold14/code/generated_identity.py b/research/complex-571-cold14/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/complex-571-cold14/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/complex-571-cold14/code/generated_identity_controls.py b/research/complex-571-cold14/code/generated_identity_controls.py new file mode 100644 index 0000000000..def4135cb3 --- /dev/null +++ b/research/complex-571-cold14/code/generated_identity_controls.py @@ -0,0 +1,227 @@ +"""Actual gzip/receipt portability and consistently rebound semantic controls. + +Only scratch copies of generated provider files are changed. Each assembly +control recomputes raw artifact links, all seven portable identities and the +owner/invoice digests. This tests identity admission, not a replacement for the +full physical replay. Prepared with OpenAI Codex assistance; Apache-2.0. +""" +import argparse +import copy +import gzip +import hashlib +import json +import math +import shutil +import tempfile +from pathlib import Path + +import os +assert os.environ.get('GAIN_PR564_SOURCE'), 'Explicit engine source required' +from assemble import assemble +from witness import PROVIDERS +from generated_identity import FILES, artifact_identities, json_identity, sha + +if not __debug__: + raise RuntimeError('Assertions required; refusing optimized verification') + + +def read(path): + raw = path.read_bytes() + return json.loads(gzip.decompress(raw) if path.suffix == '.gz' else raw) + + +def write_json(path, value): + # Nonfinite numbers are emitted only by deliberate invalid-timing controls. + path.write_text(json.dumps(value, indent=2)+'\n', encoding='utf-8', newline='\n') + + +def write_gzip(path, value): + payload = json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + path.write_bytes(gzip.compress(payload, compresslevel=1, mtime=123456789)) + + +def refresh_links(directory): + """Rebind only the three actual gzip references and the phase recipe link.""" + native = read(directory/'INDEPENDENT-LOCAL-REPLAY.json') + native['canonical_word_sha256'] = sha(directory/'CANONICAL-WORD.json.gz') + native['local_programs_sha256'] = sha(directory/'LOCAL-PROGRAMS.json.gz') + write_json(directory/'INDEPENDENT-LOCAL-REPLAY.json', native) + phase = read(directory/'CLIFFORD-REVIEW.json') + phase['canonical_word_sha256'] = sha(directory/'CANONICAL-WORD.json.gz') + phase['recipe_sha256'] = sha(directory/'CLIFFORD-RECIPES.json') + write_json(directory/'CLIFFORD-REVIEW.json', phase) + + +def rebound(owner, invoice, pid, directory): + """Return complete consistent receipt links to the changed actual files.""" + identities = artifact_identities(directory) + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + p = i['providers'][pid] + for name in FILES: + raw = sha(directory/name) + p['artifacts'][name] = raw + o['source_artifacts']['providers/'+pid+'/'+name] = raw + p['semantic_artifact_sha256'] = identities + o['provider_artifact_semantic_sha256'][pid] = identities + phase = identities['CLIFFORD-REVIEW.json'] + o['provider_phase_semantic_sha256'][pid] = phase + i['provider_phase_semantic_sha256'][pid] = phase + owner_hash = json_identity(o) + i['owner_audit_sha256'] = owner_hash + return o, i, owner_hash, json_identity(i), identities + + +def run(base, audit, out, provider_root=None): + assert not out.exists() + out.parent.mkdir(parents=True, exist_ok=True) + source = provider_root or base/'providers' + owner_path, invoice_path = audit/'OWNERS-AND-PROFILE.json', audit/'PREFIX-AND-INVOICE.json' + owner, invoice = read(owner_path), read(invoice_path) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + accepted, rejected, references, source_identities = [], [], [], {} + raw_changed = {} + with tempfile.TemporaryDirectory(prefix='generated-identity-controls-', dir=out.parent) as td: + scratch = Path(td) + for pid in sorted(PROVIDERS): + original = source/pid + ids = artifact_identities(original) + assert ids == PROVIDERS[pid]['artifact_semantic_sha256'] + source_identities[pid] = dict(raw={name:sha(original/name) for name in FILES}, semantic=ids) + # The optional provider-root can use another Python/zlib environment. + o, i, oh, ih, _ = rebound(owner, invoice, pid, original) + assert assemble(o, i, oh, ih)['kappa'] == baseline['kappa'] + + def fresh(tag): + directory = scratch/(pid+'-'+tag) + directory.mkdir() + for name in FILES: + shutil.copyfile(original/name, directory/name) + return directory + + def reject_semantics(tag, mutate, changed_file): + directory = fresh(tag) + mutate(directory) + refresh_links(directory) + o, i, oh, ih, new_ids = rebound(owner, invoice, pid, directory) + assert new_ids[changed_file] != ids[changed_file], (tag, 'mutation disappeared from identity') + try: + assemble(o, i, oh, ih) + except AssertionError: + rejected.append(dict(provider=pid, case=tag, changed_identity=changed_file, + all_raw_and_semantic_links_rebound=True)) + else: + raise AssertionError('semantic mutation accepted: '+tag) + + def json_mutation(name, change): + def mutate(directory): + value = read(directory/name) + change(value) + write_json(directory/name, value) + return mutate + + directory = fresh('recompression') + changed = [] + for name in ('CANONICAL-WORD.json.gz', 'LOCAL-PROGRAMS.json.gz'): + before = (directory/name).read_bytes() + payload = gzip.decompress(before) + after = gzip.compress(payload, compresslevel=1, mtime=123456789) + assert after != before and gzip.decompress(after) == payload + (directory/name).write_bytes(after) + changed.append(name) + refresh_links(directory) + o, i, oh, ih, new_ids = rebound(owner, invoice, pid, directory) + assert new_ids == ids + assert assemble(o, i, oh, ih)['kappa'] == baseline['kappa'] + accepted.append(dict(provider=pid, case='recompressed_same_payloads', changed_raw_artifacts=changed, + all_seven_identities_unchanged=True, all_raw_links_rebound=True)) + raw_changed[pid] = {name:[sha(original/name),sha(directory/name)] for name in changed} + + # A stale literal link must fail before any normalization can hide it. + for tag, name, receipt, field in ( + ('stale_native_word_link','CANONICAL-WORD.json.gz','INDEPENDENT-LOCAL-REPLAY.json','canonical_word_sha256'), + ('stale_native_program_link','LOCAL-PROGRAMS.json.gz','INDEPENDENT-LOCAL-REPLAY.json','local_programs_sha256'), + ('stale_phase_word_link','CANONICAL-WORD.json.gz','CLIFFORD-REVIEW.json','canonical_word_sha256'), + ('stale_phase_recipe_link','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json','recipe_sha256')): + directory = fresh(tag) + value = read(directory/receipt) + value[field] = '0'*64 + write_json(directory/receipt, value) + try: + artifact_identities(directory) + except AssertionError: + references.append(dict(provider=pid, case=tag, rejected_before_projection=True)) + else: + raise AssertionError('stale literal reference normalized away: '+tag) + + def change_scalar(directory): + programs = read(directory/'LOCAL-PROGRAMS.json.gz') + event = next(e for e in programs['forward'] if e[0]=='scalar' and e[1][0]=='add') + event[1][3] = -event[1][3] + write_gzip(directory/'LOCAL-PROGRAMS.json.gz', programs) + reject_semantics('changed_actual_scalar', change_scalar, 'LOCAL-PROGRAMS.json.gz') + + def change_frame(directory): + word = read(directory/'CANONICAL-WORD.json.gz') + old = word['start'][518] + replacement = next(j for j,f in enumerate(word['frames']) + if j != old and len(f) == len(word['frames'][old])) + word['start'][518] = replacement + write_gzip(directory/'CANONICAL-WORD.json.gz', word) + reject_semantics('changed_actual_start_frame_same_rank', change_frame, 'CANONICAL-WORD.json.gz') + reject_semantics('native_false_restoration', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x['local']['forward'].__setitem__('private_work_erased',False)), + 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('native_wrong_column_count', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x['local']['backward'].__setitem__('all_exact_columns',727)), + 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('native_changed_profile', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x['paid_profiles']['forward'].__setitem__('1',x['paid_profiles']['forward']['1']+1)), + 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('phase_false_global_equality', json_mutation('CLIFFORD-REVIEW.json', + lambda x:x.__setitem__('all_child_equalities_include_global_phase',False)), + 'CLIFFORD-REVIEW.json') + + # This event hash is proof data, even when its value equals a gzip hash. + def change_event_hash(directory): + value = read(directory/'LOCAL-CHECKS.json') + value['forward']['sha256'] = sha(directory/'CANONICAL-WORD.json.gz') + write_json(directory/'LOCAL-CHECKS.json', value) + assert artifact_identities(directory)['LOCAL-CHECKS.json'] == json_identity(value) + reject_semantics('local_event_hash_is_not_a_container_reference', change_event_hash, 'LOCAL-CHECKS.json') + reject_semantics('unrelated_native_root_seconds_retained', json_mutation('INDEPENDENT-LOCAL-REPLAY.json', + lambda x:x.__setitem__('seconds',7)), 'INDEPENDENT-LOCAL-REPLAY.json') + reject_semantics('nested_phase_seconds_retained', json_mutation('CLIFFORD-REVIEW.json', + lambda x:x.__setitem__('additional_evidence',{'seconds':7})), 'CLIFFORD-REVIEW.json') + + for tag,value in [('negative',-1),('boolean',True),('string','1'),('nan',float('nan')), + ('infinity',float('inf'))]: + directory = fresh('invalid-timing-'+tag) + phase = read(directory/'CLIFFORD-REVIEW.json');phase['seconds'] = value + write_json(directory/'CLIFFORD-REVIEW.json', phase) + try: + artifact_identities(directory) + except AssertionError: + references.append(dict(provider=pid,case='invalid_phase_seconds_'+tag, + rejected_before_projection=True)) + else: + raise AssertionError('invalid timing silently erased: '+tag) + n=len(PROVIDERS) + assert len(accepted)==n and len(rejected)==9*n and len(references)==9*n + assert {x['provider']for x in accepted}=={x['provider']for x in rejected}=={x['provider']for x in references}==set(PROVIDERS) + report=dict(status='PASS_GENERATED_ARTIFACT_RECOMPRESSION_AND_REBOUND_MUTATIONS', + kappa=baseline['kappa'], source_owner_sha256=sha(owner_path),source_invoice_sha256=sha(invoice_path), + source_providers=source_identities,recompression_changed_raw_hashes=raw_changed, + accepted=accepted,semantic_mutations_rejected=rejected,invalid_references_or_metadata_rejected=references, + counts=dict(recompression_accepted=n,semantic_rejected=9*n,reference_or_metadata_rejected=9*n), + scope='Actual copied gzip streams and receipt JSON are changed. All seven content identities, raw source links and owner/invoice digests are recomputed consistently before assembly. Only identical decompressed payloads are accepted; scalar, same-rank frame, native proof fields, global phase, event hashes and unrelated seconds remain pinned. Literal references and invalid phase timing are rejected before normalization. Full physical replay remains a separate prerequisite.') + write_json(out,report) + print(report['status'],report['counts']) + + +if __name__=='__main__': + parser=argparse.ArgumentParser(description=__doc__) + for name in ('base','audit','out'): + parser.add_argument('--'+name,type=Path,required=True) + parser.add_argument('--provider-root',type=Path) + args=parser.parse_args() + run(args.base,args.audit,args.out,args.provider_root) diff --git a/research/complex-571-cold14/code/hpe_adapters_local.py b/research/complex-571-cold14/code/hpe_adapters_local.py new file mode 100644 index 0000000000..8f77ccf02d --- /dev/null +++ b/research/complex-571-cold14/code/hpe_adapters_local.py @@ -0,0 +1,116 @@ +"""Paid residual wrappers for entering helpers (Lemma A): generation and independent decoding. Apache-2.0. +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. The wrapper construction follows PR #458 +(chafreaky): a helper that starts at frame E and ends at FULL has the physical residual S_E = T_FULL T_E^-1 (apply T_E^-1 first); +S_E = L_E (C_[w] x I) R_E with R_E applied first; the wrappers R_E^-1 before the whole local invocation and L_E^-1 after its +full-frame cleanup turn the residual into the coordinate factor C_[w] x I and restore the other 9 - w coordinates identically. +usage: adapters_gk.py CANONICAL-WORD.json.gz RESIDUAL-ADAPTERS.json OUT-LEMMA-A.json +Writes the recipes (generation uses clifford_exact.lower_child) and then DECODES the serialized monomials with the primitive +constructors of clifford_exact (not lower_child) and checks, for every entrance frame, that L_E^-1 S_E R_E^-1 has exactly the +tableau and zero-state vector (global phase included) of fourier(9, range(w)); mutated recipes (wrong phase, swapped sides, wrong +translation, wrong width) must be rejected.""" +import copy, gzip, json, sys +from pathlib import Path +# Package-path adaptation only; the exact wrapper mathematics is unchanged. +import os +R = Path(os.environ['MULTICOLD_SOURCE']) / 'vendor/pr558/vendor/pr552/complex-global/vendor531' # HPE: the pinned vendor531 clifford_exact +sys.path.insert(0, str(R / 'vendor/clifford')) +from clifford_exact import canonical_frame, lower_child, fourier, diag, perm, xgate, Op, identity +n = 9; FULL = tuple(1 << i for i in range(n)) +def monomial_op(rec): + """decode a serialized monomial (matrix rows, quadratic rows, Z4 linear part, translation, phase)""" + out = diag(n, tuple(rec['quadratic_rows']), tuple(rec['linear_Z4'])).then(perm(n, tuple(rec['matrix_rows']))).then(xgate(n, rec['offset'])) + return out.then(Op(n, identity(n), [('phase', rec['phase'])])) +def S_of(U, END=FULL): + # HPE: a helper that starts at E=U and ends at END has residual T_END T_E^-1 (END = FULL is the inherited case) + return canonical_frame(n, tuple(U)).adjoint().then(canonical_frame(n, tuple(END))) +def wrapped_ok(U, rec, END=FULL): + """exactly: L^-1 S R^-1 = C_[w] x I (apply order: R^-1, S, L^-1), w = dim END - dim E""" + w = len(END) - len(U); S = S_of(U, END); Rm = monomial_op(rec['right']); Lm = monomial_op(rec['left']) + net = Rm.adjoint().then(S).then(Lm.adjoint()); target = fourier(n, range(w)) + return rec['rank'] == w and net.tab == target.tab and net.zero_state() == target.zero_state() +def _contains(a, b): + a = list(a) + for x in b: + for y in sorted(a, reverse=True): + if x >> (y.bit_length() - 1) & 1: x ^= y + if x: return False + return True +def main(): + c = json.load(gzip.open(sys.argv[1])); frames = c['frames']; v = c['v'] + starts = sorted({c['start'][r] for r in range(2 * v, len(c['start'])) if c['start'][r] != 0 and c['final'][r] == 1}) + # HPE: (entrance, terminal) pairs of helpers ending at a proper subspace; key 'E:U'. Inherited words have none. + ends = sorted({(c['start'][r], c['final'][r]) for r in range(2 * v, len(c['start'])) if c['final'][r] != 1}) + # COLD-HPE: e == 0 (a cold helper, entrance = bottom, T_0 = I) is allowed: the (0, U) recipe is keyed '0:U' + assert all(len(frames[u]) < n and _contains(frames[u], frames[e]) for e, u in ends) + cold_ends = [(e, u) for e, u in ends if e == 0] + recipes = {} + for f in starts: + U = frames[f]; rec, compiled = lower_child(S_of(U)) + recipes[str(f)] = dict(frame=f, vectors=list(U), entrance_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + for e, u in ends: + E, U = frames[e], frames[u]; rec, compiled = lower_child(S_of(E, U)) + recipes['%d:%d' % (e, u)] = dict(frame=e, terminal=u, vectors=list(E), terminal_vectors=list(U), entrance_rank=len(E), + terminal_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + Path(sys.argv[2]).write_text(json.dumps(dict(status='RESIDUAL_ADAPTER_RECIPES', recipes=recipes), sort_keys=True, separators=(',', ':')) + '\n') + # ---- independent decode of the serialized file + data = json.loads(Path(sys.argv[2]).read_text())['recipes'] + dot = lambda a, b: bin(a & b).count('1') & 1 + detail = [] + for f in starts: + rec = data[str(f)]; U = frames[f] + assert wrapped_ok(U, rec), ('wrapper product is not C_[w] x I', f) + detail.append(dict(frame=f, entrance_rank=len(U), residual_width=n - len(U), vectors=list(U), all_even_weight=all(bin(x).count('1') % 2 == 0 for x in U), + totally_isotropic=all(dot(a, b) == 0 for a in U for b in U))) + hdetail = [] + for e, u in ends: # HPE: independent decode, residual width = dim U - dim E + rec = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + assert wrapped_ok(E, rec, U), ('HPE wrapper product is not C_[w] x I', e, u) + hdetail.append(dict(frame=e, terminal=u, entrance_rank=len(E), terminal_rank=len(U), residual_width=len(U) - len(E))) + controls = [] + def reject(name, fn): + f = starts[0]; rec = copy.deepcopy(data[str(f)]); fn(rec) + if wrapped_ok(frames[f], rec): raise AssertionError('mutated wrapper accepted: ' + name) + controls.append(name) + reject('wrong global phase', lambda r: r['right'].__setitem__('phase', (r['right']['phase'] + 1) % 4)) + reject('wrong translation', lambda r: r['left'].__setitem__('offset', r['left']['offset'] ^ 1)) + reject('wrong quadratic form', lambda r: r['right'].__setitem__('quadratic_rows', [x ^ 2 if i == 0 else x for i, x in enumerate(r['right']['quadratic_rows'])]) if False else r['right']['linear_Z4'].__setitem__(0, (r['right']['linear_Z4'][0] + 2) % 4)) + reject('sides swapped', lambda r: (r.__setitem__('left', r['right']), r.__setitem__('right', r['left']))) + reject('wrong width', lambda r: r.__setitem__('rank', r['rank'] + 1)) + if ends: # HPE controls on the first (E, U) pair + e, u = next((p for p in ends if p[0] != 0), ends[0]); rec0 = data['%d:%d' % (e, u)] # COLD-HPE: an entering pair if any (= ends[0] without cold ends) + def hreject(name, ok): + if ok: raise AssertionError('HPE mutation accepted: ' + name) + controls.append(name) + hreject('hpe: U-wrapper decoded against a FULL ending', wrapped_ok(frames[e], rec0)) + hreject('hpe: width misreported as 9 - dim E', wrapped_ok(frames[e], dict(rec0, rank=n - len(frames[e])), frames[u])) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u]) and _contains(frames[f], frames[e])) + hreject('hpe: wrong terminal hyperplane', wrapped_ok(frames[e], rec0, frames[other])) + fe = next(((e2, u2) for e2, u2 in ends if str(e2) in data), None) + if fe: # an entrance shared with FULL-ended helpers: R_{E,FULL} must not serve as R_{E,U} + r2 = data['%d:%d' % fe] + hreject('hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}', wrapped_ok(frames[fe[0]], dict(r2, right=data[str(fe[0])]['right']), frames[fe[1]])) + hreject('hpe: wrong global phase', wrapped_ok(frames[e], dict(rec0, left=dict(rec0['left'], phase=(rec0['left']['phase'] + 1) % 4)), frames[u])) + if cold_ends: # COLD-HPE controls on the first cold pair (0, U): factor_iff_pre says only R_{0,U} itself may precede + e, u = cold_ends[0]; recc = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + ID = dict(matrix_rows=[1 << i for i in range(n)], offset=0, quadratic_rows=[0] * n, linear_Z4=[0] * n, phase=0) + assert monomial_op(ID).tab == identity(n) # the control's wrapper really is the identity + def creject(name, ok): + if ok: raise AssertionError('cold HPE mutation accepted: ' + name) + controls.append(name) + creject('cold hpe: identity pre wrapper instead of R_{0,U}', wrapped_ok(E, dict(recc, right=ID), U)) + creject('cold hpe: identity post wrapper instead of L_{0,U}', wrapped_ok(E, dict(recc, left=ID), U)) + creject('cold hpe: no wrappers (cold FULL convention L = R = I)', wrapped_ok(E, dict(recc, left=ID, right=ID), U)) + creject('cold hpe: U-wrapper decoded against a FULL ending', wrapped_ok(E, recc)) + creject('cold hpe: width misreported as 9', wrapped_ok(E, dict(recc, rank=n), U)) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u])) + creject('cold hpe: wrong terminal hyperplane', wrapped_ok(E, recc, frames[other])) + creject('cold hpe: wrong global phase', wrapped_ok(E, dict(recc, right=dict(recc['right'], phase=(recc['right']['phase'] + 1) % 4)), U)) + ent = next((p for p in ends if p[0] != 0 and p[1] == u), None) + same = lambda x, y: monomial_op(x).tab == monomial_op(y).tab and monomial_op(x).zero_state() == monomial_op(y).zero_state() + if ent and not same(data['%d:%d' % ent]['right'], recc['right']): # an entering helper ending at the same U: its R_{E,U} must not serve as R_{0,U} + creject('cold hpe: pre wrapper resolved to an entering recipe R_{E,U}', wrapped_ok(E, dict(recc, right=data['%d:%d' % ent]['right']), U)) + res = dict(status='PASS_RESIDUAL_WRAPPERS_ARE_EXACT', frames=len(detail), **({'hyperplane_end_pairs': hdetail} if ends else {}), **({'cold_hyperplane_end_pairs': len(cold_ends)} if cold_ends else {}), wrappers_reject=controls, all_even_weight=all(d['all_even_weight'] for d in detail), + all_totally_isotropic=all(d['totally_isotropic'] for d in detail), detail=detail) + Path(sys.argv[3]).write_text(json.dumps(res, indent=1) + '\n') + print('Lemma A (exact): L^-1 S_E R^-1 = C_[w] x I for', len(detail), 'entrance frames, global phase included;', len(controls), 'wrapper mutations rejected; all-even-weight:', res['all_even_weight']) +if __name__ == '__main__': main() diff --git a/research/complex-571-cold14/code/hpe_audit_and_transport.py b/research/complex-571-cold14/code/hpe_audit_and_transport.py new file mode 100644 index 0000000000..c566f54b57 --- /dev/null +++ b/research/complex-571-cold14/code/hpe_audit_and_transport.py @@ -0,0 +1,301 @@ +"""Rebuild arbitrary-dirt compensation and transport a changed local word. + +Prepared for icekylinx with GPT-6 Astra assistance. Apache-2.0. +Adapted from PR425/433 (icekylinx), PR484's audit_gk.py +(DreamingOfClouds), and Round19's 112-port transport. This auditor does not +import a constructor, a nominated compensation table, or a global price. +Only the changed scalar word and its actual frame chains are checked here. +""" +import argparse +import copy +import gzip +import hashlib +import json +import time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def content_hash(path): + data = path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix == '.gz' else data).hexdigest() + + +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)) + + +def apply(e, rows): + if e[0] == 'scale': + _, target, a, b, *_ = e + q = Q(a, b) + assert q + rows[target] = {j: q*x for j, x in rows[target].items()} + else: + _, target, source, a, b, *_ = e + assert target != source + q = Q(a, b) + for j, x in list(rows[source].items()): + value = rows[target].get(j, Q(0)) + q*x + if value: + rows[target][j] = value + else: + rows[target].pop(j, None) + + +def inverse(e): + e = copy.deepcopy(e) + if e[0] == 'add': + e[3] *= -1 + else: + e[2], e[3] = e[3], e[2] + return e + + +def dual(e): + e = inverse(e) + if e[0] == 'add': + e[1], e[2] = e[2], e[1] + return e + + +def state_maps(prefix, n): + """P = exact state map of the prefix (precondition + compensation + A + cut + B), and P^-1 (rows as sparse dicts).""" + P = [{r: Q(1)} for r in range(n)] + for e in prefix: + apply(e, P) + Pinv = [{r: Q(1)} for r in range(n)] + for e in reversed(prefix): + apply(inverse(e), Pinv) + return P, Pinv + + +def cone_violations(P, Pinv, hpe, mapping, endB, final, frames): + """COLD-HPE / CONE PRE-CHECK. Necessary conditions for helper h (raw index) to end at U = final[h] under ANY + monotone common-frame cleanup of the end-of-B state P (frames only climb, every gate at a common frame): + row (J26-H dependency bound): every g in supp(row h of P^-1) has end-of-B frame <= U -- h is rebuilt from them; + column (dirt-column lemma): every g != h with P[g][h] != 0 has end-of-B frame <= U -- the column of P at h, + restricted to rows whose frame is not <= U, changes only by invertible row operations unless h is read at a + frame not <= U, so it can reach e_h only if it is already zero there. + Both are implied by the exact endpoint replay plus the frame checks below; here they fail FAST, with the reason.""" + inside = lambda a, b: basis(frames[a] + frames[b]) == frames[b] + viol = [] + for h in hpe: + U = final[mapping[h]] + viol += [('row', h, g) for g, x in sorted(Pinv[h].items()) if x and not inside(endB[mapping[g]], U)] + viol += [('column', h, g) for g in range(len(P)) if g != h and P[g].get(h) and not inside(endB[mapping[g]], U)] + return viol + + +def run(raw_path, routing_path, out): + start_time = time.monotonic() + word, routing = read(raw_path), read(routing_path) + v, h, helpers = word['report']['v'], word['report']['h'], word['report']['R'] + assert h == 9 and v == 112 and routing['v'] == v + n = 2*v + helpers + ident = lambda: [{r: Q(1)} for r in range(n)] + main = word['A'] + word['cut'] + word['B'] + assert all(not v <= e[2] < 2*v for e in word['A'] + word['B'] + if e[0] == 'add' and not v <= e[1] < 2*v) + matrix = ident() + for e in main: + apply(e, matrix) + dirty = [{} for _ in range(n)] + for r in range(v, 2*v): + dirty[r] = {j: x for j, x in matrix[r].items() if j >= 2*v} + for e in word['precondition']: + apply(e, dirty) + compensation = [['add', r, j, -q.numerator, q.denominator, []] + for r in range(v, 2*v) for j, q in sorted(dirty[r].items())] + entering = set(map(int, word.get('start_extra', {}))) + assert all(e[2] not in entering for e in compensation) + cleanup = [inverse(e) for e in reversed(word['A'] + word['B']) + if not v <= e[1] < 2*v] + if 'refactored_cleanup' in word: + # REFACTORED CLEANUP (cold low-frame ends): the cleanup is not the literal reversed inverse of A+B but another exact + # factorisation of the same inverse. Nothing about it is trusted: it may only touch non-target registers (T rows + # stay the compensated data accumulators), every gate is dyadic (checked below), and the arbitrary-dirt endpoint + # replay below must be exact in BOTH orientations for the full reordered program. Inherited words keep the literal + # assertion (the else branch), so their outputs are unchanged. + assert all(not v <= r < 2*v for e in word['cleanup'] for r in ([e[1]] + ([e[2]] if e[0] == 'add' else []))), 'refactored cleanup touches a target' + assert all(e[0] in ('add', 'scale') for e in word['cleanup']) + cleanup = word['cleanup'] + else: + assert [e[:-1] for e in cleanup] == [e[:-1] for e in word['cleanup']] + # HPE: hyperplane-ended helpers. 'early_cleanup' = [[cleanup index, frame vectors], ...] are cleanup gates executed + # right after B (before the final climbs) at the given frame; 'helper_final' = {helper: frame vectors} replaces FULL as + # that helper's terminal frame. The scalar program is the reordered one and is replayed exactly below, so a move that + # does not commute with the skipped cleanup prefix is rejected by the arbitrary-dirt endpoint assertion. + early = [(int(i), f) for i, f in word.get('early_cleanup', [])] + helper_final = {int(r): f for r, f in word.get('helper_final', {}).items()} + early_idx = [i for i, _ in early] + assert len(set(early_idx)) == len(early_idx) and all(0 <= i < len(cleanup) for i in early_idx) + assert all(2*v <= r < n for r in helper_final) + # COLD-HPE: a COLD helper (not in start_extra, entrance frame 0 = bottom) may also end at a proper subspace U. + # It is the E = bottom instance of #593's theorems: its wrappers are the (0, U) recipes R_{0,U}, L_{0,U} (checked + # exactly by hpe_adapters_local), emitted as residual_adapter events like an entering helper's. + cold_hpe = sorted(r for r in helper_final if r not in entering) + # COLD-HPE wrapper order: R_{0,U}^-1 is emitted with the entry adapters, after the zero-frame precondition and + # compensation, so (exactly as for an entering helper, asserted above) nothing before it may touch a cold-ended helper. + assert all(r not in set(cold_hpe) for e in word['precondition'] + compensation for r in ([e[1]] + ([e[2]] if e[0] == 'add' else []))), 'zero-frame precondition/compensation touches a cold hyperplane-ended helper before its wrapper' + tail =[word['cleanup'][i][:-1] + [f] for i, f in early] + rest = [e for i, e in enumerate(word['cleanup']) if i not in set(early_idx)] + program = word['precondition'] + compensation + main + tail + rest + for backward in (False, True): + actual = ident() + for e in program: + apply(dual(e) if backward else e, actual) + expected = ident() + for t in range(v): + expected[t if backward else v+t][v+t if backward else t] = Q(-1 if backward else 1) + assert actual == expected, ('arbitrary-dirt endpoint', backward) + # The native scalar compiler allows dyadic additions and signed binary scales. + for e in program: + q = Q(e[3], e[4]) if e[0] == 'add' else Q(e[2], e[3]) + assert q.denominator & (q.denominator-1) == 0 + if e[0] == 'scale': + a = abs(q.numerator) + assert a and a & (a-1) == 0 + + tau = lambda x: x ^ (43 if (x & 43).bit_count() % 2 else 0) + ports = routing['ports'] + assert len(set(ports)) == v and set(map(tau, word['ports'])) == set(ports) + mapping = {i: ports.index(tau(p)) for i, p in enumerate(word['ports'])} + mapping.update({v+i: v+mapping[i] for i in range(v)}) + mapping.update({r: r for r in range(2*v, n)}) + full = tuple(1 << i for i in range(h-1, -1, -1)) + frames, frame_ids = [(), full], {(): 0, full: 1} + + def fid(vectors): + frame = basis(vectors) + if frame not in frame_ids: + frame_ids[frame] = len(frames) + frames.append(frame) + return frame_ids[frame] + + def transform(e): + e = copy.deepcopy(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 + + canonical = {key: [transform(e) for e in word[key]] + for key in ('A', 'B', 'cut', 'cleanup', 'precondition')} + canonical['compensation'] = [transform(e) for e in compensation] + if tail: + canonical['tail'] = [transform(e) for e in tail] # HPE (absent for inherited words: identical output) + canonical['cleanup'] = [transform(e) for e in rest] # HPE (full cleanup minus the early gates) + canonical['start'] = [fid([p]) for p in ports] + [0]*(v+helpers) + for r, frame in word.get('start_extra', {}).items(): + assert 2*v <= int(r) < n + canonical['start'][int(r)] = fid([tau(x) for x in frame]) + canonical['final'] = ([1]*v + + [fid(x for x in range(1, 1 << h) if (x & p).bit_count() % 2 == 0) for p in ports] + + [1]*helpers) + for r, frame in helper_final.items(): # HPE + canonical['final'][r] = fid([tau(x) for x in frame]) + canonical.update(h=h, v=v, R=helpers, ports=ports, frames=frames, + centers=[mapping[r] for r in word['centers']], + center_frames=[fid(tau(x) for x in frame) for frame in word['center_frames']]) + levels = {mapping[v+int(t)]-v: fid(tau(x) for x in frame) + for t, frame in word.get('target_levels', {}).items()} + canonical['target_levels'] = {str(t): f for t, f in levels.items()} + current, paid, edges = canonical['start'].copy(), Counter(), set() + + def climb(r, f): + old = current[r] + assert basis(frames[old] + frames[f]) == frames[f], ('nonmonotone', r, old, f) + if old != f: + degree = len(frames[f]) - len(frames[old]) + assert degree > 0 + paid[degree] += 1 + edges.add((old, f)) + current[r] = f + + for part in ('A', 'B'): + if part == 'B': + assert all(current[r] == f for r, f in zip(canonical['centers'], canonical['center_frames'])) + assert all(current[v+t] == levels.get(t, 0) for t in range(v)) + for r, frame in zip(canonical['centers'], canonical['center_frames']): + served = {levels.get(e[1]-v, 0) for e in canonical['cut'] if e[2] == r} + old = frame + for f in sorted(served, key=lambda f: -len(frames[f])): + assert basis(frames[old] + frames[f]) == frames[old] + if old != f: + paid[len(frames[old])-len(frames[f])] += 1 + edges.add((old, f)) + edges.add((f, old)) + old = f + for e in canonical[part]: + for r in [e[1]] + ([e[2]] if e[0] == 'add' else []): + climb(r, e[-1]) + if helper_final: # COLD-HPE / CONE PRE-CHECK at the end-of-B frames + P, Pinv = state_maps(word['precondition'] + compensation + main, n) + cone = cone_violations(P, Pinv, sorted(helper_final), mapping, current.copy(), canonical['final'], frames) + assert not cone, ('hpe cone pre-check (row / column)', cone[:8]) + for e in canonical.get('tail', []): # HPE: early cleanup gates at their common frame + for r in [e[1]] + ([e[2]] if e[0] == 'add' else []): + climb(r, e[-1]) + for r, f in enumerate(canonical['final']): + climb(r, f) + # HPE: the remaining cleanup runs at FULL, so it may touch only registers whose terminal frame is FULL; a + # hyperplane-ended helper is touched by nothing after its tail gates. + for e in canonical['cleanup']: + assert all(canonical['final'][r] == 1 for r in [e[1]] + ([e[2]] if e[0] == 'add' else [])), ('cleanup on non-FULL end', e) + assert all(len(frames[canonical['final'][r]]) < h for r in helper_final) + assert dict(paid) == {int(r): count for r, count in word['report']['local_profile'].items()} + canonical['local_profile'] = dict(sorted(paid.items())) + canonical['edges'] = sorted(edges) + out.mkdir(parents=True, exist_ok=False) + payload = json.dumps(canonical, sort_keys=True, separators=(',', ':')).encode() + (out/'CANONICAL-WORD.json.gz').write_bytes(gzip.compress(payload, mtime=0)) + (out/'FULL-WORD.json.gz').write_bytes(gzip.compress(json.dumps(word, sort_keys=True, separators=(',', ':')).encode(), mtime=0)) + receipt = dict(status='PASS_CHANGED_WORD_ALL_COLUMNS_AND_NATIVE_FRAMES', + input_content_sha256=content_hash(raw_path), routing_content_sha256=content_hash(routing_path), + canonical_content_sha256=hashlib.sha256(payload).hexdigest(), + live_columns_each_orientation=n, helpers=helpers, + compensation_additions=len(compensation), scalar_operations=len(program), + center_rank_sum=sum(map(len, word['center_frames'])), + local_profile=dict(sorted(paid.items())), local_rank_mass=sum(r*z for r, z in paid.items()), + widths=[len(frames[canonical['final'][r]])-len(frames[canonical['start'][r]]) for r in range(2*v, n)], + frames=len(frames), directed_edges=len(edges), + tau=43, target_port_order_matches_baseline=True, + seconds=time.monotonic()-start_time, + scope='Fresh exact forward and inverse-transpose scalar replay on every arbitrary input; all native frame chains and dyadic primitives. Phase lowering, wrappers, global owners and global assembly are separate.') + if tail or helper_final: + receipt.update(hyperplane_ended_helpers=sorted(helper_final), early_cleanup_gates=len(tail)) + if cold_hpe: # COLD-HPE (absent for words without cold ends) + receipt.update(cold_hyperplane_ended_helpers=cold_hpe) + if 'refactored_cleanup' in word: # REFACTORED CLEANUP (absent for inherited words) + receipt.update(refactored_cleanup_gates=len(word['cleanup']), refactored_cleanup=word['refactored_cleanup']) + (out/'SCALAR-FRAME-AUDIT.json').write_text(json.dumps(receipt, indent=2)+'\n') + print(json.dumps({k: value for k, value in receipt.items() if k != 'widths'}, indent=2), flush=True) + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--raw', type=Path, required=True) + parser.add_argument('--routing', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + run(args.raw, args.routing, args.out) diff --git a/research/complex-571-cold14/code/hpe_audit_local.py b/research/complex-571-cold14/code/hpe_audit_local.py new file mode 100644 index 0000000000..17bccb64fd --- /dev/null +++ b/research/complex-571-cold14/code/hpe_audit_local.py @@ -0,0 +1,171 @@ +# Local-only extraction of the attributed PR514 / PR433 independent replay. +# Prepared for icekylinx with OpenAI Codex assistance. Apache-2.0. +# The complete local checker and its negative controls are retained verbatim. +# Global hosting is verified separately for the changed 112-port geometry. +import copy,gzip,hashlib,json,sys +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +OUT=Path(sys.argv[1]) +c=json.load(gzip.open(OUT/'CANONICAL-WORD.json.gz')) +ir={'local_programs':json.load(gzip.open(OUT/'LOCAL-PROGRAMS.json.gz'))} +v,R,h=c['v'],c['R'],c['h'];n=2*v+R;frames=c['frames'] +levels={int(t):f for t,f in c.get('target_levels',{}).items()} +entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] +plain={r for r in range(n) if r not in set(entering)} + +def contains(a,b): + for x in a: + for y in b: + if x>>(y.bit_length()-1)&1:x^=y + if x:return False + return True +hpe={r for r in range(2*v,n) if c['final'][r]!=1} # HPE: helpers whose terminal frame is a proper subspace U of FULL +assert all(len(frames[c['final'][r]])0 + hist[rank]+=1;cur[r]=b + elif tag=='center': + _,k,a,b,rank=event + assert phases[-1]=='centers' and private=={('C',k):a} + cf=c['center_frames'][k];cr=len(frames[cf]) + # GK: stepwise descent cf -> served levels -> lowest (forward), reversed ascent (backward); each step is a nested child + assert contains(frames[a],frames[b]) if back else contains(frames[b],frames[a]) + assert rank==abs(len(frames[a])-len(frames[b]))>0 + chain.setdefault(k,[]).append((a,b)) + private['C',k]=b;hist[rank]+=1;centers.append(k) + elif tag=='scalar': + _,e,f=event;op=e[0];target=tuple(e[1]);source=tuple(e[2]) if op in ('copy','add') else None + if target[0]=='C' and op=='clear': + assert private.get(target,f)==f + private.pop(target,None) + else: + for r in (target,source): + if r is None:continue + if r[0]=='L':assert cur[r[1]]==f and (r[1] not in wset or (r[1] in pre_seen and r[1] not in post_seen)),('common frame / wrapper order',r,cur[r[1]],f) + else: + if r==target and r not in private:private[r]=f + assert private[r]==f + if op=='clear':rows[target]={};norm[target]=Q(0) + elif op=='copy':rows[target]=dict(rows[source]);norm[target]=norm[source] + elif op=='scale': + q=Q(e[2],e[3]);a,b=abs(q.numerator),q.denominator + assert a&(a-1)==0 and b&(b-1)==0 + rows[target]={j:q*x for j,x in rows[target].items()};norm[target]*=abs(q) + else: + q=Q(e[3],e[4]);a,b=abs(q.numerator),q.denominator + assert source!=target and b&(b-1)==0 + # Independent symbolic replay of the cleared coefficient work. + w=0 + for bit in bin(a)[2:]:w=2*w+int(bit) + assert Q(w,b)*(1 if q>0 else -1)==q + prefix=max(prefix,Q(a)*norm[source]) + norm[target]=norm.get(target,Q(0))+abs(q)*norm[source] + row=rows.setdefault(target,{}) + for j,x in list(rows[source].items()): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) + prefix=max(prefix,norm[target]) + else:raise AssertionError(tag) + assert phases==allowed and set(centers)==set(range(len(c['centers']))) and not private + assert sorted(r for k,r,_ in wrappers if k=='pre')==wrapped and sorted(r for k,r,_ in wrappers if k=='post')==wrapped # GK + for k,st in chain.items(): # GK: the steps of each centre chain link up and end at the centre frame + cf=c['center_frames'][k] + if back:assert st[-1][1]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + else:assert st[0][0]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + assert all(not row for reg,row in rows.items() if reg[0]=='C') + for r in range(n): + expected={r:Q(1)} + if back and r i0])) +reject('early gate frame below its registers\' frames', lambda w: w['early_cleanup'][0].__setitem__(1, U0[:-1])) +reject('hyperplane end on a non-entering helper', lambda w: (w['start_extra'].pop(h0))) +reject('profile not updated (paid climbs misreported)', lambda w: w['report']['local_profile'].__setitem__('1', w['report']['local_profile']['1']-3)) +reject('profile without 8 partner U->FULL climb charges', lambda w: w['report']['local_profile'].__setitem__('1', w['report']['local_profile']['1']-8)) +reject('duplicate early gate', lambda w: w['early_cleanup'].append(list(w['early_cleanup'][0]))) + +# Constructor controls for build_hpe's commutation rule (an early gate h -= p may skip earlier cleanup gates on p only +# when they commute with it, i.e. only read p). base = the word without its hyperplane ends; a skipped gate that WRITES +# the partner (an addition into p or a scale of p) or touches h must make build_hpe.apply refuse the recipe, while a +# skipped gate that only reads p is accepted. +import build_hpe +base = copy.deepcopy(word); base.pop('early_cleanup'); base.pop('helper_final') +hf = {int(h) for h in word['helper_final']} +changes = [] +for i, U in word['early_cleanup']: # pair each early gate with its helper via the gate's target + h = cl[i][1] + assert h in hf and word['helper_final'][str(h)] == U + changes.append(dict(helper=h, cleanup_index=i, frame=U)) +z0 = changes[0]; g0 = cl[z0['cleanup_index']]; p0 = g0[2] +x0 = next(r for r in range(2*v, n) if r not in {z['helper'] for z in changes} | {cl[z['cleanup_index']][2] for z in changes}) +NONCOMMUTE = 'cleanup gate does not commute with the skipped cleanup gates on its registers' +ONEGATE = 'helper must have exactly this one cleanup gate' + + +def build_with(w): + return build_hpe.apply(w, changes) + + +def inserted(pre): + """base with gate `pre` inserted at cleanup position 0; the changes' indices shift by one""" + w = copy.deepcopy(base); w['cleanup'].insert(0, pre) + return w, [dict(z, cleanup_index=z['cleanup_index'] + 1) for z in changes] + + +def cfail(name, w, ch, expect): + """the constructor must refuse with the pinned message `expect`""" + try: + build_hpe.apply(w, ch) + except AssertionError as e: + assert expect in str(e), ('constructor control %r failed with the wrong message: %s' % (name, e)) + results.append('constructor: ' + name); print('rejected constructor:', name, '--', expect, flush=True); return + raise AssertionError('HPE constructor mutation accepted: ' + name) + + +build_hpe.apply(*inserted(['add', x0, p0, -1, 1, FULL])) # positive: a skipped gate that only reads the partner commutes +cfail('skipped cleanup gate adds into the partner', *inserted(['add', p0, x0, -1, 1, FULL]), NONCOMMUTE) +cfail('skipped cleanup gate scales the partner', *inserted(['scale', p0, -1, 1, FULL]), NONCOMMUTE) +cfail('extra cleanup gate reading the helper (one-gate rule)', *inserted(['add', x0, z0['helper'], -1, 1, FULL]), ONEGATE) +cfail('extra cleanup gate adding into the helper (one-gate rule)', *inserted(['add', z0['helper'], x0, -1, 1, FULL]), ONEGATE) +# Real helpers admitted only by the commutation rule: their partner has an earlier cleanup gate x -= p (reads p). +# Flipping that gate in place to p -= x (writes p) must be refused by the commutation assert. +first = {} +for i, e in enumerate(cl): + for r in regs(e): first.setdefault(r, i) +relaxed = [z for z in changes if any(first[r] < z['cleanup_index'] for r in regs(cl[z['cleanup_index']]))] +for z in relaxed: + i = z['cleanup_index']; p = cl[i][2] + j = next(j for j in range(i) if p in regs(cl[j])) + e = cl[j]; assert e[0] == 'add' and e[2] == p and e[1] != p, ('skipped gate on a relaxed helper is not a reader', j, e) + build_hpe.apply(copy.deepcopy(base), changes) # positive: the real word's own changes + w = copy.deepcopy(base); w['cleanup'][j] = ['add', p, e[1]] + e[3:] + cfail('real helper %d: skipped gate %d flipped from %d -= %d to %d -= %d' % (z['helper'], j, e[1], p, p, e[1]), w, changes, NONCOMMUTE) +print('relaxed helpers', [z['helper'] for z in relaxed], flush=True) +outdir.mkdir(parents=True, exist_ok=True) +(outdir/'HPE-ATC-CONTROLS.json').write_text(json.dumps(dict(status='PASS_HPE_RAW_WORD_CONTROLS', word=str(src), rejected=results), indent=1) + '\n') +print('PASS', len(results), 'HPE raw-word mutations rejected') diff --git a/research/complex-571-cold14/code/hpe_emit_local.py b/research/complex-571-cold14/code/hpe_emit_local.py new file mode 100644 index 0000000000..534fdc71f7 --- /dev/null +++ b/research/complex-571-cold14/code/hpe_emit_local.py @@ -0,0 +1,163 @@ +# GK: modified copy of PR #433's complex_emit.py (icekylinx with Codex assistance; PR #425) by DreamingOfClouds with Claude Opus 5.5 +# (Anthropic), via Claude Code. Every change is marked "GK:". On a word without start_extra / target_levels the behaviour +# and every written file equal PR #433's (regression anchor in verify.py). +import sys as _sys, os as _os; _sys.path.insert(0, _os.path.dirname(_os.path.abspath(__file__))) +# Adapted from PR425 by icekylinx with Codex assistance. +"""Emit both local programs, integrate the fixed nine-stage geometry, and bill. + +The expanded scalar interface is justified in PROOF.txt. This script does not +claim a Lean proof or discharge the inherited all-size/analytic interfaces. +""" +import copy,gzip,hashlib,importlib.util,json,math +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +OUT=Path(_sys.argv[1]);cp=OUT/'CANONICAL-WORD.json.gz' +c=json.load(gzip.open(cp)) +frames=c['frames'];v,R,h=c['v'],c['R'],c['h'];n=2*v+R +def digest(x):return hashlib.sha256(json.dumps(x,sort_keys=True,separators=(',',':')).encode()).hexdigest() +def basis(vs): + b={} + for x in vs: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def dual(e): + e=list(e) + if e[0]=='add':e[1],e[2]=e[2],e[1];e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + return e +def scalar(e,back): + e=dual(e) if back else list(e) + if e[0]=='add':return ['add',['L',e[1]],['L',e[2]],e[3],e[4]] + return ['scale',['L',e[1]],e[2],e[3]] +def primitive_bound(e): + if e[0] in ('clear','copy'):return 1 + q=Q(e[3],e[4]) if e[0]=='add' else Q(e[2],e[3]) + a,b=abs(q.numerator),q.denominator + assert b&(b-1)==0 + if e[0]=='scale': + assert a&(a-1)==0 + return abs(a.bit_length()-b.bit_length())+int(q<0) + # Exact binary Horner multiplication on a cleared private stream, repeated + # halving, signed accumulation into the target, then clear the private stream. + return 3+(a.bit_length()-1)+a.bit_count()+(b.bit_length()-1) + +def emit(back): + out=[];cur=c['start'].copy() + def event(e):out.append(e) + def scal(e,f):event(['scalar',e,f]) + event(['phase','zero_frame_precondition']) + for e in c['precondition']+c['compensation']: + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + assert all(c['start'][r]==0 for r in regs) + scal(scalar(e,back),0) + event(['phase','entry_adapters']) + # GK: a helper that starts at a nonzero entrance frame has NO entry adapter; its paid wrapper R_E^-1 (Lemma A) precedes every gate + # that touches it and L_E^-1 follows the full-frame cleanup. Words without entrances emit PR #433's events. + entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] + hpe={r for r in range(2*v,n) if c['final'][r]!=1} # HPE: hyperplane-ended helpers (terminal frame != FULL) + # COLD-HPE: a cold helper (start frame 0) ending at U also carries the paid wrappers R_{0,U}^-1 / L_{0,U}^-1 (the + # E = bottom instance of #593); without cold ends wrapped == entering and the event stream is the inherited one. + wrapped=sorted(set(entering)|hpe) + for r,f in enumerate(c['start']): + if r in wrapped:event(['residual_adapter','pre',r,f]+([c['final'][r]] if c['final'][r]!=1 else [])) # HPE: R_{E,U}^-1 names U + else:event(['adapter','old_to_new',r,f]) + def climb(r,f,part): + old=cur[r] + if old==f:return + assert basis(frames[old]+frames[f])==tuple(frames[f]) + rank=len(frames[f])-len(frames[old]);assert rank>0 + event(['climb',part,r,old,f,rank]);cur[r]=f + # HPE: 'cleanup_tail' = early cleanup gates at their own frames; emitted only when the word has them, so a word + # without hyperplane-ended helpers yields exactly the inherited event stream. + for part in ('A','centers','B')+(('cleanup_tail',) if c.get('tail') else ())+('final',): + event(['phase',part]) + if part in ('A','B','cleanup_tail'): + for e in (c['tail'] if part=='cleanup_tail' else c[part]): + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + for r in regs:climb(r,e[-1],part) + scal(scalar(e,back),e[-1]) + elif part=='centers': + # GK: targets sit at their nonzero-frame-compensation level (0 at the defaults); a centre copy descends + # cf -> served levels (descending chain) -> lowest served level and scatters into each target at its level + lv=lambda r:c.get('target_levels',{}).get(str(r-v),0) + assert all(cur[r]==lv(r) for r in range(v,2*v)) + for k,r in enumerate(c['centers']): + cf=c['center_frames'][k];assert cur[r]==cf + terms=[e for e in c['cut'] if e[2]==r] + path=[cf]+sorted({lv(e[1]) for e in terms}-{cf},key=lambda x:-len(frames[x])) + C=['C',k] + if not back: + scal(['clear',C],cf);scal(['copy',C,['L',r]],cf) + for a in range(len(path)): + if a>0:event(['center',k,path[a-1],path[a],len(frames[path[a-1]])-len(frames[path[a]])]) + for e in terms: + if lv(e[1])==path[a]:scal(['add',['L',e[1]],C,e[3],e[4]],path[a]) + scal(['clear',C],path[-1]) + else: + scal(['clear',C],path[-1]) + for a in range(len(path)-1,-1,-1): + for e in terms: + if lv(e[1])==path[a]:scal(['add',C,['L',e[1]],e[3],e[4]],path[a]) + if a>0:event(['center',k,path[a],path[a-1],len(frames[path[a-1]])-len(frames[path[a]])]) + scal(['add',['L',r],C,-1,1],cf);scal(['clear',C],cf) + else: + for r,f in enumerate(c['final']):climb(r,f,part) + event(['phase','exit_adapters']) + for r,f in enumerate(c['final']): + if r not in hpe:event(['adapter','new_to_old',r,f]) # HPE: no old-convention exit for a helper that ends at U; its post wrapper is L_{E,U}^-1 + event(['phase','full_frame_cleanup']) + for e in c['cleanup']: + regs=[e[1]]+([e[2]] if e[0]=='add' else []) + assert all(c['final'][r]==1 for r in regs) + scal(scalar(e,back),1) + for r in wrapped:event(['residual_adapter','post',r,c['start'][r]]+([c['final'][r]] if r in hpe else [])) # HPE: 5th field = terminal frame U # GK: L_E^-1 after the full-frame cleanup + event(['phase','done']) + return out + +def check_local(events,back): + # Literal scalar replay of the emitted stream, including center lifetimes. + state={('L',r):{r:Q(1)} for r in range(n)};live=[];paid=Counter();prims=0;macros=0 + for e in events: + if e[0]=='climb':assert not live;paid[e[5]]+=1 + elif e[0]=='center':assert live==[e[1]];paid[e[4]]+=1 + elif e[0]=='scalar': + op=e[1];tag=op[0];t=tuple(op[1]);macros+=1;prims+=2*primitive_bound(op) + if tag=='clear': + state[t]={} + if t[0]=='C' and t[1] in live:live.remove(t[1]) + elif tag=='copy':state[t]=dict(state.get(tuple(op[2]),{}));live.append(t[1]) + elif tag=='scale':state[t]={j:Q(op[2],op[3])*x for j,x in state[t].items()} + else: + s=tuple(op[2]);q=Q(op[3],op[4]);row=state.setdefault(t,{}) + if t[0]=='C' and t[1] not in live:live.append(t[1]) + for j,x in list(state.get(s,{}).items()): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) + assert not live and all(not row for r,row in state.items() if r[0]=='C') + for r in range(n): + expected={r:Q(1)} + if back and r PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,helpers,h)==(112,504,9) + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + for event in events: + tag = event[0] + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros, real_component_primitives=real, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + adapters = 16*(macro_bound+children+n+centres)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + v,helpers,h,m,centres,n=112,504,9,73,8,728 + stages,replicas,blocks_per_stream=9,8,4 + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==2560 + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=512 + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==payload + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] diff --git a/research/complex-571-cold14/data/OWNERS.json.gz b/research/complex-571-cold14/data/OWNERS.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..add4941092a03e8455b97e815971c59502f306ed GIT binary patch literal 472853 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%0D7(Y5 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°^He@ntW-2sceQ<)8MFF{jQ-s4Av7V3S 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 new frame), frame fields only on scalar events, report changes limited.""" + assert source.keys()==word.keys() + for section in source: + if section in ('A','cut','B','cleanup','precondition'): + assert len(source[section])==len(word[section]) + assert all(x[:-1]==y[:-1]for x,y in zip(source[section],word[section])),'scalar operation changed' + elif section not in ('start_extra','report'):assert source[section]==word[section],'fixed field changed: '+section + entrances=dict(source['start_extra']) + for r in recipes: + k=str(r['pivot']);assert sorted(entrances[k])==sorted(r['old_frame']) and len(r['new_frame'])==len(r['old_frame'])+1,'wrong old entrance '+k + entrances[k]=word['start_extra'][k];assert sorted(entrances[k])==sorted(r['new_frame']),'wrong new entrance '+k + assert word['start_extra']==entrances,'entrance changed outside the recipe' + allowed={'local_profile','local_rank_mass','entrance_rank','entering_helpers','width_inventory'} + assert source['report'].keys()==word['report'].keys() and all(source['report'][k]==word['report'][k]for k in source['report']if k not in allowed) +def promote(word,s,out,tag): + src,builder,deps=PROMOTER;recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + for f in deps:ref(src+':'+f) + run(tag+'-construction',ref(src+':'+builder),'--word',word,'--recipes',recipe,'--gk-dir',GK,'--out',out) + a,b,r=read(word),read(out/'FULL-WORD.json.gz'),read(recipe);frame_only(a,b,r) + import copy + rejected=[] + for name,mut in (('reverted_promotion',lambda w:w['start_extra'].__setitem__(str(r[0]['pivot']),list(r[0]['old_frame']))), + ('scalar_operation_changed',lambda w:w['B'][0].insert(0,'mutated')),('extra_entrance_changed',lambda w:w['start_extra'].__setitem__(next(k for k in w['start_extra']if k not in{str(x['pivot'])for x in r}),[])), + ('fixed_field_changed',lambda w:w.__setitem__('cut',w['cut'][:-1]))): + w=copy.deepcopy(b);mut(w) + try:frame_only(a,w,r) + except(AssertionError,KeyError,IndexError,TypeError):rejected.append(name) + else:raise AssertionError('frame-only control accepted: '+name) + dump(out/'FRAME-ONLY-CONTROLS.json',dict(status='PASS_FRAME_ONLY_PROMOTION_TRANSFER',promotions=len(r),controls=rejected)) + omissions(out/'FRAME-ONLY-CONTROLS.json',s,tag) +JOINT=('joint_prefix',('code/build_joint_prefix.py','code/audit_joint_prefix.py','code/audit_multicold_controls.py')) +def joint_prefix(word,s,out,tag): + """PR575's unchanged joint-prefix constructor with its paired audits: all-kernel omissions, rank-five omissions and + the independent literal-prefix/coverage audit (variant and kernel recipe named in the step).""" + src,(builder,audit,omit)=JOINT;recipe=ref(s['recipe']);kern=ref(s['kernel_recipes']);pinned(s,'recipe_sha256',sha(recipe),tag);pinned(s,'kernel_recipes_sha256',sha(kern),tag) + assert s['variant'] in ('eightcold','width7') + run(tag+'-construction',ref(src+':'+builder),'--input',word,'--recipe',recipe,'--variant',s['variant'],'--gk-dir',GK,'--out',out) + shutil.copyfile(RAW.parent/'PROMOTION.json',out/'PROMOTION.json') + run(tag+'-all-kernel-omissions',ref(src+':'+omit),'--word',out/'FULL-WORD.json.gz','--recipe',kern,'--out',out/'ALL-KERNEL-CONTROLS.json') + run(tag+'-rank5-omissions',B/'code/audit_promoted_scalar.py',out/'FULL-WORD.json.gz',SEL,out/'RANK5-CONTROLS.json') + run(tag+'-independent-joint-prefix-and-coverage',ref(src+':'+audit),'--source',word,'--word',out/'FULL-WORD.json.gz','--recipe',recipe,'--variant',s['variant'],'--kernel-recipes',kern,'--controls',out/'ALL-KERNEL-CONTROLS.json','--rank5-controls',out/'RANK5-CONTROLS.json','--promotion',out/'PROMOTION.json','--selection',SEL,'--out',out/'JOINT-PREFIX-AUDIT.json') + j=read(out/'JOINT-PREFIX-AUDIT.json');assert j['status']=='PASS_INDEPENDENT_LITERAL_PREFIX_AND_FINAL_KERNEL_COVERAGE' + c=read(out/'ALL-KERNEL-CONTROLS.json');assert all(x['forward_rejected'] and x['reflected_rejected'] for x in c['controls']) + omissions(out/'ALL-KERNEL-CONTROLS.json',s,tag);pinned(s,'rank5_controls',len(read(out/'RANK5-CONTROLS.json')['controls']),tag) + pinned(s,'joint_negative_controls',len(j['negative_controls_rejected']),tag) +COAL=('frame_coalescing','code/build_frames.py') +def frame_coalesce(word,s,out,tag): + """PR583's unchanged frame-coalescence constructor (it re-checks profiles, scalar operations, widths and helper + responses and rejects every omission/over-promotion control), plus an independent check that only the recipe's + gate frames changed (old -> new) and every other field of the word is identical.""" + src,builder=COAL;recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',ref(src+':'+builder),'--input',word,'--recipe',recipe,'--gk-dir',GK,'--out',out) + r=read(recipe);c=read(out/'FRAME-CONSTRUCTION.json');assert c['status']=='PASS_SIX_EXACT_FRAME_COALESCENCES' + assert len(c['negative_controls_rejected'])==2*len(r['changes']);pinned(s,'negative_controls',len(c['negative_controls_rejected']),tag) + x,y=read(word),read(out/'FULL-WORD.json.gz');ch={(z['section'],z['index']):z for z in r['changes']};assert len(ch)==len(r['changes']) + assert x.keys()==y.keys() and all(x[k]==y[k]for k in x if k not in('A','B','report')) + for part in ('A','B'): + assert len(x[part])==len(y[part]) + for i,(u,v) in enumerate(zip(x[part],y[part])): + z=ch.pop((part,i),None) + if z is None:assert u==v,'frame changed outside the recipe %s %d'%(part,i) + else:assert u==z['before'] and v==z['after'] and u[:-1]==v[:-1],'wrong coalescence %s %d'%(part,i) + assert not ch,'recipe change outside A/B' + assert all(x['report'][k]==y['report'][k]for k in x['report']if k not in('local_profile','local_rank_mass','status')) +def gate_move_coalesce(word,s,out,tag): + """This package's code/build_gate_moves.py (PR583's constructor extended by commuting gate moves): every passed gate + must commute, helper responses and widths are unchanged, cleanup follows the inherited inverse rule, and every + omission/over-promotion/unmoved control is rejected; then the same independent comparison as frame_coalesce.""" + recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',P/'code/build_gate_moves.py','--input',word,'--recipe',recipe,'--gk-dir',GK,'--out',out) + r=read(recipe);c=read(out/'FRAME-CONSTRUCTION.json');assert c['status']=='PASS_EXACT_GATE_MOVE_FRAME_COALESCENCES' + assert len(c['negative_controls_rejected'])==2*len(r['changes'])+len(r['moves']);pinned(s,'negative_controls',len(c['negative_controls_rejected']),tag) + x,y=read(word),read(out/'FULL-WORD.json.gz') + for m in r['moves']:L=x[m['section']];L.insert(m['to'],L.pop(m['from'])) + ch={(z['section'],z['index']):z for z in r['changes']};assert len(ch)==len(r['changes']) + assert x.keys()==y.keys() and all(x[k]==y[k]for k in x if k not in('A','B','cleanup','report')) + for part in ('A','B'): + assert len(x[part])==len(y[part]) + for i,(u,v) in enumerate(zip(x[part],y[part])): + z=ch.pop((part,i),None) + if z is None:assert u==v,'gate changed outside the recipe %s %d'%(part,i) + else:assert u==z['before'] and v==z['after'] and u[:-1]==v[:-1],'wrong coalescence %s %d'%(part,i) + assert not ch,'recipe change outside A/B' + meta=('width_inventory','entering_helpers','entrance_rank');assert all(x['report'][k]==y['report'][k]for k in x['report']if k not in('local_profile','local_rank_mass','status')+meta) + sys.path.insert(0,str(GK));import gk_common as GC;GC.V=112;ws=GC.widths_of(y) + assert y['report']['width_inventory']=={str(k):v for k,v in sorted(Counter(ws).items())} and y['report']['entering_helpers']==sum(v<9 for v in ws) and y['report']['entrance_rank']==sum(9-v for v in ws),'descriptive width metadata not normalized' +def hyperplane_end(word,s,out,tag): + """This package's code/build_hpe.py: cleanup gates that commute with the whole skipped cleanup prefix run right after B + at the join frame U of their registers, and the helper ends at U (residual T_U T_E^-1, width |U|-|E|; Lemma C, nested + children, Lemma A). Paired audit: code/hpe_controls_atc.py (exact replay of the reordered program plus HPE raw-word + mutations). Then an independent comparison: only early_cleanup, helper_final and the paid profile change.""" + recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',P/'code/build_hpe.py','--input',word,'--recipe',recipe,'--out',out) + run(tag+'-controls',P/'code/hpe_controls_atc.py',out/'FULL-WORD.json.gz',F/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz',out) + c=read(out/'HPE-ATC-CONTROLS.json');assert c['status']=='PASS_HPE_RAW_WORD_CONTROLS';pinned(s,'negative_controls',len(c['rejected']),tag) + r=read(recipe);x,y=read(word),read(out/'FULL-WORD.json.gz') + assert set(y)==set(x)|{'early_cleanup','helper_final'} and 'early_cleanup' not in x and all(x[k]==y[k]for k in x if k!='report') + assert y['early_cleanup']==[[z['cleanup_index'],z['frame']]for z in r['changes']] and y['helper_final']=={str(z['helper']):z['frame']for z in r['changes']} + assert x['report'].keys()==y['report'].keys() and all(x['report'][k]==y['report'][k]for k in x['report']if k not in('local_profile','local_rank_mass','width_inventory')) + inv=Counter({int(k):n for k,n in x['report']['width_inventory'].items()}) + for z in r['changes']:e=len(x['start_extra'][str(z['helper'])]);inv[9-e]-=1;inv[len(z['frame'])-e]+=1 + assert y['report']['width_inventory']=={str(k):n for k,n in sorted(inv.items())if n},'descriptive width metadata not |final|-|start|' +def cold_end(word,s,out,tag): + """This package's code/build_cold_end.py: cold helpers end at a low-dimensional frame U (width |U|) under a refactored + exact cleanup: a rank-0 premix at the head of A, multi-gate lower-frame cleanup gates in the early tail and an exact + dyadic FULL remainder that touches no helper ending below FULL. Paired audit: code/cold_end_controls.py (raw-word + mutations of premix placement, lower-frame gates, remainder, cold ends and marker, each rejected by the extended + transport audit). Then an independent comparison: only A's head, the cleanup, early_cleanup, helper_final, the + refactored_cleanup marker and the paid profile / width metadata change, and every inherited HPE end is kept.""" + recipe=ref(s['recipe']);pinned(s,'recipe_sha256',sha(recipe),tag) + run(tag+'-construction',P/'code/build_cold_end.py','--input',word,'--recipe',recipe,'--out',out) + run(tag+'-controls',P/'code/cold_end_controls.py',out/'FULL-WORD.json.gz',F/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz',out) + c=read(out/'COLD-END-CONTROLS.json');assert c['status']=='PASS_COLD_END_RAW_WORD_CONTROLS';pinned(s,'negative_controls',len(c['rejected']),tag) + r=read(recipe);x,y=read(word),read(out/'FULL-WORD.json.gz') + assert set(y)==set(x)|{'refactored_cleanup'} and 'refactored_cleanup' not in x + assert all(x[k]==y[k]for k in x if k not in('A','cleanup','early_cleanup','helper_final','report')) + st=lambda h:sorted(x['start_extra'].get(str(h),[]));assert all(2*x['report']['v']<=h and st(h)==sorted(e[-1]) for e in r['premix'] for h in [e[1]]+([e[2]] if e[0]=='add' else [])) + assert y['A']==r['premix']+x['A'] and y['cleanup']==r['cleanup'] and y['early_cleanup']==r['early_cleanup'] + ee=r.get('entering_ends',{});assert y['helper_final']==dict(x['helper_final'],**r['cold_ends'],**ee) and not (set(r['cold_ends'])|set(ee))&set(x['helper_final']) + assert all(h not in x['start_extra'] for h in r['cold_ends']) and all(h in x['start_extra'] for h in ee) and not set(ee)&set(r['cold_ends']) + assert x['report'].keys()==y['report'].keys() and all(x['report'][k]==y['report'][k]for k in x['report']if k not in('local_profile','local_rank_mass','width_inventory')) + inv=Counter({int(k):n for k,n in x['report']['width_inventory'].items()}) + for h,f in r['cold_ends'].items():inv[9]-=1;inv[len(f)]+=1 + for h,f in ee.items():e=len(x['start_extra'][h]);inv[9-e]-=1;inv[len(f)-e]+=1 + assert y['report']['width_inventory']=={str(k):n for k,n in sorted(inv.items())if n},'descriptive width metadata not |final|-|start|' +STEPS={'cold_end':cold_end,'hyperplane_end':hyperplane_end,'cold_kernel':cold_kernel,'multicut':multicut,'greedy_kernels':multicut,'promote':promote,'joint_prefix':joint_prefix,'frame_coalesce':frame_coalesce,'gate_move_coalesce':gate_move_coalesce} +def build_word(pid,d): + base=d['base'];assert base['kind']in('frozen558_promoted','source_file'),base['kind'] + word=RAW if base['kind']=='frozen558_promoted' else ref(base['file']) + pinned(base,'content_sha256',content(word),pid+'.base') + for i,s in enumerate(d['steps']): + tag='%s-step%d-%s'%(pid,i,s['type']);out=O/tag + if s['type']=='frozen558_scalar_audits': + # inherited static44 and rank-five omission audits on a frozen558-descended word + out.mkdir();run(tag+'-static44',F/'complex-local/static44/audit_scalar.py',word,SEL,out/'STATIC44-SCALAR-AUDIT.json') + shutil.copyfile(RAW.parent/'PROMOTION.json',word.parent/'PROMOTION.json') + run(tag+'-rank5',B/'code/audit_promoted_scalar.py',word,SEL,out/'PROMOTED-SCALAR-AUDIT.json');continue + assert s['type'] in STEPS,'step type not allowlisted: '+s['type'] + pinned(s,'input_content_sha256',content(word),tag) + STEPS[s['type']](word,s,out,tag);word=out/'FULL-WORD.json.gz' + pinned(s,'output_content_sha256',content(word),tag) + pinned(d,'word_content_sha256',content(word),pid) + return word +def localize(pid,word): + local=O/(pid+'-local') + # HPE words (helper_final present) use this package's generalised native chain; every other word the unchanged vendor531 one + hp='helper_final' in read(word);NC=(lambda f:P/'code'/('hpe_'+f))if hp else(lambda f:V/'code'/f) + run(pid+'-all-columns-native-frames',NC('audit_and_transport.py'),'--raw',word,'--routing',F/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz','--out',local) + run(pid+'-both-reflected-ledgers',NC('emit_local.py'),local) + run(pid+'-independent-local-controls',NC('audit_local.py'),local) + run(pid+'-normalized-wrappers',NC('adapters_local.py'),local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json') + run(pid+'-all-phase-edges',B/'code/phases_full.py',local,V/'vendor/clifford') + r=BUILD['providers'][pid].get('retained_local') + if r: # a pinned retained local must be reproduced byte for byte (phase review up to timing) + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','WRAPPER-CHECKS.json','CLIFFORD-RECIPES.json'): + assert sha(local/name)==sha(ref(r+'/'+name)),(pid,name) + fresh,old=read(local/'CLIFFORD-REVIEW.json'),read(ref(r+'/CLIFFORD-REVIEW.json')) + assert {k:v for k,v in fresh.items()if k!='seconds'}=={k:v for k,v in old.items()if k!='seconds'} + return local +reuse=dict(x.split('=',1)for x in a.reuse_local) +words={} +def provider(pid): + word=words[pid]=build_word(pid,BUILD['providers'][pid]) + return Path(reuse[pid]).resolve()if pid in reuse else localize(pid,word) +with ThreadPoolExecutor(max(1,min(a.jobs,len(BUILD['providers']))))as pool: + futures={pid:pool.submit(provider,pid)for pid in sorted(BUILD['providers'])};locals_={pid:f.result()for pid,f in futures.items()} +dump(O/'LOCALS.json',dict(locals={pid:str(l)for pid,l in locals_.items()},words={pid:str(w)for pid,w in words.items()},baseline=str(baseline),discovered=discovered)) +if a.until=='locals':print('LOCALS READY');raise SystemExit(0) +assert not DISCOVER +G=O/'mixed-global' +run('bind-providers',P/'code/bind_providers_portable.py','--baseline',baseline,*[x for pid,l in sorted(locals_.items())for x in('--provider','%s=%s'%(pid,l))],'--plan',P/'data/PLAN.json','--out',G) +run('emit-controller',P/'code/emit_allcold.py','--base',G/'base','--owners',P/'data/OWNERS.json.gz','--plan',G/'PLAN.json','--out',G/'hosted') +(G/'audit').mkdir() +run('independent-controller-and-controls',P/'code/audit_allcold.py',G/'base',G/'hosted',G/'audit/ASYNC-AUDIT.json','--mutation-controls') +run('fresh-invoice',P/'code/invoice_allcold.py','--base',G/'base','--hosted',G/'hosted','--audit',G/'audit','--out',G/'audit','--retained-invoice',V/'evidence/audit/PREFIX-AND-INVOICE.json') +run('conservative-and-native-exact-assembly',P/'code/assemble.py',S,G,O/'ASSEMBLY.json') +run('admission-controls',P/'code/assembly_controls.py','--source-package',S,'--owner',G/'audit/OWNERS-AND-PROFILE.json','--invoice',G/'audit/PREFIX-AND-INVOICE.json','--out',O/'ASSEMBLY-CONTROLS.json') +run('phase-timing-portability-controls',P/'code/phase_timing_controls.py',S,G/'base',G/'audit',O/'PHASE-TIMING-CONTROLS.json') +run('actual-recompression-and-rebound-controls',P/'code/generated_identity_controls.py','--base',G/'base','--audit',G/'audit','--out',O/'GENERATED-IDENTITY-CONTROLS.json') +X=SPEC['expected'] +for pid,local in locals_.items(): + r=read(local/'INDEPENDENT-LOCAL-REPLAY.json');ph=read(local/'CLIFFORD-REVIEW.json') + assert len(r['negative_controls_rejected'])==SPEC['providers'][pid]['native_negative_controls'] and r['paid_profiles']['forward']==r['paid_profiles']['backward'] + assert ph['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' and ph['all_child_equalities_include_global_phase']is True and ph['directed_edges']==SPEC['providers'][pid]['phase_edges'] and ph['endpoint_adapters']==224 +assert len(read(G/'audit/ASYNC-AUDIT.json')['mutations_rejected'])==X['mutations_rejected'] +assert len(read(O/'ASSEMBLY-CONTROLS.json')['rejected_controls'])==X['assembly_controls_rejected'] +z=read(O/'ASSEMBLY.json');assert Q(z['kappa_decimal'])==Q(X['kappa_decimal']) and Q(z['conservative_kappa_decimal'])==Q(X['conservative_kappa_decimal']) +assert {str(k):v for k,v in z['complex_profile'].items()}==X['global_profile'] and z['provider_counts']==X['provider_counts'] +r=dict(status=SPEC['build']['status'],kappa=z['kappa'],kappa_decimal=z['kappa_decimal'],complex_lower=z['complex_lower'],bit_lower=z['bit_lower'],conservative_kappa_decimal=z['conservative_kappa_decimal'],conservative_complex_lower=z['conservative_complex_lower'],global_profile=z['complex_profile'],provider_counts=z['provider_counts'],surcharge_model=z['surcharge_model'],seconds=time.monotonic()-start,reused=dict(baseline=bool(a.reuse_baseline),locals=sorted(reuse)),scope=z['scope']);dump(O/'RESULT.json',r) +paths=['PHASE-TIMING-CONTROLS.json','GENERATED-IDENTITY-CONTROLS.json','mixed-global/audit/IDLE-REMAINDER-FRAMES.json','RESULT.json','ASSEMBLY.json','ASSEMBLY-CONTROLS.json','mixed-global/BINDING.json','mixed-global/audit/ASYNC-AUDIT.json','mixed-global/audit/OWNERS-AND-PROFILE.json','mixed-global/audit/PREFIX-AND-INVOICE.json'] +paths+=sorted(f.relative_to(O).as_posix()for f in O.glob('*-step*/*.json')) +for pid in sorted(set(locals_)-set(reuse)): + for fn in ('INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json','WRAPPER-CHECKS.json'):paths.append(pid+'-local/'+fn) +dump(O/'RECEIPT.json',dict(status=r['status'],steps=steps,artifacts={name:sha(O/name)for name in paths},manifest_sha256=sha(P/'MANIFEST.json'),spec_sha256=sha(SPECFILE),source_manifest_sha256={n:sha(SRC[n]/'MANIFEST.json')for n in SRC})) +print(json.dumps(r,indent=2)) diff --git a/research/complex-571-cold14/verify.sh b/research/complex-571-cold14/verify.sh new file mode 100755 index 0000000000..8e2de47ca0 --- /dev/null +++ b/research/complex-571-cold14/verify.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# Official replay of complex-571-cold14 from data/SPEC.json (standard library only, assertions on). +# usage: research/complex-571-cold14/verify.sh WORKDIR [SOURCE_ROOT] +# SOURCE_ROOT holds worktrees pr568 pr569 pr571 pr575 pr583 at the pinned commits (default: ..). +set -eu +WORK=${1:?usage: verify.sh WORKDIR [SOURCE_ROOT]} +SRC=${2:-..} +HERE=$(cd "$(dirname "$0")" && pwd) +exec python3 -B "$HERE/verify.py" --work "$WORK" \ + --source multicold="$SRC/pr568/research/complex-multicold" \ + --source structural_gain="$SRC/pr571/research/structural-gain" \ + --source larger_gain="$SRC/pr569/research/larger-gain" \ + --source joint_prefix="$SRC/pr575/research/complex-joint-prefix" \ + --source frame_coalescing="$SRC/pr583/research/kernel-frame-coalescing" From c825e501c5525a08bb98f51034e85cc21e7e7373 Mon Sep 17 00:00:00 2001 From: DreamingOfClouds Date: Mon, 12 Oct 2026 12:33:24 -0500 Subject: [PATCH 4/5] NOTICE: attribution for complex-571-cold14 (DreamingOfClouds with Claude Opus 5.5 via Claude Code) Attribution line made exact; PR601's own attribution sentence is quoted rather than replaced, and the inherited owner-map sentence now says it describes PR601's map. MANIFEST updated. No code, data or kappa change. Co-Authored-By: Claude Opus 5.5 --- research/complex-571-cold14/MANIFEST.json | 2 +- research/complex-571-cold14/NOTICE.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/research/complex-571-cold14/MANIFEST.json b/research/complex-571-cold14/MANIFEST.json index e17a7e91fe..c14c65ce4f 100644 --- a/research/complex-571-cold14/MANIFEST.json +++ b/research/complex-571-cold14/MANIFEST.json @@ -1,6 +1,6 @@ { "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", - "NOTICE.md": "77b609689f113c799ef41cc1768a99989dc77459fdae6ae831eed6ea57b00138", + "NOTICE.md": "fd34681723d0329efe39ec8e05a07347c65fc82a985299723cb1ae68095bbc1c", "PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", "README.md": "536132add9c00643aa5508a904dce93161102d947ffc106600e1fcc86d2d1aa8", "code/assemble.py": "7d3b340817ff0e2b9054286c24af622500d31c3b175caec14dacd71e5a3e5414", diff --git a/research/complex-571-cold14/NOTICE.md b/research/complex-571-cold14/NOTICE.md index 4766e9f72f..3b457b4684 100644 --- a/research/complex-571-cold14/NOTICE.md +++ b/research/complex-571-cold14/NOTICE.md @@ -11,9 +11,9 @@ Pinned external sources (unchanged; `verify.py` checks their manifests and every Provider construction is described as typed steps in `data/SPEC.json` (`build`); `verify.py` runs only allowlisted step types with their paired omission audits and checks every input and output content hash. `code/` holds the spec-driven global admission scripts adapted from PR571's `frontier-composition/global-code/` (OpenAI Codex assisted, Apache-2.0): every expected value is read from `data/SPEC.json` and compared only after independent recomputation. `code/generated_identity.py` and `code/generated_identity_controls.py`, and the decompressed-content artifact identities in the bind, audit, invoice, assembly and phase-timing scripts, are taken unchanged from PR586 by chafreaky (`research/promoted-kernel-coalescing`, commit `4846fee5b06af770e9b3a10c36200f673d656725`, OpenAI Codex assisted, Apache-2.0), including its proof-content and reference/metadata mutation controls; the normalization of descriptive width metadata after frame changes follows the same PR. -The owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; it is not an admission dependency. +In PR601, the owner map was nominated by a HiGHS window MILP (adapted from PR569's `global/nominate_width7.py`) with lazy cross-time Hall cuts; this package's re-solved map is described below. Neither is an admission dependency. -Prepared by Claude Code (Anthropic) research agents. Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. +DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 package this one starts from states: "Prepared by Claude Code (Anthropic) research agents.") Apache-2.0 applies; LICENSE is included. All notices, licenses, source pins and AI disclosures of the pinned sources and their ancestry are retained in those packages and are not replaced by this notice. All inherited conditional assumptions remain conditional. **This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: - every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); From 1b795c5d7dea746ba310572585c0ef067574b4a6 Mon Sep 17 00:00:00 2001 From: DreamingOfClouds Date: Mon, 12 Oct 2026 12:44:44 -0500 Subject: [PATCH 5/5] Conditional kappa 0.00162128508944984: exact owner map for complex-571-cold14 (+0.439% over PR601) Same providers, cold_end steps, verifier and dispatch (ck 44 / atm3 22 / jp8 6); only the literal owner map (data/OWNERS.json.gz, data/PLAN.json) and the recorded expected values in data/SPEC.json change. The map comes from an exact pattern-restricted owner model (one helper per port per call, CP-SAT warm-started from the annealed map) expanded literally by bipartite edge colouring; the package verifier re-admits it independently. Paid profile {1:185792,2:32576,3:23600,4:14128,5:5040,6:2016,8:576,32:1,48:2094}. README: new kappa, owner-map method, remaining headroom ~0.06 pt on this dispatch, and the jp8 note (time-refinability does not bind at the LP level; the jp8-heavy gap is integrality and search). Co-Authored-By: Claude Opus 5.5 --- research/complex-571-cold14/MANIFEST.json | 10 ++-- research/complex-571-cold14/NOTICE.md | 2 +- research/complex-571-cold14/README.md | 22 ++++---- .../complex-571-cold14/data/OWNERS.json.gz | Bin 472853 -> 431083 bytes research/complex-571-cold14/data/PLAN.json | 19 +++---- research/complex-571-cold14/data/SPEC.json | 48 ++++++++---------- 6 files changed, 45 insertions(+), 56 deletions(-) diff --git a/research/complex-571-cold14/MANIFEST.json b/research/complex-571-cold14/MANIFEST.json index c14c65ce4f..e405414f5a 100644 --- a/research/complex-571-cold14/MANIFEST.json +++ b/research/complex-571-cold14/MANIFEST.json @@ -1,8 +1,8 @@ { "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", - "NOTICE.md": "fd34681723d0329efe39ec8e05a07347c65fc82a985299723cb1ae68095bbc1c", + "NOTICE.md": "32dc4bed2ec0516caa362a0fabbb6963a8abbe209f03fb6d4694d2e14869ae78", "PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", - "README.md": "536132add9c00643aa5508a904dce93161102d947ffc106600e1fcc86d2d1aa8", + "README.md": "9a67472d8b2486fc2a0ffafa449c5e1863c201b352a7f25e12fbcf338823cd82", "code/assemble.py": "7d3b340817ff0e2b9054286c24af622500d31c3b175caec14dacd71e5a3e5414", "code/assembly_controls.py": "7ec40d7a223b3525ef672b2d491979f11d9be913b90c9fe5ae54160ae91538a2", "code/audit_allcold.py": "e92859025b6e853a8060f5ec63146f8b40ea01978b52b3c1920e2e3a750a7c71", @@ -22,9 +22,9 @@ "code/invoice_allcold.py": "308800f513c73dfb1aacd42e44092b52f5b00e9db45de4fb18d0653c3e97e027", "code/phase_timing_controls.py": "1692ccee3da4b1781408d126ee4999f3e31a505cd83c64823a404033da3a6339", "code/witness.py": "73161e25b354ee2acdfdc1abe0c925290d1e6eb9dfcf2b309f610cb90eaebac4", - "data/OWNERS.json.gz": "ad0e3e6fd1743792257e5e935164680aa0dba832c45daee9a8a0fc985948af1a", - "data/PLAN.json": "5fb7735839fdff4cceeda5890275f7093e07d6b096bbb6616021f4f389dba356", - "data/SPEC.json": "22b00590d773c06292b2f604c449e0492a49df14f7f8744e66df4822cc1eba81", + "data/OWNERS.json.gz": "944695b855d3224809d71f43b33fa2290f7fde4934eaf3a6ea87ac1631f59688", + "data/PLAN.json": "1879679a44b373006907cbca8261a9cd187c7b868472afab04e002bf95331d9e", + "data/SPEC.json": "5c2389ea4c2999d357f1de0390a36a1ed55530d8491c99fe5beec6fea64b386a", "data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", "data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", "data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", diff --git a/research/complex-571-cold14/NOTICE.md b/research/complex-571-cold14/NOTICE.md index 3b457b4684..6a086a0f8e 100644 --- a/research/complex-571-cold14/NOTICE.md +++ b/research/complex-571-cold14/NOTICE.md @@ -18,7 +18,7 @@ DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. (The PR601 p **This package (complex-571-cold14, DreamingOfClouds).** It starts from PR601 (jeremykothe2, `research/complex-571-hpem46`, commit `529ab7dcb59d5ea7a5798e9e06cf5b3aee8a1550`). Everything above is kept unchanged except the following: - every provider chain (ck, atm3, jp8) gains the typed step `cold_end` (`code/build_cold_end.py`, `code/cold_end_controls.py`; recipes `data/recipes/*-cold_end.json.gz`); - the generalised native chain and the global admission scripts accept cold helpers that end below FULL (with `0:U` wrappers), a refactored exact cleanup, and check the wrapper order; -- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map (not an admission dependency); +- `data/PLAN.json` / `data/OWNERS.json.gz` (dispatch and literal owner map) come from a relocate/swap/ejection-chain/provider-flip annealing search started from PR601's map, refined by an exact pattern-restricted owner model (CP-SAT) with a literal edge-colouring expansion (not an admission dependency); - `data/SPEC.json` holds the expected values, recorded by a discovery run and then checked by a strict run. The cold-end construction (a row-plus-column cone condition for low-frame ends, a rank-0 dirt-spread premix and multi-gate lower-frame cleanup) builds on PR591 / PR592 / PR593 / PR601 (jeremykothe2) and our PR599 (Lean: multi-gate and cold hyperplane-end tails). DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. Build on this at your own risk. diff --git a/research/complex-571-cold14/README.md b/research/complex-571-cold14/README.md index eb8d33e59c..4b0ecb09db 100644 --- a/research/complex-571-cold14/README.md +++ b/research/complex-571-cold14/README.md @@ -1,19 +1,19 @@ -# complex-571-cold14: conditional κ 0.001620147045734211 +# complex-571-cold14: conditional κ 0.00162128508944984 **Build on this at your own risk.** DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. This package awaits independent review. ## Result -κ = **0.001620147045734211** (conservative model 0.001620147042858282). That is **+0.368% over PR601** (0.001614202339036103) on dispatch ck ×44, atm3 ×22, jp8 ×6. The value comes from `ASSEMBLY.json` of the strict `verify.py` run on this package's literal owner map. The paid profile is {1:185869, 2:32471, 3:23609, 4:14128, 5:5040, 6:2016, 7:6, 8:581, 16:15, 24:1, 32:76, 48:2039} (live 7168, deficit 2560). +κ = **0.00162128508944984** (conservative model 0.001621285086572193). That is **+0.439% over PR601** (0.001614202339036103) on dispatch ck ×44, atm3 ×22, jp8 ×6. The value comes from `ASSEMBLY.json` of the strict `verify.py` run on this package's literal owner map. The paid profile is {1:185792, 2:32576, 3:23600, 4:14128, 5:5040, 6:2016, 8:576, 32:1, 48:2094} (live 7168, deficit 2560). The complex side binds: | quantity | value | |---|---| -| native complex lower bound | 0.001622776181770995425298 | +| native complex lower bound | 0.001623917923365483031492 | | bit supplier value (PR543) | 0.0016538 (`bit_lower` 0.001653826988146798944268) | -| κ with the bit cap | 0.001620147045734211 | -| κ without the bit cap | 0.001620147045734211 | +| κ with the bit cap | 0.00162128508944984 | +| κ without the bit cap | 0.00162128508944984 | The bit value is above the complex bound, so it does not bind, and κ is the same with or without the cap. @@ -43,7 +43,7 @@ Effect per call and per provider: - the paid local profile changes by {1:+28, 5:+14, 6:−28}; - 14 helpers go from width 9 to width 4. -The dispatch and the literal owner map are re-solved for the new widths (`data/PLAN.json`, `data/OWNERS.json.gz`). They come from an annealing search started from PR601's map, using relocate, swap, ejection-chain, bin-evacuation and provider-flip moves. Every inherited window, family and capacity constraint is kept. +The dispatch and the literal owner map are re-solved for the new widths (`data/PLAN.json`, `data/OWNERS.json.gz`). They come from an annealing search started from PR601's map (relocate, swap, ejection-chain, bin-evacuation and provider-flip moves), followed by an exact owner model that is warm-started from the annealed map and restricted to the patterns of that map and of the LP optimum. The exact model holds one helper per port per call, and its solution is expanded literally by bipartite edge colouring (Kőnig). Every inherited window, family and capacity constraint is kept, and the package's verifier re-admits the map independently. The approach borrows from the uncomputation literature: Bennett 1989; Gidney 2015 (borrowed dirty ancillas); Häner–Roetteler–Svore 2017. @@ -103,12 +103,12 @@ All LP figures below are first-order bounds. They come from the aggregate hostin |---|---| | LP ceiling, fixed dispatch (PR601's ck 45 / atm3 21 / jp8 6, all cold) | ≈ +0.49% | | LP ceiling, free dispatch over {ck, atm3, jp8} cold | ≈ +0.71% | -| this package's literal map | +0.368% | -| remaining owner-map headroom on the fixed dispatch | ≈ 0.12 pt | +| this package's literal map (fixed dispatch ck 44 / atm3 22 / jp8 6) | +0.439% | +| remaining owner-map headroom on this dispatch (exact model's bound = LP) | ≈ 0.06 pt | - **Free dispatch is jp8-heavy.** The LP puts about 70 calls on jp8 and about 2 on atm3. The LP's idle remainder is pure rank-48 idle children, whereas the literal map still leaves some rank-16 and rank-32 idle children. -- **What limits jp8.** The time windows do not limit jp8. Time-refinability does: within each owner group, each port may host at most one helper per call. The aggregate optimum ignores this, and the exact per-port refinement of it is infeasible. Literal maps for jp8-heavy dispatches found so far are worse than PR601's dispatch. -- **Closing the gap.** An exact, edge-colourable owner model is the remaining owner-side lever: per-time Hall conditions, or a pattern-restricted model warm-started from this map. +- **What limits jp8.** Neither the time windows nor time-refinability bind at the LP level: adding per-pattern, one-helper-per-port-per-call constraints leaves the LP optimum unchanged. The gap to the jp8-heavy ceiling is integrality and search. The first integer aggregate optimum was not refinable per port, and the literal maps found so far for jp8-heavy dispatches are worse than this package's dispatch. +- **Closing the gap.** The exact owner model used here (pattern-restricted, edge-colourable) closes about half of the fixed-dispatch gap; its bound equals the LP. The jp8-heavy dispatch needs the same integer model solved on that dispatch. - **End dimension (first-order).** Raising a unit's end frame from dim 4 to dim d needs the last tail gate at that frame, which lifts one partner. This adds 2ψ(d−4) + ψ(9−d) − ψ(5) to the local cost per unit, where ψ(r) = r·ln(73/r). That is +6.8, +10.6, +13.0 and +14.1 for d = 5…8. The remaining hosting headroom is about 1–2 per unit, so d = 4 is the best end dimension for these units. - **Necessary condition, for any cleanup factorisation.** A helper h can end at a frame U only if, at the end of B, the supports of its row in the inverse state map and of its dirt column both lie in Q_U, the registers whose end-of-B frames lie in U. The transport checks this condition for every low-frame end. Choosing which units satisfy it, through the premix, is the supply question. This package uses 14 units per word. Their optimality per word is not certified here. @@ -118,7 +118,7 @@ Fetch the pinned sources exactly as for PR601, then run: ```sh research/complex-571-cold14/verify.sh /tmp/complex-571-cold14 .. -# kappa 0.001620147045734211 +# kappa 0.00162128508944984 ``` `verify.py` uses only the standard library and requires assertions. It runs these stages: diff --git a/research/complex-571-cold14/data/OWNERS.json.gz b/research/complex-571-cold14/data/OWNERS.json.gz index add4941092a03e8455b97e815971c59502f306ed..ffc7a26ae10b2917673a6553839a9208a960256a 100644 GIT binary patch literal 431083 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 z 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

w(NdBFPo5 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 Xoyun;}}YQ$>j?haW*L292Y3 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�uzHS%P0ZMFy!;E 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

)e-#%yxu_)03vt=V%@wG|Zfxe0mhF@@FS>aE zh*et%Kw6L5EB#*T|ML|jyWAslW`FGH{P_XgfnJ3hwO@{;S6Qz@fWi_$;!=t8?Z*Yw z-3?e|iAA#BUGr)z?*MQnkcf^(+R`KF$6ElN!2YBB^zQ=1C>YCo2k;Qg1d_~H=aMa;mm00~RuLFuEcd}NZ` z$wrsP2x+!|yoBswsvMeaZESA=lR%)Tf%WXW({BNopDzHV5hvN&s|Jn3%LvGIha@hL zt@Mx)=trPFn zP2;ZoUhZ&Cv4 z5zsL>S~O0tK8m$ya)RyZ_LP*wE!ywJK`aEC<(MQVpcyJ0Zv_(_e+F4Um6#chH)+B3 z5jxc;g!)X;=EW=21BvVrMLaQWer6@-o1k`M5fwlx5#Ln@^WKE6NOx;W_u!Zpu~WmE zD3fx(u&g?L;YS#YVHKK8@bvb8%!d9SZ*PKJOUo;ZP6;82X8seqevWv%GEbEGb0Pa1 zfMa0_gqm!eN7>Rx@LmfA9kDfiAi@f%Nry5$Y9$iWvuKW-CT+o}mB|Ys6(dm{_DoEg zul((cQ;4XNF>r2iHrRQ5j;xlLV5`O)wN+9pldo>UgYTkHgeOo_^ysymWTN0#Zp_P4 z8=ORObce;kz(9y}q>~rsWpw}uJ3NB$7M|Hi?G@g3F*m?2K@NoYolSMdE5h%hRo2La z5v}ir=D`@n0vR77v?d;Efn4mAVSQ+cQFv(hfl=(1lFJuiEXO$`^x6O)e8S0qaYGy$ zqRm*bQ$?0Oj$|z4A%*DZ^Z7#*o$T&#et4!KJ$n7cJ{3CRLKqxVy9C8B{4>aQh@HZy zHc3cvkXE3%bB|tZmQu$aVTH4O&c3u@KQVXU^ipBynPbK|r3EWbG0-InLs1w8ZIg zuilVXCFqr&4BL50PqV4?m7T&!GfMTFFK~6dc zM?lT5^$7wYzR?KfEZXH1JEqGB=#7*cJKN>VS69W)FC$V92YS^Qy5$_9ZM9wnX*2YV zjE^QRVAn1q*|;@?Iop|a@^0gH(JsL%r3d00&9tWBDiR)$4jzrb_U6(a^cwjLXBUA4 zP$SyOVTKt|gi_$Egb%Zc5wX{@6GQ#&Oj?1QBNktUO=^C)0&#+pwY%tO7vznoKS(?| zWT{!jGT;n}!qHagPqp6hBwQB~(8PFH#8n~G8e3+DtdrA4tktUcCMQzy4M`^_Cb-@; ze9a25Ye_U{L(<9bckiDazy&xhKn#Ve*s(#Z^;eNXhae@V4-MUS zSF%65fLLeV0})lTtQHJ^w%oR^1;c7`NUj*0>99weoKc(OfC4?X@ErxG%|+X=T0COu zbAni!=#vx0{vpY`e%tCkD-auqS^Erx_ofWl#h6$m!i_~3JJd$7vrEpXwXs3OjZAh? zPSMT`l&Doo;NLdMzYUWk*QP0#VfpE!qQY$7PMa__tDqVQ=DS9H3I!r(`;umA`e%4o zz{do|=pc$2;w;7k>?ITT!J_?XGx-V2os2=KZxNbYO_hJq2x)}=^A=r85LOjyL~)sl z)=({GM-6vM5A?wKs)ZO9M^UPPy87t1Y$6e573T_=s9EBS*Fw{_97XW$PeuS1V%fa2 zm?aU~1;wiji6|+GxZOZ4Xv#e3E@)%sUPND#fLBr{F`E_;suEtqNaGYwLTZu?y*5|~ zBLprr_K}QoC>e^%A%>GyBZnAEP3`xREB%88e8XX@W&AP<^&NmnT5e8l_0;swSFwli zlbxZZ*h^eRAtMY)8FU+`nxxbo1`oQ9RKlmG=T!^K3#Ywf87)9l^x8$(!OuRohQyQ; z`lVPpI?efv8frtME7$mWP5`LQd!WU{V!lq8bf>2F@IM5l0}ODZbOD~jafD>IUsCeH z5nCcN#*mqEY$_Mq`kOSx=vhK;%IPA^+8*F^2T}Q^vQvr~8rIDu>o!FA&0T`_)GBxl zVlLW(t)XGPC@GdCDTWu33~~+tARPo1uL&BW5#3No#gL$Kf?*Yr@r{^z$Q87yQT6Uv zT2C~ZD5oC&O=~ z>DbbSD^=75kyN6S(xobVUCa;hT|_k>TjFrVYBZHa2a(XpcIK(f8g26_5(b7t`UYY+ zEH+Xnt{?{so@ycvqXcU z85@n*wmMs><>>>beA%d-y-gF>ssVubCg9JjVuv*?5u*&1-o@=wwfg->m2gCbf;%3= ztvM*(ktP0>Drm+q2WcN;K(s@CHj3{e0dP?H)sV7sltQmwMbi2+`U;}L*CLFNh@&zB-VN-!wLOCI?za3**{05SxnMM5#9%_z@(186^XQ@ z?&68&6uoI)+jEzQjQB1L9P#z0VsMJ)2uXcR#7Ot1>3l`8kI6OL2wFmF9h~B@H;wQo zxB#(ot|F9?N0&)=Vg5HnIuyFeM$-6VFEOLYC#9Lc(>d6G+0K2q{f$~UNNnyVYJRmE zJ{0exH%ykhX_FPJJ&#D*7&vV1CZ>u}D_OXm+7SiR&%Bl2YNsOVfa8(MTUkZ@OGJw= z+JOAazW&oaaN@8bcc|OYx(7v=GV1-L(c5gA-pyr>1TWJfQ&FeOpmh_ApabN0lW9&@ znJax3c?)KsZQ_sU)Pb{=-bKxuq6#4jp$68@oyaRECC(xy5vzqU=@Y2U z#Jj5i#9rcXb+U~S1;F$r%=aZ=FRdAU2u%U(18(treVivf&U_h$vXYfU6aY~W82Ed8hR|qFT#7-;Nq8MGjSpsxbsh30^LVmUueZZN;>(Izp z5(SF;nZn|q_jTV-0>MK!0^+)N@jKM^03~p|QL^eTtzcgr1aM72s(Z4Rk!x~bAMiKc z52KUYGiqP-Gl`{tj6#|3LdgUI;ROt>YVz7q+;kZRT?TE=lB4tyFi%75L-+NEKp;$2 z2c@dC16y+SDr!C;g9hcwyUJf_MU*swa2l;ZE1YL>&NWD!5oyj{bWkZ8JmNjHq0I=BdRjk+OB8PFl>r%+_HE zK}*2o0NE?Y+SnkV_UD^VAe$Vyxn`fLcU0sg;E6l^0zsD-K?P z_D?X~O^%l$8pms(EVMctNapG(7SP49rw7$-)Kg5&NT3Ky!$A|O!1PqHiN!(FAjtGsE9LbSAjqnhU%q#+Ajm=*X!(k z5(tBA$!GuVf!}xZ;?NECN02JTvinMJXE?NtE!(ZSH|Z~jO(3ZX+*K46}Z$}zI&a}9(z*C zj*)qZ^>ZyGuxMQ)kl@N+7OndsS4@&)q0cZh>l-WPNw@+cT=%7g#aY84Bu0dogveQ% zQkd782#JqVOlt3{Y?hk;&e+5{M>0v@n%_WCktUH)0px zsF}4zC#o6%!O<)J>%-F?XoHr11weSvaoE|WfUFv@jH04$M@3!QfUS|5R&~5UqJh|0 z_A`^kK5u0GpwvdBb9@rKndT2#lw!eS;2nXYE)rR)I8mY-PlO|R^FO2;Kj)wmvkZ|q zE;3oH2*Q}yPaNO4i)RTbz07w9;mJ}73uK)(K`Wg<7(V~dRK-NuFirKQC5i5}4hEit z-kmmKiJOqMYN1m*&FDgE(usT5o@Y|XYKTU0YrpIf_(K!LsELA~!L*iQ)KV13&T==@ zfpF{MK`0J6)}|~8Z-Z%Lmb>a5I=exgT{;NbnB}gc2!ozQqo#%{&@x3Y4!af|MS2@d z>?jtaV$e~2VM&voQG22j?_+e1Nn1`6Mi18^1N%f?HM)9GUux!X%n=tIE#-HLB|`SRlWN!D+|Bh$4)Z_R2KHGMaANX zVNgFYX#rYL3@?Ud3W^Ae@;?4>`t9!ru_G+W`~1U$2%{##Vc@vUyU6e>K21q&l)xON ziz3@s55stW7m~6h*9z$3yI@YbBslPMSN)v5R5hKFMPp7a)#W?mX6^X2Cr$-UBgJEMg$= zZ8n6Wc#1H^VlykLuZkkao?1xk#frhHVhF4lQtT;4v1Xw?n6w94@f^EWF$}WhL6v1k zHp|h0!fTD3O*qL(pFvZD7)7O~Ao4l-v3QC+zuN4Vc?_H;rZ#=v#b*H}*OPWY42gG2 zO;6E8+9(SdHI96imxAR+8|D2rI1L_A&Cyjqmb>XI&`BBvX1onU3yW)%5=BHskwKIX zQ6%TCYFqC-2GYBB(U4^qD_195Tk0*J9a(w}vI{~%sB9Y4#6Uhv9>g4LfL*Ma+~{E# znm~@8AiVRAan|IUa-=auKh@F-5`|fOPmIdr$b62^TZ%uRk|v>&=r(G^=YB<`fNY(h zs?=Q<`79q8h5az@YRn?QC77r4l9eO_JwT+SEOu1!$=4y^6dt`UXzlApcOb&EJO`B=75M{Pu9; zeG?`HB+As6Ryc`SMN%Z;6=+G~-o>Dd{Zx!b9|w1(zB{_TJBIs0-t}|0n&-pq?%&cKH^eIK?!XEQ%UoFhpaPF=}IPl$s`p zCKT!gbXq{%Yr-5iqhHc#t*(_PwgNcW6EUX>Fw5WKMA^-vdMNv9>&WC9#5ISZ$ z-)DW)O`CKO&$*&~j$D5~29ua1NaF~R%Mz=G%%cjPwqQyLihbd75aeo<=EK7 z2-ocUyq8vBi=5}FXgRyG*ym*1_jAw(IYFR)U#Lu$BDapz^9&nm;r@r}dCw*+xQ`3L zf#F*9yo&8KEL~CgJzVT4`Y2_I-+Wp?U|>viEhg?-wP2lq`}`56mMUAZeoqo5S#%YS z9mVh}1neRj%X!I_KJeJw3T~*Rxpa%c{ zFlM<>2#R;mIHhR_)(w%#vWr4ZBz8@3m=KvPtCyMx-%{%jYMgFl9_6;}qPP9J1SHx{ z)P)J;u^jjdGm6K6B0{4TjQ>RMdrO7Gew=aqi1i~vfnmFeAJ2emxF&xCGqMNX_ z@j^uHWuU36Ax1JpW0qB;l@ZT2`C&M-SU%_3zGv$g5x+hOMuX8s1%@mo2!T&iaHe>+ zWr@%Gc|T+bl&;grQM6_G4kD$79vww$Zi~JwxrT*KM<)bzH516r zu((ABzg~Nw6Or4&uhSMe&sl6^ENWxWXAnm%AC&O#NkWi%UeJdSlf_xYry)p>_CP}^ z&Z7K%(!`Aef>u3y4V6T%Q(#QoA|7Y&+S`EX`og|$BA3NZzU#G?BBrW|5iyaQZO z27ZR7ZRYqgC30C#0m+M)Wl~T~jLO->m{?7e$mh6s_z;?nBbkoJzu#~F|L^~QNA4(0 zgJe@TRFyT&Op~TO`U;+t=+wm_2ScrgLxkUpJs70r$y!-bu1bJmeF0CFHjH#>Fd|9# zL?W7AEFdsVbh6S+=@hKH9e7w>C{i^MA~~c{ANNmg?g7#Nsdk^*J-A#!d(|@is^p#q;72Ozfi#!>PAv_KgI{I{SU3j2lsb->^Z5CJXvo@4XZ3U}#4hH3?911iy+gW`O8mX8fRN1s}ID0iKaLNkM zOtwjHQlGW2u&|Rk7Rqa%sZ8_LK=LXtFw6@uH|$!SbekQ5rf(+%3LFGvGQ9|u*(=ld z=3zujU2+)@%}Mk!K^^Z36oH;RJud_(F79I@B+fVT>X6E0{m?yHSJ{EmM6k7nz73?^*pX%1HQc@zOV-5KDOfG7i9)7PTf)Lk_)6QzKT!&dmvuWb zEEh2>$sS1~SdQu@Y}^E77rI7zU&TDdk?-tAvUOUv7{z?`WYCn_(bO<7)xzn=ZYpw_j!xUf_py@{h?5VT2t)Xrfb zo5?%T&P~)$j9Q+A=U@^@wO=&V^$g)j)G$*UhUXxT*n?5clK>4x>VcRtpXp5F)m!+g zZXq#IItW@f@v?dZ5eOvO8rj;$&{q#i&epC>--GDJow!QoyDR zT*`37rm49Wvs8qmb#F9X(qKrlS~e179&wQ=$|7a4t4~58zBbOc`sb#?H!pJ_I@A-b zRFTJYsF_wm=BcUSv9j1k=_oO6 ziArTTwN2P}5otbI8mgJ%ZO|fOznd<=$h*_X8!~m3%H*y1EMZ@DEbOA3sZ6stWqPDY z7M(=oG7Xa~1AFl#PD~TW!fEU1(jJuC>tq6g+{)o%wP3YOIgx4{1P41i^29rV<>rC> zSvYWrrSmEd{vBa?PHyW%G%73h4?2M#9KjD`is*;p3aFpwNck42Ox1p#J55>;xQ|Sx zQ@v2!0s^gn%N72c{Ws|&46kKs3p2Hms01>#eqvO6C{7j-{me7vBxrZq7j`(Kf_`tfsNPt(dSH zb`>pf(t?bpqlIKOG!i&%VT1i_&eMKv7ZT^M(GjJIoTfZf^2LxalZ4wEqSHd^Y+hc6 zcvlSTC{ncYbHT8i!hw2v4Kvm=scF1(X|6zmWRHXS;?i)6)jED)J0%i2jTkkE86ZCk~N)UkT&f&FbHH02>@ z-sL8LP?I0#3|o^J9@WBuRE`sS89Ov*U9WD!BDrg%QS8((%q*PHc$SaG6t|WU)OW4(_f&J^Sh_$BG(bW{8Q;L9u z9&4r*F2#@#bP_BH!>$coiZFgdEP|1iqBYl2W-E3$0~>2WW{TD{s%I4_N5C9MvnFfe z(B%@D^E}gu64y_lOO!hshP`7OtecNUu(1DhH|ae?^gO;m=s`4CR&!rHiouCaWI(P^Q#mu>tCdEF?qz%K_Gx#ff=fGVP0Kx~|pPmzcT-w}9T8-W=b{GXchHjPVC< zj-mP7aD;x3;yVQ-fKDU;It-c+=ct}XQVMsR5Lx7fQutLlL52RD z^eM&>+hwl~h&L0GpT++S2{9>(|J^jD$p^BdMzY0)59Cd8iRiK%jlP7|g`Cw)o?5Xu zx3z3yCSSyMYkck?I*>HevDQfK$-w9i!K1bG>PX{+0+}+Wj&yZyIO$sQkrYSSql!Dkw4rl= z6sa=1Dp5%qnVWV&Ye81!MvOf1oXV_A#g<>9#z=ylS$(J(YQ_o#|AVk>wUwSuRp z(zt3o%07udN7J&YRoGP&>_V*5Sd(@^BN0ZFXNCw%M`XMqUB>2VW>|&ildXHwd<6M2 z$0WAcgA6j`IN=Sk;6!~7Dy0k5A zOp~*y?mQA%wzz;P;hn0$vxA4JttB- zCIXr-0wE36NNj72>s>@BPvr1?1t(fUmx5Cj`ZiDnB6&u$HS2?26ub68c5QSkw`hJ) zo#UfYleeTLq&B@Ri{ltUgJ}sO$fvAfh+y^Z^iXY0i^7ZNF`Uw9LNsh~LQ}mGC^MXm zcVVAGbpDn?jysJlF*fzq#F^nLj%Wyax3DSSoBbv94(t$!a_j@;mYX)C*`uo1^rJ~p zZ=(3O7kfSn*D&UyPjO@!&R+whqQoqTM)js4#dlTN(@0Jc1s(gDNi&Pj1W0cWlHR6W z5GOQM4m^!5gQPWkTYovW1W;}eC>Qm=n+Eb3)rNRdmEZ6%s6?8m<}Jt?a7vxJnFKVl z>J+`x6dgZ=XcyC~X91~(z7f>X&qSK|HD`iOcvvz=un?h6W$YbA2J!_!Ce2aUFRHdR zNZy$ASlakc$Qu)di;|cV-KJDpW_3QYDTl=tWG5cYX<`^P6l7<}*Ps)r&1lNNWD-Wx0clw#Aq`w)*Y`50tOPPbCi!u^0evfdp`kkZvqKBl|I!M;@z zdM0%UQtw8ld!h9oKY;4LZUadZaLeoLB~z9ruy?vCX_oZpzb%`x-Z8CH&O}ikKt@oUTh@J>}>ydxiV|ZTcO+0jRD32k9rto44O$Oag?WWL@ z$5qT(5*7cxjsl%VP5IHimc^Tskp_Q=tqIcZ+7jHz=?f7?U38YY)L8=-I%)Ugyt1b@ zo7uZ;skK{O?YZQawdzc(L(l)Oe((pX@ACoR=bR zC3nzw&_r>oR?*mfO`|?|PHAGhirS0336oF4`sGb{uOWi$|4=Kur)F3EN!~bL^F{&? z7+Q|?p@qf|y5Q?|2?Vw?YIdEeGyOs{eZ5z6^d%ZCL946xD7JZglkXS4)Wfw>%BnRj z6_nJ7A7WYEdi4OAKxV&A7_9+wrjg;C`_NF2>*_qh>>icHsFXt5%t<6< zmoc!DT;QnJG&EdKSaBPWZA;o_9f>n1vcy_N)o{q#Xc90*)$pqwm`|q*A8Jh4&K5II zC6~3x=*VO1=X5kD+;L4ac}!0#tHAl^lJDBcU*gqO{Lo%n(J=HhqXK zLDEN+xwMn41n_lOnr`^4vc4Cob|WyqFRi4$bU~X>%M(ioT0qxa)LSukCecYlBe=d? zQ_Hzqg1tj08tTe*kt?%{k0epp@IJ289?81_Kt7E=1o+W07}5eRClF6qoFs)ofT}gM zt6;T634J}jN7l~*G^5rT#hx=EM~FApmxgh?L^90>>4_|BEL}v8nVi+WyHnpCqw>~5 zVs-XFzFSG-xGl!SYBfKQCzPXMlCVVpPjM4aV3GGA{_}Vp`@L1#jSZLM3La_#42`5)b^GVwM!d104flC z2oX%)G-zY4;@kmoT-b8=rq$7-DtL+^!4h2=9eFXmABHd0$-^Syey43vN7H3PK#~E$ zOvRhZtgelKChD=|z)q{T)Fcmfv8zNRDLM;U!nj5atKm4H?}<)3-b4@U=Ed5Dl%hH^ zLcD3notd>~60sVIYWdzo<+52!+$m{o=xXAo!5T+a2M?4pB4)jnVU9#@m0iX;55*D(-K5dOpGE}gF+Jl&)vqaho<*W zL0;P1=vr#2W3lNy5%2uN%W9 zde^4Yqd0^iuS#Dyq<4`NGpg^@qIZf`@TYY(a1cnY3vJN6YqRN5q(KaXzNdA%5t^g* zW!ePNzvN_0yWk?FI=w8)<0Q(1`*3E(%&N7`yRCJj5bYZ3d+cH@Ge{_F&=RycjL#xi z;v0MOfJX3@IFn-94SMGXY$F+(;E>vp6>}8CE~X6RAF)xP$&nRvYBr6k=mc3?BYwzT z6`d%y{cO^gKnY~`rDgJ?n8|k|Dnw9x+7jOQ7R&Vj;GIV0I1BJIFD8n)6YvH}jT-$j zJ;V(1?n|Jb@FYKB{1jv^Gk?7e45;HtU?$ApLL19eEv}uqkIqX7t+q5Pb{ZCS!zqUh zEr*O^nLlVev=C9{q2a$TRY>v?LP5nYTENssrK>uiahbYHAaD==wLXsvo9iOWkVLu&PPl)1dLgh@-#>g$Z^ zYn}93}jKqG*`Gc_$3uZkd(y-rYc%%Kt1TDccY#tHl}v>My9m@}}i zb5hQL1ex{gzRnMyms&p7Xd6UX9xGBqaD@MLAn`N|ErIN-Sl^OLJQ?}ANRTPQNz%wL z6n|gC^yJ-F81JP-BDl+k=(}}mZS$Z#QH6QZE{Ld}UF4Qeq7EWW$%k5AR|%Ahy0H8u zG}naK)qXgY_?xyt(@vYo{N+X4NB@GMdG%T&QUd76mRjLdb=DzGNRjQzxGODI9M6WJYQ@c8~4JxJ( znD6Vi5nf0xO#Y+Ywln|thPyI%bEAzozEMGA_q`E=6NWPbd`&_j(44j(h4!RDS z(bl+H!6V&AdTsDJMbk=Z_hLN2fQ0C>5ScPr3`oS?8~FQLKpe$RVj7)>lQK*qM&f5$iNh67ITD6FeV&;glY7_ zo>xoor<*`Fy`64^mM~tH4bO2z&5cfHLBsFNUR4bw!Rw%-ps@!ni-=opuW`1544L&S z?X`F(a&{te;!)_D4$rQN)p1*ApnzkLZ;by+U*~ln0w)k2I1LNr$gER4Vb+WX6A7)c zc@2J2hRO>XW4v8Ue5ZoawytH4eb%xC!<1KMnX)VvlIZ0Wla8X8H|}E2gpiGFo0gyvWOCMOh!|wujf~oG4ZCBjwggL>j3PHB zT=dimEB2RA*R?mNZ4gJ)#dHC$1FE2eYfZ*#wt{UPgqVhlO~zI1uO-bR5qKV=U5sTd zAfWSP@)-~{CyG7BK#o+jpsS#Xl$lrS2V%@2q%l-h%qJMv_mDs&Dd(uPMQTnhBDhiV zj2=!Qy2b43D@{}kLw0$D{k9OydROVf-b&C4RQX1$-HAo5zKIjj2$$HCdG|s+(ny%K zZrTJbHtr&-k$BzSky{?20e3#&b-%`iK=qHW5*phpp^>V4E9NTLclJ(Q-!mn~FZg;t z-;x340F_)66kD(Z1Y$v~zXS0}j6PaEM z>W-{M8&pLhDdq^cu9i_48KO~eO3kWz+|~5gP*Q0=sP~`ke8GM*QP*C7a&_ZJt@mq7S5McAY%HI3zl zIE)#^DK$bGbJC{}=`cm(AXWpG2tJrBm=gp+T zeu|hzs|JQn^HKT=ni|jTQ0%E9NRx;z<53J;!mO_WM4BKx`$I z5L4?p_G$&OXe5`IG|eduA^I*B_Jq6d^i+#%nANH&3uOzGy-v}B)mrT+3?$DY1tXT0 zJ6=k3oAN<^H5ijbvzRQ7 zA#6-y$l?2R=E2y7Q~K+DoEQ>v^Db!mI}yb+0rlv+(-V1ijOiB~>i3+HWKGTJIBGfL zWj*=tO5%kWG!t7|w{cd@ljuH>^i1sbpWFwZBu|EVRBWc;iXxzaOunJ5HE$d>)6Wx%0s{ zc)}vSk2V)J_{4!^TrJ^=ib)mJh82kJ7*xaEYyz19c%o5>roOc9_TUjYAt2enw$ju@ zTwCoV9`IA^bBXDTt4QK}-VjB$C4p(0M&2BPg@wyBr(()(n&SKA3V^Ii0|#2cJgO7+*U8gOOdyZ?2+WsFv?X7~ z6lIaH3C2ayFNo+bH{W64)TN_FBa)$x>an{P6C6!|y`#Dda-s6zSY*}1Xml7cQ|uZ> zV%9>!OmbMH&!7pt&*DKylr;&O!*;Eca+@nEfKFsWrHJRe2?-O2E`v{k)@I)GDotqb zw7iC$4CFygm6dn%NDq>fMklqd$%@3?g*14eU=zp|T$}sMT3lu?xz)($@^dS>o4V=e zZW588LhL5p#N|a}SQ19;QsI=Xnk_nIizq$jT9S~vT0LUz@r#IrVi&=YC*7TNB(wth@>zJo z5q0<{Vav4wx|*t5QYU2*v|Q_?L@y=?7!SrEJ&~c&O^WegP7+n=1R4~(iq)WKPTWv} zD4l|$y>o7ES}BQ=?wjX+TGe7!9dsZa(AuVvmo({E#rN6Jcf?4_BgMFA#ScNrV&8}s z%dU9{7UPl=XMdv*A2Oc~D=6k^L4Aych&|*z9R^OtxVX@jX)HtnoOw^Pm?AvoGco~3 zpfqS|Ve#$|tOvmhU4B#|MAp-Hulpx>QWWb2l5<%L0@B$5sNIC+cn!;R5u9KETkB?3 zb5+u7HWV@$?Q^f;t40pyX``e3+t~nUyrOb$x>-q7OoV8iEr5P&{@nRhK&4>W0O;~r zfC?U~7V_U2nuvRjYBP&!SA3m^rpp;#9JWv&r6J2^jK6#u`_n-nHYm>hh6d>$S$v!^ zBJ@3>Xh5>l{Pl>i-sJZtGBJthG)4Kno2muNXLC%_rf5Chz4$yM^)88_KEUWhmLU3$-{ol!q<@hI6SmW)Mv%|DA;Z(fAU6Zt0a0;s`mO>6P5Ra-)muW`p7!qO0{vx-g%EE+t~k8GX2#=UqNpB}=ZW)7kyk?C}Lo@TL! zun;gg(&3RlGo5A;D+r1agkDBrr8ChfihH2=%plL{1vP5LE;~3YQ@)Cz(WOnGM-i{s zCxL@d40MSD=<4f$%=oYB5o+kAO?U7p0&;5##a?_M&A6*I z5y*{obU&PhVmrkNLc9q}u6bL`Do~AKV&tuD?MA)*4nVsIK#L&W<`RPT_D;ay318}s z><()or7KbF^s>Lj3i=io{uVdS6y^(q+*_?_z{O>?u>;HKgww^G#|q+IN9W>Z9_$IN zEolaKnY$wAY7^&*_F-Q*uH01BND1~%`+#(p1C;iXYx0~(C!0j<{F{l*#_Fe-lhC}_ zay60ga{DRb-P*Z#+6R|D#qQMs1o_@i+6FB|W^o1*sCMSok$Hrim%|eFtmbc>0Ce;r z#^=5-H>e?8LQVupm}#J$DoSET643w&SZ5QUhiTx|rXv|VpjNLT>*dsHD)ygOBN1^r z3tgiFTCvr%P^ot;H0H9dDHeNiB<3g`-4g+w)-@54qBaNu5#u?fQ7k1avAs^;QMW~94G{SMv z10gbEX1S#M+347i6mvR_qt|*2G08;{AvJd9#Y7Q!3qS@koItHqLt@MkT~!5mkqb)< z+J>pEp-NC9ud+!M-Psdp7Qe)Jw z&EgzAk;3{_?c;G6noy^e^~i|VkCZtZqQt}~ig69(5+^sK&%QvT*aLkoCUUyRoOB{n zGu14@@&_T_j1R+*4#O@+=_Fi-A-CSfl;8|&RR`E8%(hWl+=keFET&E!OWWR&u4F^w z4|)}Fc93&6B+IN{VQu|Hk-(~obONVne_>Vqo1a}sOr^_|7h#J;HxPtrQ{)lOD*Ufe zJ343$Vgs@|Kkh+Fd8E}hQ^U7dHHRD2h$Z>V|3RFwqJ(F>iw!uX)5x4Tjt0t_3pl{- z$o03mM5Xgy6{8_Y>ZZ#nl4qh?UpdZc`XEKur3K1c84wU&*d)Aw2V$9~CR+RyG(ZiS z*)1_ndNF@Vl8oc-)7dKMU;a`Kl2qVP28H~YQ(3X9TAtLK59)iY{7aC{dO`zsUI_Yz z3>wc=NxIqnc3T zs~wGk6H;kTsw`R6QB2ZN#8O+d3yP{@7Ud0rd?HhsG+CCoMIOsQTA7JdnyL_g;I;hv zEEpR^yP&8xrW@HS5*Bl7YL2n1d{>ko?^Nb)4eB$igTqczf`k=EGR@H(qk1P$^x2#s zE?cxk=w+%U`63YVYirI3nN`v)wtk3u+?xi4jN%f$QK(O3XtV@vSW}%Mql{dV26~r7 zn?8Vi#p|qw3^F!$#{1bYs5+xq@7~~vVENucWqejMd6ISv)Ew?j1^M*qh=7PJjW%M4 zBZ90J`ilyEltORfuqLYj6C9@p?E;3!ahPCcb%Hr*f|?wPjh!iwL-z_CeFWjcQSq6sA!*r<>}MP>$1! z;xvZHvwcjjIyGSb4V$4@RdpL;|E>5`Taim|5g?v9;Mm9Axk9FU`&1EF#9l+M+dRR)b}6c1#)E$iC(5Amc@qK@d`+tcBj| z?%H@_7ZZ81@Z2}5MPNim&PyZiTPSs zBF)bm_JVt#(h`a*VCsbNhgjMQ?!E(vhR|3b=vHnCt^dhz0~SvXXv46KlWA>gGJC;Hny zU+qG?yF>?_g>X@^Bx;8Nr*wQ2Li5$B9R!-u^*v|>nm$ETX90_50c3+2T40Q<1;%u` z4%B@;o61BnXKSw#XHLY89@^O2iY0_6wfx98KDL&v+?Sg61hRsuXmiOo2KqB86sE{i;#Nx3uipHrh3+N!FhP~Vka$()*6O4YWT6~lQKw3>Pp0~6A1{o9Q0S%DTC za}-l&Z2KZpp${=@%&S}hK$ji_y2L9vOmo=zpvUx{xspamqXFSiOX^l^G9|glBXOk< z*VYi#_6kXxZSrdtYih4HH-efQ^d(YjblqhvPYb+bY%-&3IW&FT53Il5i-<`c>WjXF zW~dOCdZZ6RAMa%&3-dF1re9QZ>s<|?ks1Jfh%I%Q?C!Om&x{fuYmARmi;sC1AN>iB zSW9&$2XoUZ+7Ac<@9hotg+$UypItPDtUZ+jyG&^`kU1O8e$uK*G-WN+^IIaKr#Px5@C4Z!^ko{r>{1ON-~7}`-mNdq$hzOX z67va7s9r=1(1d%!YYV`3+aTEM(prwoYVTyHo}-~vXkQwTXIO0ykh3&sEVnci&$v4U zz;Gq$qJjC+5^;{7uyx+^#(}A8OFE2N-srQKuh1Z3(-dIszZ^v5+ej*?0lwRRGm@h2 zhEaE8+n*Yu<)a}5IU5xaTMLUH2mq{izETihiI$)N!FO>Ff*C5f04*?nFbR2$N=cSG zbPP0m!fe%n7%?enK)iq7h3g0WOrx9?)0C|xj4NuXdm>#bHVpyxk|?cSRY1Ucy8EIf zh+-7QF~maN+89VEb&()5ivs>5$#n-A2`(DW?BWLOayNG;lG$=+PS~soV_yKe72jm2WCTy*^Y3)WE)g?GB0fUoi(-dbi)kZ@gd2MUeqZ30Da+)yOaj%Y$7W@7lCFiWqc;bu}cDde`Ek z7pK)e2|_Y3iSAl_^x}sYI1!4460F`urN<%;K5;}DjS8wWJti(f(+?TLqKttq<@(DA z4QGKcB!iZqfq9}x(Xl}y90;&;7o~77fww>hpxg~d0q$Dg@lpq5zCz*0pk3&H3Wa|< zp9rgRT7fo?Sy_ZmILRcTw~Bj6GD*8?yp#mxp;E%dw_c&1ZE2o_v{)_P2I<~e4 ztH{?Hls!{aNG&pYvDp=!#EIyoPAxKStCFQi&yXe}*?${t`U3`>Y6$)iT2??2tyI(wu+E4tZ#6sKhe4 z-6mShT&kcvpelSI(COS$3yzmVnf0!gKhWvNN7L8O=ER*sX>kLA|m; z?Z%-cje8YeX_AL`>hBB}#gD7p@1Bytair%Op*3?z16wBvz`VbmB=57T~mkT8)5P0n(Ic9lv zX5VOLk9C|#j>%Ew=XB!d;B0V;iW6egS)3@3D#cOsI3~ z>rd6n+N+vm-+U|Af1xJHQ1nIMwxvyDysCDv2vUXOroOf4nAK)m&{)jzLTs(&xN71X zm@W+TxN?;rlg0cQNkY9jmepr|Ourb>zUR;6J@;)1@GL=#jC0kp*SV3Cu&C>L=E%&8 z#&5pD`w05$NpWcpXOo1vr3A_^0a*I}k9~{Vh9S)M(ffIHENiwIA)CW=n`EJ=t z)|7+xL4!GdfMChjrY9aqRBel<71m?a8h(bHt%3DiG}W%vimU|8U2!}bO$71mB5#ef zBs=mVqKSj*%ee3ygdor_u0UfCjwo&d(g%AVbQU#Q^#^v^uQ94o>R6^ajKzht+4Ifl7 z`R?9KfLm<%#hD*tpOfC<@0)-#TFREXmNI@&(7*cxcWf&3fl%8( zUd#cz@X1TqPebClpY``yi5HMmc?_W+Q(F|I1DvXj37x{b(Qwf2jso;tNmCRxC&IPhcq!Kg*0fI6w3suw*ldhqqb~+g%acxn z=#H>!OGqPuDhkk|am*OSxPTxYMBs<$8#9VrIfS_;QQ_ku!y3HUNnudq7XcynAW5Pq-Fq`waYjWCy z=^RXHGCOJw1$>^8-ssS3X)hM@Nit~|5LGrzvCoNKEdyucks_*bROPnGO$<@Kks54g zT@{e|DsD`}$VinzJ*&PDM1M%$1qg}jSLhG%nzd8cKb+1&97UdQ+WzlNjle}XKai>6 zc1H0yAY3G!KE(J-{z1OA69Q!oBIjSW6QIqyNVX7HAhsA=l>&i~MsuoNkP6dJ2CVb0 zpYXK!;2^;7pLsCtbK}$Z(ur(%I|{zU(1tI&ICF5ST4)G{Oqf%e)~i*^B2x_18Hu4; zuX=G5xlvz(h8{yp6?ai>9QD?}LD$a$@-Ow)?Ok-fQG0P{74+Q2861wqJ84_Qm>N9c zGF_c-wd0^R^H_gbJ3>$#G=Rgvj2xJwTwxT4fNK+O3Ij9pU`}h8vx=J{WnbC{kq9$t zt!AFR5L-1w9?YnY0gm`{`f-^UK*+hkNiPO-r_i-?^;fXYcnAvKZb;@F{g z8ao&*L5q$>6W+u!HjGzr4vukA#=YLjbeeo1zBs1VURUEBeejx+(j(8_xn5WU5 zSlU!})+kYn9D5kkh&-718Th}7oK~uvOSun>ZB5L!j)Z!MWZF8SX4%>sKmH1g3iMD zOI3lV-HBxc3WCMfx{bSN$bgdP{77xBtj=N$!LivEeS|GO5VLj+lDrLJ1u1f1(u>K$ zA~!W;Ut|-l5JvH(o(OHtHE0{UG?MfpM4{t6tUL0CQ#FdIvg3FS14j_;IEHy&LjSjf z{%;BWf5=M=5+K6CC_a+?@JP0+6+FigMVKrDov}4}3o2;!6+F6ZlXTh8b=6P8&iT#> zyZ8z{$QGMgJR%`$*7o4LlLXd+5S%srCF(q1Y{4`FDWDvg22qH+Z?N7y^&ElTXMK@( zOTCLNAOo+jPz<@+`rN+j;wmok;vfgHty!35aRDgUIW~&jm}a6ziQ;($@h-?VNstY` zfte<(9e11Xyb6h*Ap#*oNQ8QM7NQ!FB+h{yQ3~&E?~B9WI2i7ML6LY+aZ;cvMy24< zEQUo(4eCy<_nY^TBmx6#X=Fkjy$@RPc_L}+j{O8ALZv8d{lRhUZ}2Tdk0B9iiQp~$ z_n#|?7;j&QZZ-|hn#C0av4s~JADoF$@v1#_v4VlKxR?`Nm^FLJSxps_Y!7fc-Njtd zcQG!0tLXrI3teAD^j0xhWU+ms0Cmj)BX=<>lFWQJJPBGm_(Tt&4IFC zB??bR32Eb&WQ8qTk{4emUIT%fkp*>1R&Lh-)4)m7KypFWhJnS?NX|TNBxEewUt9(S zf9tGuQv0{h8*3LIp_6M_U~3IYP^VOhx=J@+q0=0W)H?lWhTY$tP;Tx+Cm0)v4TX3o zFB9h{Q`ls%NxG?;#=93=I(#FIblAp!bR&&!Bnf4HZb)-iz8H1Z@Hj51e92ksCrp$^ z{CclQh7B&n{JEtuqt?_}ozT6k^dpti5ykc*R*@F0p&*La-gQ;{oh#gp$nz3+e)U>U z;oJKJs2@0d(kyp#6+gqIz(}JPF))r|)@s;ZGoQpc&^pbRfe|dCu&;uX&=4-$zk~ZWPZVs~x$~DE4!)ql-vWT-|mU1RSy=ypMY(ejhlwEKIuGv#D_2lL#8jS!E$(Uk?aTk-d zg)w1FoPMPy(b;=3Va0UO7h);%Pt(OGF5~EjCgM|~-`HK*@Q@x*+oo?U8&U*p`BjDh zGDm|h1D=9?%2wen6ua$a)Mie&kH~^L^%7d`AWoDs$%%>D(EP_4&wABRAz~zwWQhhf zP9LHe5jq=h1f&T=gC(r$0!SK@HX$@zM6q}y!oxydB+{Uk%6GVUov>_~Xn&3*sF%{M z6`w~CEvA!*TDe4mI$X!qi`8RL^@u@fXdY>o6F}eyJE=z_?PP4J*k z+eMc4I&KK;COHw|rsz3dejI-`{GLO47mDYwQ=UjfxH;8vN3o6Z4crBc4zxC>2GUtx zghdz$ZDGYQH5K>WiuwAY=NV8+qK?Qej>4(Eys*Koy8n1}5dEXd*AfTOQ3dD(D&%^i z?fcR!bw_dhXiiTf3PG;W?&D?g`h>+rd`N8NoV|bIm1lAV-CQIj53_L5`lnZW>_0nw zBkAebS*>NuOz=o7SN$ps)#3)5Kf|z@pKB#<#{{}q7&uxw-_032hk5i zhT18c4nu0~lrpj(TS|#d<}D%@S8)mMi|B878jr|DuN7~Qvy!6#^6!xIbcP9et$>{P z9mc?k%hqt+#byR$A~yC@tQ{vVRZzruePWynkZnXb7On$uBVssL-PxPX)rq$CdMtG4h zL?d{6qixWn+(!{Bl=vlLJ8gqjQG0bJP6c(RJE2w7vszJOfJ88>nWjK@nKP|dEs?os z1*Ubp%l#!stzfrFi|Ep0U5-soT7+~bP0Ss8nTbd3UQAicLTYb#aS}I>CY{4*8^qkP z3Kw$XrD9oaNP9Up7pf&428M-r9kVkf@VS@O+Wu!9I5RbWEUqC@6EGV3)ESar^3Z+H zYE?-Caxxt^*$1eIrpzQ+{Z6zzI}wGWI+uKo)ny`eI z`|{Y3=Gq4NFy8(U)RowW3?hTrnGzGlsqK0vXi-nvkP_2>iJ|qb`j1eO#ouCU82DWU z{jwE1x+58~VvbC;%kt*QC9&3xg(eUd8kyRv%0HWC*d2R6(M5=vRpk|o!xTvp? zMJzrUP#aDuEVL-O$~g2O96FZ#p?Rn6YV!q^SKJ02$RT|RF9TnH^rg2rQ>uIMQatf# zkVYN3QCNs7JhNErk|{^;bQ-pVHoIj;fEhQ{x+q0tsmV?3vdF+DkpWtQ=8CbZxx*wu zq)zDz@?;LUf;Foz1!fM5D&6$YWp%Ic*w`Ijq!E|riOp4a_y^A-8XKWho~1}2tajrD zJ{4a%J*`2MIBvz>EKd<9%}a9rB0ukAjXiThzzglGIa_L)QiilS>|}{Lo94T zeVq(^u7<|0zDCpxg;WmNSdSHMJ9%#aRW(IeyC=%N;}Q(gGd1jyuWEURVolbl zMSdpISTTKiuEoTjXc7i%iZ11&T<()uJN4nF7A30?StePM1E`UWkpDW%a=f>vlP3JD zsjQ~zx4?|Pca%`GW!ea@n#9>64;$)7F42Q>RJB%vLN$fSCEAsHHBKho3&J2RF_H9Q zdpZWGfzy+5sM%$RvFHsS^*Hjs}I~{y0rbs`|A~KN53hYfU%`&4`6@!A3 z*-4wQHIbBFEVW6R-FL$(cZ=P~Dl)JW!T`--ZHxHvU8SCq<|*o9*w*mlt5@4Dgcqh5 zjog|8L~~VP7Rbc@Ds$*8X!5tKdL=sXT9Ef>NUb^ROct3f;Y0{W&YkTcj?Rj`$c5f} zgRIVMi?w!@iOZ6oG}V>~HpMiuBgmmU>Gf}|*zU8MG)zhwP=&WO%^bD-B}j}I^OoMk zQoEWoa57Dvm>nrLXH~JH++*UA3_}-CfD|cad;DzvoEvMeK zNp`is?v3=)gO=dptY{S3e>kX#NqJKb=~H}=FU;4M67?5-VR75L)_?rK^Xhd8N$|6U zMP2V&_Bico2~XC9gTtIbA7W}Isl_EESz|7woAti5YiY#~(FtF&Xcx8wo&TVmdfx>U zx{8MG(cQKF;|D#b*Ch-h5D*5hyA~fm;JeNDxPZGb=~B9uJARP9{;&%qp|Qz)O9MmB zSv(7aZiL~DIFo9g8&O+9;QZJ(xjwljde)2aIg{o?RMxs$S{EOB z>#EPprG!R4a3>tkplm~rE)^1=bRO5cZUc6DzVopBb*hcPPwEA^#SAYhmwkz$O}`a+*)CIw}km-wlOGo8=|22T^4N*rUb{Od*iJf zBGqtSE#Wx{Tu~viri(0^V$Q%lHxlXW!~e491|G8H#}(x29O6Wxcpnn0nIMi|A6j+& z3Hx@wT2>-1+1sLh(6BwZisx|;It{c9Q#%c-R!eYTqT{FyX1v#m>z-tUggCE0j)R$A zL|;B9foh3Hpqi=G)^Qh^{zd0TB_;m8=55`IAAxi0o{0-S*AI=ypvEKJ z39<1Q)%h3=r>LGn?#w}oFp3&m16AK*qFQU8TiS(DW>R5+->KasTG5nM_8k$?J!n|E zOhek;R+aPF2Qp5?C5W9zy9(0JQ%yGlkHT{8sgBwLu+73KyQTFVM;1$npobcv(EZGq z@f$Vo^_nao4%r*E+?EIl&srniJ7J2bm|IipHI3ppf(R>{qk=Y+xx5aK^#)Gpa?@01 zX>i9ZMg(HPQ?F}_k@17E(0XqGFU%ZK53_I0&-GFO@iFbg1z=R#T3GD0W3UkXJ2s7q zw`+a2EM5k3xc)9opCyELAA2n{V*{L?$FmDf`}`)n&%}bzOavL&L+Wp>;v6Dy3BJ*< zu5V5Jv527=2r-OFZRai87G`w>K!T_Qe%>P2dRK{C?2mkqqJPwGxobMhAOrsP}QS53AEFNMa2HZ^(#T`Y|?@Uq-U$g{K@UgfHb0v<$P+iYW%Np;p zg@;;<4K8NgeeX$!|2~FgOOMe3RwA> zAY;{icou=ETc`85BqnFo?PFkLBh6_Ov|eLXK#SFB0$WUu6q%mCqE7Pz>XxPuSWo(y zBXb4zobLn`VtHea$-63Mmeu$~(g!%A_5VSV@e5!x%Ub z@_w9D&kMcBALbC`#2&N+5$aeRN+rG&(fDGD&I)%+cq$1;G?Q~V)3ugkeIi7KM9>np z_9a#^G&t3^^kySV<|HC!)!LQ@V}^|m_wzW$FUF*=1r>K08hU;BnJ076Wq2J%@KDO= zp>P+Cz^yp9A0%Q=nY3$Io+{bhlSHC%Fy^k!WXke1LC@u;C5Zl9UK9gi4T_)?(*IV2 zqQ9&14yV|#ep{9I{l!M9?3gH@<*or8M>S`lJ}`p8J(`%ml{ux8IHedGLYvB5k`o>z z%f?~t;w5PAT)l_|52D=1pf92N&Q#^xMxYc2Vt+kEB4LYSCQXcY0$h5eBn!NYOJIE0 zH~R8f!cg^3TXkHDVw2Q(I@4v^&8JxJQ5s(g-*hBJA+t-H)qK;Mj7ht&e_L$w6?HoB z#r}FN0o~;yU1k@HY+k~m!Y(zU^)Ai}2T_c<&Of`(Wc8hR5*H^S3dHnyib}YB6hi|! z)_KxtP?d0txf6NaI@Q=Idc0nCzuLPP@9K0S$8U@AzGp5ppjn6p_tenf)z18Agf~n& zklG0Q5|I9wPzRM&h`RK%>CA%%w<5ij%c_Btb3e0Xs$~_h6DF|}@LGy&nPD|dx)Z(% zUF4OnJk{hP3;yc>xKsH`Jnx`-pBal!rd`r7@`pFC_2>*^aYEB zFfSk4kS0cvu0x>5&fD5bE-X1~ZqD;YlAC z^*7KO&v!~F)DJp-`3@mKM>wPO@oX>CZ*Ye{B=SVpSacYs1}OOenx3zPHH`y|deB=d ztUq8A=KExbOe-lu5_9GtT=hZgGv69+II%^}eYEz6B(8^DOOHgud?A|Fa@?cVazx(* ztRbR_b#<}T)~UNPXa`(71RqF6<$M1dd(Va~_-Ip$;os?D3*2SnmMpqpf z&LR5Ae4sq=8Wm_r8%C9V%-6#xT+ z=p=L5;25t?vDp?a!8HfzyL7?&o2@%i%wxoFySo2?gQrOZs({2$1;LBTy9h#W^bxes zc!}l$0w*Eyla`=09DA+D6pg@K91*l(%qRv%Qi_UB1;p6DtrV5-;1TjrK_i=(GQhF8 z2I9AWTQfduFtM1-;`@O1q~6f-Ev8mf`>sI-a73DDnh{fTO0Xhk0c-j}Rn!!n5{j0^ z9jTMuQ3WMtYKg*SJ^KV_?7;Uu=rC%-m?#b+CaR!}>9mBY$$VPzN(N!dD0xXsSZb<<6w&mB~k`@BD?ItyvtZ2l@ z1be5s*qIx1L$H5uKa;qnQNM4C!|JNq0(RSs*yXXs@aRS4u_N->zj4UV8bWGsR3j6r z;e2fgKGs_VI;PbQLj=LwsMobcqb(~A2s`!s{?8i3wqvcmfT*sdN@B0SM0Gt=DSRNp zsHEH)t9tG#ZebJT6%w~>njFt1fCP*|Ni7Up9N9GDU=|Arp3ONDL$Y-#J{P+SiHf&D zAnF zD@?B~z$QJB4XJXXgyOnd!Q)BV(N4!Uk)$*<*D8L5K?oj97*qTRmwN!1V?)d_JWb8*ASqElz3L!z`bWmhX6gN0XN8WN;L zN1>&k#CY8UY&u870uJd>d6-Y{;wF&PMG$cl2~sb&;RmUUi=#mHe@Pw*XGfuT_rIIK zj6U`jDC}w>iV?hRUwYM)eVIYnw4O?uYpU{lrCJ@Bb$rH3`Jm%tO=uVL9L>qgt<=kqI z^mm;I0yt<+s{s|Vnlh6}T4LY5`-Mi@O=R5U5P=ZaE=I=7;QW+tLA;=eKE)dRzh^l% z<1SFj*fse7_FAf7NlMR%DeR(2Mig^KzL8Fj)oNg@9Y%JnUPzien+VO~Sp=Ora+D&g zH&Ld}iz`T4fsxsq2A{fGzSfnGqi}fTkSR&9>qz@8aQ?vCozL! zy6%I()sw*0nz>(J#h6U8p^edNQcS)K3Gq%C?u$SPpYw%pf)WjZ9VPEm z@9*L2-H%Ki^9R(z2x!+Ec7xauXk@7Tq?N*|I#Kf_@ zks;6lD733pWFw%E(;DKaaBmm5y&s^wBxH?nEo)-dSS(>n|Cv?^ADs%k@QwOMH6uxgiyWL1)03bF<| zwV5vW0dO)Q?ig^n;{-zK54qJLB zb~Q4Pi19*Lt97mAxJH$TMLiBmT)HSIQq3R(vj$J>^jOzmjr$JP_^g35mobT)=vrlW z+k1UJ23ig{*-9ExU``TXHi~r())bbgreR%-k<}8{Hq}#G0m_(AYw)OeB zn8eL-FcJ-QIu2q3a#!Jn-7t@2f?(HFm%dZ~+PIiFvp6I)7i;Zh)m#>{IFds%WW&r~ z9}hj}VUpMmWl-Lw_E%IB$w5td#6H{qV8lE~mgSp{H|*XAT5d5Q?^ zDwTYaG+m=Lh+#5|p_%}nK_0;7;`I6w)bm^m%w~5|bbv5<_!8l@o5X8)ADR#E zF3bOr=n6`nTZo{?QKZoJNg7BS!&8U?Jk=qxB`Iev`V?Y_j4G*|Y%v0vYZg;$zRXs| z<&z4~qTsN!9@H#jFE@(dP{ECCnKoX$_hsZ&q>or1TuC?io81ftp0#3;Pj z`tc+X7U?-otsU806`@OV_`C$yN=&OZrx(2x)F7X#qGJ)6i2~%4#zsh@IRT(ntM;bJ zr5Ob&O!X0J#jF8qidciL#FT2gOWm^PJ52lz_+XQZP(OT!B0`pw1fx-de(wK9O7Lfo zHCs*1TZ+>=a?2*Zt*xWp?WiG-fN$GrhDp01CXl;TIgYpnC)wfUf0@KW9!(7Nfz{;_ zqhr*1UjwIyIS{&UXEx0!vIn5J#2JMrAp((4^ZPT3r#X)j)O-}C#(kdUSu$n}ww>;T zR$_Yd5l5vyG7dmfmdAD=|@-!nRgmd$qSrJV`1L3MZ{09cHa=f&k)&t)-!9rbuD|4 z4mC~mw>YM`eJA`~9lr5KED3E>#R?}nhs1UYPg}g0)gVnmA&!FFP16M5#bP3p@@QUy ziEQvzg&Yln&!Z|hGHc?1ttieXu%OAEq|JV=ug8Uw)O&=aH7szL$TVcHbC3VvgSfFR=r8-FSh@HGFBg_^X2DK=rVY_ZhHVu_qg zmXx*ZBK`7UrQS{C9af8cbLx8`y{LC}hFu*^;H9u+OBYoYw@N56YPdLkj4n1IqbdN2 zrCpHBS?`(x^#8}(m*7gWDobt&ADH&Pu`V5{E6l#4xR!XHw}Lxg)F5#w4AW<8nTuS0zUroJbqRD7Vk7_3eSZ5W z%y%;GBr+~7LDM?>Adi0E1q56L3Ddf7X$h^k350^2WNvfzmbpMdz8^+>CHh2^k%xwY z{Gb~>Uu#>k0yL*haA{ol!FxSlO@=z5N;d6+hJyUS)Z%psy^}mIw&XoDQJ)`yi^`v1 zse;6rr6ZTd`&Xn2{&5<}2hZtOXo6>}xDCD0uRxm@7pXM;ZVC2EKy~goovmhW_^0b# zJA=^jMu%Z*B~_JBl(Y+myO5%T_0=Xo1C($rsE_Mu(v<3w7(U;i3q|aUJTg=GQd^_npyiDp$P~Zsf+2Ckg38KNB`b=u8593R-;<0P#mq5k z8Oy{Bz7KjLQUr*5HG^-I!DHH%TIT4*#1Ua$L5Av{TH+X9OBd3K_DW{0$e%fOo62@G zgfF5#wCXo=S=|GaflLMXPMj$;WeJsMScqs`Yl}7_v|-_@vY7~HMYgeB9L`*t1GZQF z>{!%bIFo3q0@~ou2jPj*__O8AGrTUFC=;xOikU8YD^%}gIyv;AT!r@~;aV$#ZUMI}X>HEX96X z=h->++eV0W?W#SNBZy{6Z5EL`GiPlHKSNRA5YcHAOY41CTF=Ka5{@IXpM7Y-ad`1K z;yal{^z@+t!=n`|2{N!XN*;$+Sg*U95`26yJktWU^c$jDR%5Q~s&q+I08Ttcg!XEI3N-)RY=667vE5lOIgTtNJ0 z^87blLQAeekL1~Wrd{Z9zAgZne1ir;XSPhcaEDuOi9$9?6lg}fG%n%j#bgPGgA|sL zEOS7kUy26xCm`WvL@J>#O(6FZm6-Kzc|x!*8iOnm2%fcFa9ROg#;wIfzq^c}5{w#q zJy1a0MW)QHTu*y5$*!HDTuHgtEtVtt)%hvb9kU@io{83MO zmY`*iRe+z7%3&HULF_n=Q5?oN`CK5{GfW%C%<7-Oc~EZ5qQg>i`zS7f>!}s=C;GSR zsrQyA?ZRrbgz=lZ@Jxx3!54u_7;*NVi3`fq`x0)TV}e^@BuSs*jdFl|tM zN&5#plM|i^Z-i(*Q#_3e$?kuOO8gIQ68w3WyWdXTZ;VVXPO6K$Fj0}D6Vx(1q#Qo0 zQ({(Z>a+_fPNl3>N7Y2(3px$zsJci?SV)W*W6>Hkna5cSPHyDCL%ADrWRBagix?JS zdXr91xHhf!>PtmT#>p2`bLU#s1BtW*ce)kPL~+3?t_%M}7?QRkOw(A*+SooxjAK&{ z8zRek)n+n-t(b5D+Dv8?Tj2xMHgh4*J3>^!ZBdrNMT{Tmm<3tR%!3YY6?;p5nu+*@ zP%USw&7L5UY?K!aq{$rNzh29oregz=3+yvb=I@)`d$pz_Lg}Jy&@#wbrE^ZAb5iD# zT7m7=%!OsTsq2PBnPcYCTJ6aW?7MlQihrc$fL+z_ib=S99FIhXhRcttw?+`Is9`~o zn!)R;G9<{Ai{R*y8q3^8 zN?THkkC$mnyk}00FXjGr4*Nc@bK;t#Qh9VOKF%V>jk)HFy5U`uF>BQ;Ngm(`$&ap8 z*j2#eMBY?iG#5GZWJVPW4&4@Nfuc%yAW`OEz%;4@OA;hTp`hq0ldu(){eJ3MpqtZa z7$Wwx3c92Y36tc&{zT&pkaG5s@NVxmH41nifm@=kg!;lX-%VRa*mAg z_0jb^G@sa%WYZT!mGR%BQ(6!V8C4zw$udVJj9%r?(Mv_4VQAs8D#p<}O-DLD*kg(0 ztx>HkNw}W!MF^Z$Uk#WJPlK8 zK=vx5k|s3xeGwC0E2r4awG)zI{;r$rQ_|rYI?n`Li2m# zN>X;*1>d0&-dC}@C*iE&NZ5#--xkh#4Gark>cRQSnK?5rqzC$Imj%xP;mo!c8*>(e z<05TGYWQu9WgU672l?*A7F5t8X~yR_oY?wne0GY@)Nk8o>(+h|n)*91oqB#K)|5>v zsb?#K^EbgBaRHhN#U;o2Q4R~DyKm$TWz*ElcD3)g(3Wo+nr|f%X6DIDcwZfc`Nl8p zi;hD6CchK}+8gm@9GB3wOZkBlTYpzvCHMmNUK1HJCtsI7iovOqVn6?iDF&yzM*{Mu zpu8z?4NJ0Hx}}}J>mM{TT*CfM{e$`HGUOPXOru<1(suIQD$^z{!8CvG4~8PIk3>xB zyCR4qMQ52P_WU|#48392lopyajMoCg&&c6vElk>l)c(X}=Jrep33=HNW0t1X)gQQj z^|wl5;9=;_e`1Id0L3w3Fd7UDJSu=h!ntI0-(LQX{6-?yKy!edgMXM!W`Ob!lqlTdDMBP%dilmt+!Y&>Kun~%K_*l*L15N)@t*kVAaosp7P zB4OsZ4OZ+!8_7Yy3Q{Ys(~25a$hby&M5fkyoKXu2SloB2B1Bu6S29NisVvp=%w56~%_a zCQUzFftE1(uJ-zZdVO>lrdGVnV!snB2jn(q*YwMxSUF76-{q!C-;ydz6o-?BIL|?C z=b^>KPwNv>h{Rhau=V z;*A_yDILYi0lz=!`RYCA)M2~q=I)NpoXgt_!4J8EBB@H8|m@8KOX%{sYDM6TG zb8%MhBS}5@r2F`Fxw6+K*do<7WXa_en~P&tK`Rs!sMWkQWMdR#f}!0UNetvNF=Z`k zg>_=&U|3pO9o>ugB`1V{Q-g7d4aQMJtV~Rq2M^(v2Kw%^N?A;zEMi<(Vt?@x>ib}a zP^>K6Fg`DhFu0HUaReYxDaY#%XI~mBF zvXyG8uxSlWYY1^0?$+=SgUl#-g@|8a--|0^&Fz(xQC zeF5VgHbo22*z^RNy4ZmqQDv~$LY|(q16)E~Yyr=sozk_>r_mP+a4h0Hu({MV-R-FU z1k{N0z)VR5CJ;_VU%^9<>(uN;)tM=AX2+^6pc_d?BI!W$$e6`YurOI2B)Yw&9UxmV zeF4uX7<*f@VI_}Ts5}uAU0y=IMkA+agorKEI?byWk3pkjFyI&<6Y8W}Sv&`0V9C&E z4?@&lFNTAGzu`}22;smq`FBDuUd7~pD()Z+>cw~QU2*3oDsMv0IbMgMg=OmW-Yg*q zt%W6niD0eE1O;UHF-5Y8aS@47>tN4Oe4h{FXrw`PaTx@Z|(#8;tmW7$bgEj+T!ZD!t+SsOgKp=QKUen7q@{s?qpu% z$JqGZaKCw}(c$h-?Vf1M`?3Xq-_yL4G@XbvNQvuR%Jv{6P|G;sAN1qk<)NnTYHX&lJVIrV0p*93 zF{5@B5=l_8P@1oY)axww*plWBh-&RAwRWsHcOdVD*jT=FQE#bLdkU;IgeE~8Z7>6S=p=$Y7DZp@mv>XNREiN(j8EC&%tP- z?v@pwChG(tgoXyvpAH4wMCB0~#|Y1M`^Ap=mTbBI&v%c1akujMxRT z)nQ~uYmAd@>k}|2fc&`SdA5|k-Ynv1m)iXiZ~txcO=72 zaWLImv2s9+LM-I}Os$BvSuEdB+6Nz}xjq;6xoR{!HJb4lY|(&vRAFO-U}I3aAphxz z8}s7ZfKCHrVEuL`K+RVe>BUJLsAG~7<&&4zUc7u8;3Q6z5`pi>X$1Ig#d8xB4eN$K z)hI6E7!>W519sI*!BH$+g{6_@F9)&XeH{HGp7M7EVnqC89R1$Vnq<0xY0}ch(N;YO z-sm78w*E|fvR4b3n;)?WzlS=IOY}+W)xi%c+60k)koR<=%g-7x!IL_BC~maHsf!m; z-3Qe-BtD&%u!}gAPK5cuba9I&X;#dbv6V0kq3xm-&?UD0c^Oa6d4X~ThiD}TacE-vwFu@3zKtEzgyYNX|c<&}~R|i+1`CQB*sF&$qKMCZs zg!P*Qu;)K?61Kst)y^hB{nec7CN3b(K3l`{h}4(EBy^493*q=g*us3tOhkAW)0Kg9 zz&=qN*3RUY@kUI&DWb^u#c&#Hre%$*jvVWR9HSqRr{~(gmoG4+l^Sej{WmeK?fonGxw+QI0Hl2y1>PR~< z(Fo|0qzX2U$Wpb9kQoz6FjboB!8Fg@H7}wM9?aMNLMQy#?zD!G5*IJd!-9xuNyIc4 zfjd@(*OD!iqXoEm*IMvJ#0FzVw$q;&zX=+7c+=Qo7(FpIAPweVE1Jc@;6iBYSc8_J z71+Lt?`0>UA6$T@w^RkP4dko#O-n!;%uB~@yc+l2Y(fxKlPK&a5@A*y=e!B$jJGn* zG{HJQ&0lQ}{_F(Cr_dCPS1~+Igi`g5O&>!t%psZ1>Wq>I2w`*{L}iIG1z}P%d=r~} zXszg8?1p!|7wJ^q#nifA#X)ID;6gSkt>Q=(%p3TBzU#MA6A*>*EHvq*T?DaoB=9DQ zy;wHMb9j68KoW--#r7@5K4caVzkL(<9Vud#uA$$HvB910CF%nja$=6$pklkB69ON> zrk2MD*^Ai|lJ$_(J}8&Yu9386F*F!)<|Lc3S_Q4>8aha--_kQnolyo}=96drA|bHs_A^(Hzr6(OI4@EmJnm_FMB^~H%&n=__WIqsvz35Mb2E*QEOvj*}2gT{0Qhr&Z+&VTfFOFSkS%y1kcR zy1U7A7Z0S!lo`7!)<)Z4xDCU8lO*!==Z)=VX$jgeyRRa?rJ?!=q0((=v+T$!0u?Pj z2ZA5%Y!x(%=tp46(DaZb<3y@V)cJEp{5iT3L-OyM)m)k+s{XuN7@v?WWASy7s;3u; z+0$5*&m&)^A9|6+R^UWd?chPKNSL|o1kUHVgcYFths|S=-M$5Z>{wlM)tGUxum+HpLXO2znX_0!+FSQ_>u`%vum3?t~D>r)p{t@m;O+HxXwxXI>J5qh1`kY4OFtXHJ^Faij#@olL3yGoNU${%TzjT9O?7?q5y zD&rU_dGgU1h(UAHytc|l8Vk`^(@-nIkz8{y8Cs(%%WTwjpcC0O*Zx#m<-RNLc0 zLOz&GyNgObRy++8Yl^WbK)E*1j;azX;ouCzle;J|Rzw|5>by*>_T9CCc2=eHH*Eus z_5ExylNWM2^K}V`If~6^p-W5nV1hZ{RU?d4Bgkw>BWHh5WY5=8awpk{MrT2@QJ7Zz z5o8&>5nti1<&Zv#KZ0<0yU`Lvc6O^Rp$CD#5booliC27}Yc$`LvgwgP@Ry&NHF+^i zeqF*snDFQbyz+33Wi@I`AewxTe}G45KjLl)4+Ru8@1i9wL33;MRy+%xdXQAug%};J z_#;TQVGTNtLs~+QVq9n>>%&%TQwq@8YG)zI$)Rn!5gKCrgAv7gzY(N^x$&h8EqT1` z#6F(xi#*-Q7%(+;+z;q1ua4#u+bx}U0Vy?k0H0Y6@no1U7|recY%^n@w;9%Z7c{5~ zis?dzrk#GZ2TyFIw5`!2m11n1SDOH+ed;&`EkT>lSk-&#hk*PbLQxjgb4Uo~SxlOG zqZ}TGr=A+&uzT@|Ad8pXXcx59aTn8tfuqx$^h%{T#-6ntzAu`jqZFfe4JlrhV(cVS zKm(etc`DehnwCy7Eu|%BGi)y#y-!C%y) z;@il@m)0P9w_Y*^?A^t;q5qK&t*%~obu|zMhy+c*nz1!_bXH4BghyK^Aj8>q#x68- z*Xx1AYiUV;VwxuHKdKd75Dy!#<#esv)r!$+BI>VCBsBR9ae{vr8}hxF*^Blef3ui* zrU9goz@46{MaU0GH1i#b+DKQPmLPg^?dn8=xMhpx)>G>|UOp56h9%Sc9<&dlY;Kjr zf}`^!0~()N{^+Z0QPp%Q`&N-(X@;E@Lo$KO@?SbcDA938%fIb+JPlVO+#e1 zFU@WtdM$IBWOlIlD2NGUu?>yv<7j*zM8#YyrjIleNrI9rF@3!3a@f1aHYvXOZlZ8- zaXhtx#6df)K?C(%67nI7Mj`8tYzg1mU}hArL{M@2^D;e42+^y}YukXj=AD{uTMLiT zs;w5RsP?A+poPb|i^EbhwT(rc@GZ6;cQK1cVXNLKFl;S%T;;*cq`?gB!jeX0m#TN` zwa+n8Cf1QSb57ev5&4N+cpMD{5@&v(UjL#nRh_0WETkdoGMc7Q;YAzGfx_;6V9pX} zKbldTiafI+L_B&R8akRtE-bsoQR?Pc*v5ZQXW*?Y(lu}m=}Esr6Y<%_j3H1T!pT7} znwULCF@eSGG05~g&WnB?x2coK$2?(X}<~TJMqJeqnSaM9$2p-U)J|Ur6!{6P3iPz)RFp%8jD#ai+}l zuL&?Z%6NMWTEo^TR5q%{&rZhAcpO}V_RMN3PpYI7Yuj+s9OPzkG~$#&Qh0LL80cPI zLZ>BQXb?FwJ*wktf@D(?D{^MMNY&`16S5aAK^$L~UrU;xqg__Gh6>MFh5V5ld#7E{ z>g(RCQ!;|~;1oYZ&P)^^Y?1;9;?jk0?Kl>JkGW|&gxL59P2w!8(;<=&@_}592u+&e zQbOpdXRrbKr=-S5B1GilUEd96WUz$AKLXJ`eky2IZHQ0muzylHe5gXR!k%ReY7z#O z4nr4f{IUcjxl0Z@4WcxKmo@K#*yr>sM5~3Wcy$D&Z%O;0iT8Zc|9j6G1|=?hFScf# zR!m$-w>cKYr_^ff7*&GjqQ?rm9jVpW(P}Tnz-C8pXxJ600U&c$@5G=xK|exs>zdUz zD9Mxr%9KQkD!D&G^tHT!Ixa!KLdzk27m+R0ep`!v#n3!2Znfr~{#%knY|yQk;^=hL zhKB4oVblpd+tE}VCm!@48t_`8$3UF~vv;J4hQNy5_V{HZ4Pu5|2hp=*MK*FZyrq zF9oS_M$(@^L&N?ZHO_Z2fK9F!)DrG0OuYV7Aa8*>9>}3NkCCfR2S$V{T!Lo&nsjMl?&%Y zV>tZ@EjD_wrV8rBMx#F=dKp%yWu(=@HU7}lardgx3k?$nO9J_b1e#uqOJq-lTQIf2 zXhl$RV3)%;MWreBA6E^Sy&)`hItFLzOuIM+>s6GNI-o|8ai-*Za_d_6pnE3i08s8a z#qo6%wRu^^9TzZ;-dL^3K7WQYNZ!dwfHx%092}8G74Sx7%tX>koOv_-Ya{$lEjLP+ z<`(6fsuEIzI*)W3L<1TdMP&>!BzJ0lE)#iuRbe-yUqPk)((3A2e5sR!03v7`LV6}I zCCz~335UUAV~9R;XY68x|BlRFgr%S{+3M1@^t&Dl&?N|SM*t&{I%Ai#5r5SJNS@U# zZF*f*4$4ikJv5?PTH7&4wcAAvH=0ST{hI=$FqxqNIw4`VXwX$1pyNOwf|q~>UE`2I z&!X5Nfj}EQ*rNAL78&TIo$j;=TJ|_+F@^8MAEFk|)}mwfT3yZBMUINRu|@a755i-A zXL!;qAZQIkV|W%d8Cc-XsnfMJQ-yi83C{{>VC(c!ZjE*QL67Bi362S@2aN)@Dojy3 z3e{{8k+X&LO3k~o z@bnzfg`5{4_8c!89M6BCqp)#coTB5*2ZO2CJK6C{Ku{5Gfr*M{wKtMPtkTi;7!gP!#<7^pGh^n)e!Rb%S8g(|+_(f0 z@3`Y?4fe{I@r}gywDFq)*-!Tw`>sjXVQSsyD8?kL>5Zr=XyAaw10n#G8Kjc;tQrHdkut9lub&$;<0h{>WA zlSLc~q5wqt`prE66E=eUV&6T_6dAuj_4Rjzrx6nIT;yZRE(lx6}B@xDPs+>$2hIn zV>J2?^hk%+W3*P>hahtupY$uVCS&zdx|8-SHQ10HbEE|^WH#|ISW$-~hzEcYYMGim_#VY2IJvq|L7!T9T(b!4+XVflq%k$<_vIsDuX3lp zDPa(uWk%Iw2xSlYMuo{db7RJZ58Xey3XPgOm^!A$ub#!6Wh^qBr`U96#*7Qaf!9}p z{)5q#)KbUcwRB-14Z$fcX-&paE+9y4)$k{DQ5byJS_(L#pE!_Aq{O^n&fCRh$amW@ z9E5G0O{eH7bJeuB76H&1Y%Aajw3>Pp6L_+V9auqhtn`A zP~JABjd&D>7901h&L2o=06B{}Oe!II6(z7qCLb}TiF}yTpZFkQ`bTepq9bZPBobmy zRE%D%C=E}f1@$+E2;M2?jRWUlx%o6`$nUB$ISs`AWY4q&aST)Jzca%=kV>4$iShXr ziv2$zOk`$~bQrWr%q|`V$7jkNt(Fo=F{f>a;$Uzr8qlJ3M9wA^GM7++Cp?8whXc1^ zYQj9#AvH2{tfR_jP8YiiS#&IbxPWprDe_`Qwd+ZUJ_626EjD^_5HT7O1~)a^L{>~j z@rA&7lqL07rq**D)qH_0#SI~SIp?=6#ovLA$dvO$uyIaJkY^XWo}^{i8}<99X4Y!O zpnx+en$s_BNWH2CBG_$gl(a4TRn?K_Iv}6j0#!$HX>rkaRrq9+@Cly9rL`NwYVAf+ zZFBDRt^7sRwx{RXsR19f38K|j@r@>1qaXa-vw|UogkFSOlb&Q6RS;`_TTk*Iphf~3 z^PLnyjm35&1BjA9RBQhxfCy9!H*updHj7p=QEj!+>p-*etts95-BEa2OsH}(@h@!u zO_7TyCM=2x17pHI7u0z%r|$1=4V1a_Nf2eq)~q%+C^8vFCZxlhil|GFD|k#1Y5_GK za%&}Z7PAFb7Ns|8s~Tm+(1f${!T&)U#Z(y(fmb4a<|5A$G?9r9$XWeWe}_hs9g+9F zHLaGdn$?odZQ_`^BOB&;AyzFgEK;ADSWWgb9cEs@cwXbe#8G+Q2<_`l)B&&JCMaXs zIEZM{BSr3e{qF+W-v#vlP_o4NtS6E%Ow@KQt{|MEGYVO{wgT$E-|RsWMUG@wv=vak zbg_booYBz;&!uS=-u(ms`jSsB$@OWRDC%@xY{8&%ek1aJXs!TvJMf5q;{tpj|6!iM z*8b`VaCH^`SwJoA81`A*1H)`>A&P5j7H6zzpfADSRX)gs5(!b}s>;WC4f*~wk!~b1 zHSK7#HeZLs`Yu4$Oc4pe#-;|vyO0FxKV;=jhEAp-|Faks9n(b*e4mjMb@FVvd>-xT zxzlmP|Da+2DNVZAgWd@9jhei*R+Vr>eB1h5RO0F+ zlGrwu4W?oLsmXZ}7n9rwHVWP#BkJJ6dG|g)z#+H@lYDtiQ%;?$b`IGh*%7(qVodDC zC9qk{#)rW*_*O3_%Z#&j@?uRX9F(7?MfhUcgMJLk@!Dg(d73aDV788QsC77r<0?M@ zLo=E}VjsgbRXS!J+=N7gCV1lGjC`nrqVvjPu1I*w=qL&2`*S$uO-Kr)sgmcVru#pu ze*vGyKMxbi9hqp;J*rXBC@P|GtA9Rpxv5<#TW&`FFq%_OHAzDuwj|$!k0lhYDo3oH zZDM{xOsILnhOFv!L}-K$mi0b`MStbVUZf~o!B1=@g@*L+#k+vKb$2q2QY&byEukAJ zTGMsh+WTDXYGbz78c7ILO;xB^X5q!(A(CI?bHVo}T+Aanq zCyYN$!l&rT-Kviyo3wWX`6CO;LX@1km^VyBxA%oDm97~}_FYXH4N=X8;d!Xs`B@!7 zB6;2$Qa;YEKweE(AU05s5iz~Uf;yc@uQt1J6#VCgK*lseyO(a&Za2BDB6)tK*6kkE zYSt-0BBmEPP%r)F=dCVAr-e3tVJ(Ot8CWV$d^zKVpg!D_%Pbta4Axo1rC+ zw4*dt+siCp5x*4&Yz7@Ca4pAghLRRQDbSwKqOLP?D&&R_PbcG(C`3i-km;jC81 zsBFThAVMR=2cpkMUA3*Gf+#EZegsweN)moC}h7hSUhv>y^wYI|8 z*!jl=oWo-KR`yJm6KSYgJC{_*rB{J6qz;MQR%AaN2EtX?+yOp`{HOl)-p+#=Lz+Q1 z9K=f$bL!@PJHt=E%be!hB0X!6UJFY4?ZPSlFSe) zsxM7zX;y1`R*~+A*;-nkaTIg4IZ0d}AEzZsEw#J$lH!Ad?58Q(;M^21)LKb|(jxik z^gfPVPE-~pDv&SkCMGI*l_o&Siqp71#W^$;$PH*6h-kg|Lp9P z%+ioFe|7_kYU2L9QK&D|8_MjQ-GCm(dNEh=AQ&Zf`p69E@IqJ>T-`A~C+QvSV{puB z&N$xNONmpMEq5D>%^lXRB~_DsOdF%v|Ic@ve;{yZZ*d4xyb%YvQbPjN@lO=zFr9=E z(PY+|>Luybr;=Rjl929NcnmMjVrU73Zf@EzW>tZ;q;C^A4zi~88e`Y~!*r5y=yVpu z8Fdv~OAsn^x)I~s7^>H{!bGe<-{^B|O-ml57#GsX0GtR1O&n6MTE?=_m}w9P$eP$| zEaMfh*BHbPHPg8Bv(>J|AkqOrE6udRI;|L*a6C!6S0=gwT|%uPJ}-*T$T~m*%%PUa zVyA79a_nkEL`sc&QEq)N_Cm);;>>}u3%vC|*pWsEQ#y|0^e4u*`aBcUroJdV+LRg$ zS;e#^VcI6`!V-s*QM{FuL(@}fnw0Tv%Hof@3F-|YFRp2=UyEwnlXShY^=p2vtluSc zZyt#mi4wYw=h0nyu0QBD~_ft$*btcnDW`$_{KD4^-vIF{L4Vw~ar;X53NH3?5u?Jxvdsm<{4>S!zm5w@H-0DmTU+v<9)*F57ki=IK-sudRXB9XXcqG!-$M;4M7Lmf{7+}YVS$iFqbJUHxG zilgjlRq+p0>|4}&=}m)nR29mCCRQC&m#%7*RbkGSQ`^JoR!%W% z*wqTtsKUhbsV_;p@G>|(O)w-i_QAhGBhJifI}%SLN;9=%RCrEfRXdTuPE^q#XXf-o z>@tz;p9ZKlTx6_Nd6k$rrPH8fXu+{p;{wiVg3Ot1XsyVwD%l#F!iE}-Hu`UJ&YvrZ z1gbt3EkT=PuVTBUW6vjl=I756ri9I&MUYKWk>3XGf(8%wB9kqGX#%taO|tB^@rAfx z;H*%1M%v7&)3ENSmCuzh(jTCVWtwyz)2cmbVo(JwL8Dw(1qcE~e#3YdLd#jIGJ=7O zi7<3lv#FKWJ&TPF1SgN#XdAlN=%^M{$YB~2HTi9dw8CB;nvrT10ZismzpRXkedg&X z2hkV3mUC(MvUnhSC)*g*jk2j(mfy}V*Hd0&KN`>D5+%%55iXyY#s{fq8FFY2hhbO2 z!4s7ohoe=7E!Pa@szaK@vMw7z8<0kGda{es9BBkrM?pPXS_XMJ8+aO!sK^j|lhUfz zfSgr66RCLFratT%Qj?)q#}oKgjYX5}HN}TwRF%XUDT&c(SWJXzCvYhpLJ{A#0Y&7Ww1!qiQ3 z=#41Lr6kFvkVd*|8mM>H5%^qTncI!l5SqbMvHQeayB~!Wvb@l7G5)dpoP*j^Z{T6tEK%kdEY*a{5)J zeBCf$*g!;^4TX>@8 z-k5Y4kXdtZ|FW{Q6V)|FOVGfOyUGk_U;$?Hu9+%)Fw&pz^h96gA?j9qFteJkP;COhZIqJtv*paqq~vu83wz^Z z1T8_M9{Q-A23C^^B-D7MN@rQcUqNbHyJL(DF-Fen5{#BWmS`GWJfik1vJo1xVb%~+ z%cSpKiusV_Ax2sciVaI6$?JDwy?fIQ@}{FZu{CqLyH>*!q>%t>NxP7miuecJj`iM; zoz#yde>{zIcE%oXq5KABB7(F$i+}nQeJFK9wPoakP`JkNnhsph* zVgfHjcBvyhtBE|SMg$RAJcl%(_+Sa|Pvt~R=pfh3)JEC6n6xAsQpIxGg{37eSpG~H$K_Ov>%6|dnbJK=*JcLC`%2OZ~CJC3Yh zoYZ$iHjVeM2pGS2VezTTNm!>D(sLP6eX+6Ivj|u+Q+%;UF+c`+9aG(-J@6HW4wOY<9;Gkdk4_!Ahgq}f`HJ?;wJXOd5BXv*cc zX~2?MjE)G8_Dvw8twl$>iwj`p*pV2I!4Y{hr!MR+7F9pIC74*!E@;v511ZGyJ|iOc ziAJYUi;g>M)x<#2j&78*oM|-urnLMAl7OUpc@0zaQ!L_)7Or9ZpA)$>R(h4$HK-j; zXe*IPbL%Y59B#< z4HFwKfkc{9O|z?ZP3WPPHt9TQOd2nH$>EuFGCzm_sz6o0vpr4uOrkwJ{tVL8iFQQ! z-2998M0Qa33v0VL8`RhZ5BR;PK~0@Mj|Ck`tr2IC^{A)3ZGqy2Llrt z_5gd*5n3NIYtwv3UuYvrQ-lT+-?Lgw5J(%L9TA#6w)YxTy<-ZS|K~rXW}daOcoIlI zg_<4FwU%@hj!LjxLnGdZA=2B5+}nkW&p~cY5mVy5R-Jfzkf;$N&muHEpH+RMaBi86 zGWifiAzLwDNK&d;sH`5T71-sxjglsWq(*9~<0bR;xs;?$fQq$|qW^0YPva&NT&nO> z6RL<}FSt9M1S(}x%N%Fa(v{vwO&j?mp<2>pEmy#1^h7dKq-ff836+P3(y8l)Pef`c z@yj9llQ!ZI{ZHD6Peh6+@l~9nli4QeN=0hD$4|gk@A&Ash&zJYpps~+{U)p-a-tti zbd#2Fc_ZM3p!iHPfi9xNtAr|Q0w-;PR#y9}g5EZP-e?mbIQsYwF8EzK24fS_$^t1g z$2z7+AL*p#y&J7T;~4IuLPSsUG(!(xF1=n!c%Wq^%ieDZ-n^*Hlr{K5)lz4B3@!upYvSxma}yz7DOE{m)P~fum`%)LvxsFN@Etij#&$$o9JC?4f&QoIFe@x zTKlow0Hvae=2KJaK3wxz35l$|H=41P~$8DiMO$vXa!T$bQ+s+jg|5WbvPY|q&lgPv@HB3%x(=^Z*PcY07??32h352LyS@$mU6vq7 zmH=Ogt;NSIcD*7&7vtouIO$?DAIIg~4%OJp=<9nHB`b>PTq4TwW&A!b7 ze?JRJX8}zX(zNJU)DfC&;ujbkRqjmjt)`?UFlk9k%{s1@v9R4nU<#ckhQ?Wq3Z0VZ zr2p`%3TN@EJQ!`!kC?xyJP3jSD9bu2C_rfZ;Y|EX5Fl%<@JZuJ!xn7XmWs*`I^p^H zBj%=@3B$8%qnS(5nDtI{9hAJf+I(C^4?$8t?4%)-NSir1ZhRttnD41ur_^oZA~Xe` z4`M^UR}xfNVkbCV%O2fo&$W|kOQ-PUT|?6(I% zm9s}8K2JIeTK3qj*ld|W3KeuCM1_jti_OL-la6DwZyTTdqm~&|%ivpu%$b)K0}Rls zEe4~&fQgI9ow1^L4V_2dyoC78^Y{b?r|}Fum!XA6D_)7*q>)RB%b7d#I4~Dm433Zz z>!_EKp@qjwr-^45$Z)p>odu0mc-Mn{lDEM5kRc#A{2YRi*2_sYRMzLF_ArUIt}aY zwFH4ND(o7a2GN9OR$ZB#T$%7vq$W=B0S@&wX9%L78yb5i5@?PO_NuKRJ4MK(138at z$cwk?HG^cs-9~wIY8m7x8w@x#|1f<^vHw`DCMG$RIUdNa^&f8~Ac5_Qnxu$$%WkR^ z<|@{fXcT6F+~@3C3fZe5P&y1K$&g(uuve=V*p2dNY{PajgRC|?CTgq=ry~DsLo;rm zE$@p+e69WjOgatYq+J~swj2K#7*g|#W)q?lO|P;hcw#s@orm@9iQ(&mxkw&kqDV-d zIW)64s4{RlfX52YBQa>=APrHqu0yj4PXrm|FfDoNtCr4B%pv=xZpWEHGm1YV-_0C@ z>MCT=9MPyzY&D>ol<|~ih#_*;9ttKpCRMnj|E~YZtH-KunvsY`G?#;X@GDF5E2B#> zwM)@zNCK-D5S3Ec)%$~9##V^O!a7Lq5YYGy!r-uSbG{>5v*oaJOL>nvTt$~^zGk(+P0ER`4stU|yr-<`e)x;qwalr5} zHKcfNwSEHuLYx3{_?c4R;`>X8)u0YX{TpH4++=^uL4h8K?6drQH8mX zf(#`uOKU~is5)=p66m>HqRg2W0|UO;9+Qsa5Yg(zH3aE_I+fX?8I2d)(m}8*(!os8 zjb>P}1xFJrOc+!zn%u?imy<6MGH-Kh(a}b=%I@?|;eXhs9miqCvoPr_5HeUaqscO? zfl`KrH)4xbcHX57p!U{Ca1NJ{n%Y~LIkAX2K}!&^kdakb16dpp?n`9Scy&B5NEU#4 z^ILRTsFF7}`L;QoN6lqnRU4smP*WOh7IJTGp1ylEG#FJAun)ayXvi||i~7Nd$y;w? zguJAX07#km8(2+rB+{I!iP?+eOEN8Ur(Y3Tt6|^06u^BY&kGFGO_E`x;bs0^fc;&- z_z$0YBcFO~jBA`z>Wb?NcxLI1k`_$eTw<_L&Y~~CU}%Uk6~qMBM0%;+q_05H&&i|5 z!@GRW#R}XhhetF4zLE!%SHD`ogV4q@#s)&phA8@1{tLuj2_*hbv7%kI6+{pq7e@k1 z3rA7AixiErp}*^vY``z0kz~kzb|HHAV?Qq;->oIcOaPmnW>QF|3g#jtAG9BlMKwj~ z$BPv#3H#O6QIr$UrY`d|$Y#tmV1xBxLz9L2MUpwB_-QD@7c z@v8236O z)bl_Vlf{7&41Wq{ayS;XPpePlq$iR@YMM3u)~WK7)Ps>kC-h^()&D1#d9kUg$BccUPn!YB&!W>!uSRvI*}iB3d^&064oLlBhFyEiA8)hAQ%ajp%V4kUnpKj zZa2SS4;nqTM4b+Tw`!_LV|bkY{s$}SAExRz zQ3>6)vf=CzSyBDqIaVA#B4TVJxEdKzM<>EwK8!(!5rz#z)b!l7JwRCVM2r&Bp-y|S zz1TxQm{g#?!q9N6QBBnl9n=@biORV3w?h4u5$x{6U9 zJt7`ukU-hch@w#(_yjT15?N40f;z^;Vvf);Q%lFQNF=C3k9!mg=!0PgQlPwxejPV) zIWaCH9wWrKe0LZhWYEHSPvX2q&1PBRJRf5mz(2Iy@uz+K#_zb;@$tv|V z)3Ccdr<5P`Vtzo%78BK8koXi^6}GrRBN%1uICm3?Pph~ISh-Dno{{x*Oc07A=xEf| z#M%*APsce&v8_29b#styb7nn_Z#|FH(~E_3_$77~i&z9~sf~?FGiS!rERI^9E!bqA zPAEC8tC&&D6tSV!NzGzunc}eOq=jlGd=}Q!@`Lc|T`;-}xC!eNmd7jO>ZWRa8u6@V#2N8Q~$&WN$a^b^Kubn;!~}Z__%Py9&ramQ5ytHpw^WqyknG;d6OWUu3E77-D-X#R-I4r>~g zJE~wcgwU=<+i<2iJyBs-s~2oKFu$?3`TQgk4F-ThVW-1aAW+H~stMdosdjvgLrhyoHm2P1q zwT--7L(R_2jNab`b!suJ8yD_ffDqctS8Nzh%_(1S7ZaqoIDNaJzF(WV{K&w z`8Ri|yvte39C{;MC)zF=a$ru4r(PUPvG!DA@5_({^8#9kFM{eC=`ImP@;{g`@#O)7@Mk4;S~?Wi3ief5%X8C=X#~^&qcR$X-Lo87Sz)aMc8#;i}qn_(z?Zb zauGjlqFINDMnbbyA_8lR&~T2cIJxFoRZk*Ni$KR!9TiRD zgV4Q1TFm@9u<8M{piyw2Xw_lSMe^(}KARoafYnWC^XqQKD7~-^HH`|*GcRUV10=8! zHn93e5WirQ5I<*G{&G8w_#9kcF{JZmP%IjZjwblD2q!Ig+`(Z^P)dN z;pyxo)W0=8>_PGhPJbdaicpb4JA%M&^jhXIK=uoG&wI{*o%+5TEul-DxH+m=@FbZD zQrZ|AXRgdx>!j<;Y9CY5y7212f+t4F3!-Zv4H><)R8Z# z#c3jsAPGHgXHL!21gjR?WRT#LM=nha-ilL#fvneDs0m@q#OYmCL~W7;IBMb>@@m#$ z4b{BCNFT&$2_e>Z)khn9^oyVtOT)er*aP4n!XUM==9Ogd5uyon(4D!Idh8V*T%^`dG;aiW}@LAAgo3=y7L#q&>` ztQ)c#ylGSIOZpiYLMFj}P_iCrHYc)tHAbe9{3N~>jy#)}!Fm+q6Fizuk0$;KB-)&2 z1ihNhqM8kI5glnZr|PbXHc28@uwpyXY>w#dGFRM*D^5ldacl(U*M^whahmJ1<04Yh zTdOKn_eC8rx|yc+A}`rz{yNGHVxPHbVG_JyB0|(d!$w|) zCb*SGgELw}YJ)So+XjGuAzIhgqT|q|M0U60tq8gmMz>-}r{Qu5U?$zE14ajO9<@sS zVpK5SEY?{@p_3_DX#VD(^hDSDV4uKG8~ZN*VLtOTJ?@gH$7&v*3QL?7_?cnzxZU4v z!&B@h^?uOi-P5#fxSZNNgMBP8chC}C8ti|Nx2$)Yfk`$4v;=XYeM!}Z!+?zSq&hn_ z0o@O}!mryv#J4m`=2L@3rd45)n_!WcJ*5^QhZWNX;>;7z$a88zx|l-_oMYx3^dq!+ z&9G_$M}|mmP zvOg3;(44q6<3y&YHe8b8lTmEYq$78+wjR+s}($u$bmDGpk~L=6eB;-uz0O3JL!#Yn&^+?D7zOqcTX)r>Yc=X^r02l ztyoc^LZAng5<@iXifTo*sLc=EnV;7x<^_n*z*2hRR)0e0^UP~e8CT$zaT-KD7WN&dk zuXMXVWgVuFXI{+>-EO^3?1)i<4>po&POb=-nl8^t*pxxiL$S3Ca$RPSpnDGgfsjsH zV`X1Xsp1_E%0TU{1;;*$C&3YoX^S3-9a0+Y)w4kQv56E|-`aep*l9@|n>x2S&XzR~ zyQx@9bT05|fW6fO(u+y#A}|3VbI**Lej!xwk2yXy9|ecQ=r~0F%)EnhJQ93_HgozD8h>V0A$J6&hzMMQ79Llx zM(9Biny!S_d7P~pp@Skc9fhq$Xsaz@VI?uhiZn!fnm(&egQVlkOE4`kT$a~Q8c(9y zfvQ3guA!ofg#_yD8(|+KG@XjfBA8;4gfij|1L-rTA2C|h85ebIkg5=ImZ@l88<|G1 z;u<~@A%Y*Tb!`0E2{NUnMNHAheiS<$Mg`5JGpT_eFGJ)LrIAe);j|4~l2)3lSWO_F zA{O%DBinCsZpS+d+&e8nr5N6UI?%~}kdrFO>jxGks;-oCm!97SuI=U7hvsm8_q&W6wvEj|#r$m9_*`q8!SV|cZ; z-IO)aCTQjLES|-M=%&$ea2#FJr?{kYJqZg>B_{odExiyqYCwiWp1_~=V4q`%@;$xk zNrR>jwi~U%v;n#m5r2Fj8ydpI(7-)2imw#@id@u%9U3@1ittZT-7|V8hX#B6Ky+`t z_dlumh&=ol+Uz>2;W3GNO*#A!u|3rZ6^W(L6EQUAwHL|Xq+;C%-v@0rvuE+8o#!Hd4xD)Z&;bD%^{RY}D8P z^HkCrG*o!^BKY#B@ekf<^ea;IPAf|6C%Uz#(U59trFFIM=h$>JA~D4rqH0amjs|B` z9%zUhQ>0$+BFt(gg-99;Of5vtVu;L1jTXvbrv`rXGNy!}3lqS%TtR2ySH&Nn zr>YZyiGPHKeRQkt0#$W1y?N{d_0A-+kAehxQP1gPrTZ5X-MyAmCU?X|v1)6O)bJKT;j)^365}}N(C6Q5G z!Xi2u;d{1LVqZ?t^WBgpsLCfpn)ww&n*RDy&~XSPSjN_J$X(log=zp}q6%hgk$&x0 zn*iS2PTt&@%OiW{1ZVgF9^PLWmYt-WD4E|H!e_4HSwOWtOHALgiSiV)$|xi4o;7g^ zns!fJAp<#Vc5lME=b2omjQgkO+?cb1~^eiWo>QUd%9( zt{D^@wgxM)ViSd|-C^{!(muDX_Rp(?F1`7#m30 zE6Id7MG8$dYv?3{Iq58j+7!hl^g%L4Nt+;gVprn=VQVNv+xX3K9cUuZolN=<8oh93 zu_;cV5|YkI)1u>O)wBhZSR+-fv||g>Zb%dPnlo%Fs?ZlHT^rN%yI=8m)f4t`phZ<8 zh34p0e`yEwbj3T(Z?URM*Se54?|#K|9x!pSNvSllX#BVlcdG!6ibcvb^f$Cdo587#Y)G>{pO({U7CXg&~Zey=U@MmXtKXZSDPi2fd! zh+~){iRLme#S@^BNn{9b$q@Y&T2UHyHe&wLtqe^-JiHhfCV7tVHfSBlQM6uJMlHxr z$5CrRUhcvJMa7O!@`YFuhi8srqhpXtFh$4EP(F820Srfi3`a0yQQc>%^*sVXts}xF zQv>Yz#lhUEYtwpdvr%UX0(A366K)y2e*i zBN@)3##!ss2gNtDiyCK9OQZ*;Pkm8SzKb#ytyoS_|1YT3F~kW?(a4b`NeLO8LxlNQ z)}HLO;WYmFD|i-$mPCFM7+%-#!!UmK0pWK!LfePCC18z>#igN!d5-*5V^1h>lL}l+ zpN1wNKD@XDG9F2z<1l{Hcmz&^(`mpLduZ{om_q(=hCoXmgVWGb$SC$<9Zi|sX-+h@ zR#IfK1sT|B2uJytoK2cdWGi+-Nuo9ogP2nsVaF_<28vD%k+~^yX{v-Gk`Pa1cI6ax ze5{tkBDZW()`T<~|Bj&jyP7;E@`3W*IW-RU8pW;?Di8j7t?3|Wv9XGCnwY-!ZFCZ* z#_=n{oCx0&P8g$k7O1!Z_`LT(sm7;%%b7#-_bm7ane^&54B7_F7naz9 z%p%6fgV2YA4&;!^`&Eq#SXvVhbxrAw@F>nJ2Vr3eb0>Pw_^hIw=$T54j%)uW{V<$3GZcV*sTQMr&ar8u! z-Q1!Al!A4aYu7HkH^O2DB?Mu27{6Pwb6mp1adzCo4ptJgnuN@yxhNve|!Qo z+q)7Db&KGhRy24`nqM118O{WnyZ{*W_idm*fxX8r5@>Eu15igul62D=M2*}mLJ7FV zU^p=BWI?ljug5S@YOWKyrnivb4CAu<_y{y0&CwRV*>D<893G6)@plFOcLnn-Qn4_T z9}80_(**5jZ2<>noom{U#H+hlfe+G*CjA_31=))$po%V$*_YZ1C}+7@L8meT+m2my zzV_llMD*uah{`^e5c4%0=nHtJ)+`U)@g$1Vxx0gy?;3N4JlAy^n!hW|=?n08e~W>c z>;Bx`;)8$icLm5}!;;>brq{joQ<(3v<>W4mO)g?iovz|2o`Oa;^r*&QVnihE&zmK% zw=mij+F2Pn-elE2I0*f%@0_Tlb>>aIcb)YGtmiM_9HwKUW+L%^Wo-!)9mz(+Qub^- zG+x_$7w2FhfMrZy-1hpqE!0L3X&$XD3yM8 z9E$2DfOJ0|M;KA$e?qWKbE)6Lx zjA{vMG?fj~JQZb9e;=Hd`ce4Y9t9>_W-OXHRQaI*yL zXY@sk91Zzj?Pug7=UV&?XKqv$S1{g{<9_5N{;ojmFV13;5d1J8=)S8Hmnhyx?zH1? z(8!~f#RZ^g1MPs;T`cG9=;Hh*IKXW@^P%GAWqQvQ2_e#O@_6P$y*ilO^wk>n)gTxk z7wXtoYqe>|M9RY$n4$DzYjJ+Q1Nn}#Z-leQJ=oGIxO|uuj1DrPj^U`9r5)skkqhzh^vy-a~TsFDAhmnjK77?`LIF)CK; zwjSi!fkrlCXhr-Q#S6h>;7)7MlEo~KAPFIan6+_E7T@{0H<1aAY&@{njx?xazrWgS zUo?Z9a3iMZmQn0*&PA#-NH&-vI;VIR7k0X*A!B%IB+*?B3Y$QCSiDWqrT4acd<+s` z6L11JQ$r>6d6g(UCz0Uoj*x(<3Dm7wJc%ed(>E%Dof%N$9ld##t1QY@@E}a_fy!zb zPu4L5cVQiu5U(P6H#c&U7``Kceu^US)mOkD8eLZaP;vVENac|#31x&=+W#QS^K*DOKv#d~wn1fGO(|^TmQIV+or5wsB*GklY^~U9@nyu8Mn2M+3gZ{8_gs6Ltt z^OtG#GhEc}v|{q$K^rmfX1LgZtnLGH!`8wWv?)`;Zo0^A)SkM-KXQhP;?#Gqg;XqccfMn4$_)l^8QfL^K8+%BA%jJ}I`}Clpxl z_qIt}U`q|rY7Uo1a0-OF8IofT2&-95BT3)b(a6YBOe14fxmwhpr(PfuWRBOOI<_O( z#Mt<5r)XmyyOzTZ?2q?h^e<8ax6EpJMdO-5?LZ{SMEm-@=4m^S1>~lhKQ%}=Ym?n* zUSKLYENBgy&hh0otXE?5oD>|EhD^VuHUsF5_}z<+Z&h z#jFA2V`nX#-Zip+wMBn$X0lNvr! zMhuxVCpKe`>N7F$nZO@`)R{PD^hJ0Bp?&_m8CYD6{}J5BaUaa6?=dvI&(3Q9iRO3I z4jrK-vR@r zxCENsqFHZwfca0KTHEt~lS6M*<{qTXy+q_wmHkOQ;Xi2#K9yT5vAv8I9+W+zGIrCl z#~fu%=uMi?C=h-o*LblfjB5y5L*N=*^c&kXp@!kqkj2W<&-9vJL>@iU>`oz)gqcNp z&8{|{(n*q-k7SpuOv)@H98&a!78c$_#fqr5#s}Ssq+2niTajgI3&HXDVlFXE@2XS+ z=@~6t!j|MWy$S$JQYFR#rkkj9=0&x+F%e}ljXV@gYxoqe1ge*GGDCFJ3hZ5_1aHco zHZ38v%Cb5vA~tLwV%w2ia~c+ns+k3%T!IExZe42ySDy*A+scVOCpQi3Q>E#9(2OK8 zL=(5>Br|rkgvY9N;g8sze#FugVXMOlc5og>e_~4}fLWFKVphvQDHlg#P1x62Ezs+r z>E$Me7t?wjSv3)GG7-RE;r>5yc$o~lLI9k*T4h&BEhHi`5NzYF0U|%Zh0eDnbj(|F zA|}(lOWvFxq;LON0@hWNo=X?uki}h?lVlT+4eLH73$RZRneW?x*YeLc&>EJs4IiXV zuS-}MA^+4jbS*Vw!Vf^9uS*yWF;A0H`Dog3qF*f`-vz&-V_}EP8t>mx{F?7{4w{w) zJ`_l;c~Pp(n=asd?E(@2Z6)o5X58z&dMi-LW1?WMpZ#X~Mc-$>YX%2t2Gg$)JCPr7 z-d>NxKpMlJl7g%A{chT7~+ zw>8hsTVUv`skd*0m-yLqCN4~T*ZZSwlsDj|NDUErDT)}cK2WidK;Wr~{Ct2-U9aj5 z)N5GOYe+STES6TilLHbW3jEBf$(uF2JKZ}0eW<)k73fo}YEV`^NH4&VRCAJcA9oS* zsd9~C1ErCvSzE7Ge5?@M5kbjxE)8Ge#r(+$z8~}_ww6EbU3@Qt$dA-~>e{TPI=Jf{ zGZ#bO4@XwbiI8hmU2}Y_`lgo0nN~B3SZRMBlWe1H&?Ysz`X`d8(NtM=&9m^b9}7mN z*cjjRAG&7JRu+>c-BuKd^saKVtBuG(`V}Z7;zX+P!!yx}J(onL8TrI{Us9<*ty)$k zl~uG2TdQgAnho~YZ;(+N%?F0&(6#Oo>A%UmVVP}-MxuV^)Yyf$?rRb|$(m^({?3OO z9;-za#im7r?4gCn%aq|cj+<1_I@vsHDrg_LwY_(J7;a?rBg8Ibo5kXiVV`Jx;6w9XxSS$CAQ#Nu zqS4H3Y9;n%bb`W;b&fD;m?ACv@<2lNhGqV4v<)s@%xZ+32$CLyIt^3fWzT8@kZLM= zuV+eUVHextKhU11-O})xI6KqyTJO!EtV2o@EnrCIvf;(260vW&1|5W{jRtn{EGA(~ z2<0=EhApXrON{i4X+|@*M$qrAs_R2&dE`6#Y7)9+R_%Fw5!I01h-K0=|I!KrGKQdx z0fXbx7}=jx_^(;CV_9d!H1ri3D|}on;ZdzXCXL0WZO~LJdhw|Y?12V(toqW7yX-D! zvDeo+Hu|FY8o&BlkN1qh`7lfgR&gs}`;>Kr#q8AYS=x-I7rW7cNlOrc!jVgJ8rWH{ z0-hQHp72*}(E|Ifzy@j;N~V&fpl=hYT~<`IL7*fMgv<5lDUd;8auHTl)UV&Euq)SiB3vW%js5VW9(5(A{QZjP>avEHpI5e z-rK`v!ET2w0u=0}!PTS89KaaaJ6(#i%y@iDU5IrN6P;qBiD>avRrWzZW+!|}Gz~3& z>l6d386^3RFu))}%{&2)TG>=>5j?ixD&mwp__r{bNnpf=hcb{-bI4!3cqV(2RZG%& z=$cBwE;ir@v`%7E(bP`!he<^!y!kp4~RU9 zKS3K~1CnY^5R+ZSLr%iSBH}1a!$VrHLUalGg&c-3ZCI1lshLqLaMBVq$apUzOc*l0 zu{$3oCX$zsaj5Wsmz{JJL|*osWvO!~sdJ3dw#CVvSDCmJBC!D#u7$`Q#qPKn#Rfc( zZkp`;C1m{BhM>@Z1NCriRx_*6dBy>vib;5=Ds)96#YD*X=t#_tGplBP?pgki*J{&i zMW>;E9s2c;kvahj8vP0tF@E=IKZIl>gEc-5su{zo{fmK~gWV`|@TKj8wQ_W5lsVuU zwiq2Q*YH3Kkj!Bl$7d0mr`M?3*gGnT*uu_igeG4xi>UD=iO%0bBK>Lq&|z3~7`k*AcD40lI8$DmmN1U3;dWEu{X_fS zN&6nlt2itCJY7+*_33$(ne<|*%$my=3k*R!8G_Q!*peaWvTC3vP6=vM#+g{tzDKj7 zG;Sd%F+^rfHH{;A#=g-+Dbh8JY<0dLq!`eh)(~2QI;-YlJ}I5W6N%KCBNOzJgqg32 zTqhVLkxGe}9J8Qo27a#QAeB?^j! zA^0XzYf7$FOo&#cxrq~(i&ghq1BOX||TGf{KFvyAlujLTYKbNKMd`C!jD)`5*A|#&^xv0>^1#}6$y>^kNj?n4k zS?W-y+C@5)y_TEW z(^JDoUgDPHoz`L01Dp13TE{EEfD8b9BZ54p){N}E2#?Gl4O!Ie4CL43>7i&v;PN86 zKJPD2t>9LDLMC!T>G)al6Q4m)(N;jg3qXK>`ZLFPHqy{5FI!WIqmPt#9Dqfc=8iGG9 zjiP;tck%ZUd!Zg&tY0m$pQj2b+Oa1c1x@3p7X_aN$qda+M?qsCUSgk~*Ai_=N`Ad{?n0gI<(W z2_)E@z<9l=oG?)Yt&?m)Yz-K>i+MC>Z;g5l+eL_KE5c-n>qL4caW<@}a-E*gfZP_} z1moWtMcb{`6z^mY(l+ga2KwoG#?W8;3}~@uiFP$1+ST|jD#2|GPw8|XahQGJGJL@J z>aPQJQoXXo!fr2dG%#vw@JS;QdM=S)bJ~ZTS8I6CSCfYNSmtMI(s3A8^IqYRM_FQ$R+|KKM-8%uPs144ycxyEu|LVj4CfTh?h&} zQ54d(yF2j=t1v_knvi50(y*$}VrU>2^*{xOL~hOLEcjh`dhWy^d7Dn#pvgo=6bbW< zvIZ<~vuS>?y_z+UMG3V!(ln8uUJMM>baKbeS0cCO^iKHQfqcG%<6&4h9Z1uJbeB~d zfCO@(!(j1k@%#P?R>ocjJ=kd}LBBqj4fJuL+uJG6vk#`8?8xq+7Cd%uO?xrTk%^!PeFH{Yv?MyWieur3a< zS5f8%+i%g35}Yo|{FGHo7nRtw3u1{qiYWt?*nvd-^xrM9LFpWmx5oEUlo`)zNkuZ_ zd?&;Td+u5)KO4~~(A+K0oSJdb`TC)npwmDH5-ByOY9flKA!t0&5FVT&r)GFn+-8#q z88#Y1i;y{sp@9NqN8N^uUk#8?57J5LywMW09^~|5WFV3}KUExPAEEWF=-n#AY@n-vrn#O=;f6uQ?sph9AXgO31Qlq;+UovI}J|UY^P7rzuoM3 zy_ZRr7}l|($f5aB6!R9uC-*(^!A@RODrlayEeo2yGFwU zIm5bc^hQg_lV0a6eu#&>L1I&c!_2Pbj~_st@*V1gH)0Pujv7upvzW*a(o{COlp52p zk7`^X69#JjbuBv1U6crD_(qT|NOlbYd0AKXcZ-;y<2c%HTEvW3kpfR@Mh~&P-d3DU zkhBnOf@_@gYPLXhaC)RhXxTz>UYUr&jLj!O13+Gu_fXgp@0LdRLu)?nRTO(i-mP^i zY-Nj@T^(3baZRPn5U1DCi~S}PK8wctpmiU!T23t@k025>hsMJ0UW76uEa*6Gzz9hJ2Ml}qwWp?R*vtWGRRs+53MqDRfD zLjMMJ7&h%f7a?!e1_L%)d{g&vYTd`8`M}t8B?j$+NT0d85)b7SMUA{CZNia0;}^07 zuPMVq;kU7nb(?4U%)GETe19YeAl|6DUn01t3XDc^@mSR8S(<~_rQ&{nceP9Op-9!E zrff@seU^08dC#TQ);o)@gwxn|(l%(bnM*P0@s9Kgl;_OVe--KVd%iU zFv|G>p^3xI zoYgTtWewB^-XZ|=F+%p5kE{9%>dMH0=bGRug7OeIBcroGxxOz6qEsW;?Q_2yr8ZtCxy zSYno?;|fBH47-S^a2y_cAZ8WlpX!l{sctG8Z^y2iqHB2K*AZp z+2|T2b)qSO)qj4xYr8MfdDF-{SHJ(Sw8jzLM6-j`{1&K=x%mH`#9Z5^bk=3ER~Q6o&zL80WW7AxLKv`u6$ttr;=5;s+oND@P40 zWKA72c6kN)dI|$mw8Z>~NK+@792$h^y8t3uq>X}vArrMfqj(od+K%iMkTZ4Kg?;%P zz*G#s#6s^C6Rpu_?K^Y?A1BSJku)_AxzVcKhiF9TL?JN~MVm+!Nytpxez!U`b%KcCf8wN42lulfVKEjfd6z(5kWdN8GW?k+Jp} zW;PPZ!6j&lO=A_aBqI|?@}LgMMsn=peIyS@$4n8qQpfwaib)FcWBR~U@ywMPuaM)5 zh|rO1pFsxH8j@?rRh|HmnbbBhBDk0<&b!ZmP1Z?GR;-!U3Dx&*D0-E%Ps-WJZ&-~9 zQH@K)b5F8%6~9C=Uz?=eMaDmx(eK^!^uV|f_D$pQa4B!^vvwb`ZknWu13@uP0w7te zTaaQ;=1)g>>pQ{z;v%qE7K`t8QK7w6OE6*FTaawXf>7^L9leVc z+ucQG!JmSPxbLv3vcY{hqa z5D&KmOB~b-QgeT-X<)N2hRU~VY2pP6h z_7asUM-@V81fj%T*vCX=7Qq3~PN0~$vA<|%zLOWz#V07B@_jCR8myVr+3MBtj}fHT z5z>ovr(>tLn78{PnEfW0z1U;yt2+E3L@S?$RHq+St?04YYID&l`q9JPs?8NRm1F}t zk#m5~K`*znznV2)@E%AsGifwyXdTo=(aejk^FRz$61vx#X0CQyOtpu;kLcPSv<6Xp zsdzD*j4?=>&P)U}TCYM&$&)oHP?|Q0xy36ypp78V24bzvTx+ou2ZQX^;z-!G|3QR_ z3#9RT3YWw}!4+ucL0PSA7j^v5p2JL>Q(tCr52g->A)}+xwwabldhuQ^qf~a#5~cA88N4p z(=LLEoV*AEThZoX1Ja8PNOyWEh%l+LV!R408w4z)ZCD}_znC=8#Mp_n`9D}O)se9x zE^I0*W>=&1L|)7ws+y63ke?>k)fp9H9kUJE3C)5ss)(MS#g8mRw4;{^q||nxl0U?9 zJ4dw@=hTYBHxpSh{p%tl`EI#45$L3&R$Dre|jIAL)f`0VMLf76 zRc0R2mtu_UG|1oRC}kN^Y_KA!cp*1nwjjX?%_UtGHp#Oa>{j{4Qyxy`wNEN^n^BUxi^l@c}iLy^|OV@@9@l@-B-5>y$>;DR?!J zIFpBo$tsd1ezr)k-X#K4uTrQ+BdRm)!Vq)%tTuoMlpAy+#d3RBfx(mXvQV(h`V#Ak zVn)r{iGLfE&l>h`swW~G6tg&|2!-sK!?0pj;a@}{N|H$$_NyGCr%8@)#aL8ko-KuD zu`LRKNTe}Qg*QY*WK}(_k)9|eFGH-gs|}!z^?v8#3OO_f+>2G0KnN`3voN&!t{3k_ zBKti8Ay`J9LgS#vK8rv&qFB;o{Y;~IWEHCi64@Jn9xJ*NVn;HnC@4ojqHUCfx7j2( zTon^J5Ob1~N}H*v+>Ty_y-+4gE%NCq?4?StqcI{aL5q+@$hhO=>d!qSO~F)AH^o-q zK+&SU2#7ViW~WmGIH0T{s!kg+X^yf5?<)-jNoa&z(mUK2XqG9zwF0_dq3thHsY58MSq-5c= zW=!hOBcgTemdORA)!y4^!ZHbP(#Tf<3 z0W|6X{tru`uL%PDHOzrE(1Bc6d1PlRPE~U&`EjK@k=13ri;GCSG^7@ zup4f}77Og^v}mIIYbP#&ZLJHr>dM@c_zW1H&fJ=)BDbILvcda}#tXr&eB8#WL_n28HP@*4RZD+QEv@kYdwC zE5aM%qm!F9PLjQ8J;*+a7=F^no_HKxCD`13h>87#u0>p(wI9RVKWswdb4Y$Rv^7)C{spM{Z;)gQ3ZrILuyI<+YHS(xf#^=}ydI zrvbmj926I@#I{5F)~fA4e5n3B(J0y8w$%R1UKQ_0jESRKg#Qm_O%{csQM8?frN~CX zPL28enzafe8_3ez&ki$HU<1g~!f}`sr0s0E*1ngwOd2C&{^lkI$#P}I{jV`;C(aDS zYX57z+b#v4Ni|9q`(I8Fv`*VFwfjOQE9qBdE58H6(D}g$}q$E$DVvB+< zbvczraw_DrqA|70Ow2{XI;0TmZW2;=SMMgZ$A{CQ6b)x~F^M7>i{6lDHV7SD@C zDo-09L8w}3#+ZzdW+wQuWlz8=VhZI{t0 zLWTw$?_S&lOzM4;8GpZ-Sh=++dJdco0!UsK%*9)=8vvVVE+#^M^i(WembCEMz zqqCp}$jck?NTpKKp)WcPLjx;+qImSa6Zl$p&%m+i%D8DVEfM z(yQ(Dj{YLiBT8ICi;uU;Q%@TXk?V^(fvJf@_NeWGcOpnr?v&!Z=2GMT8DUNuVFs;1 z>qdS66JGBlBWep99>)xgoqVY{^myGb^13H`?@UP$?*paI_3n>li~O<3Ik9V9k0N4w z&=7N@jIyUTtr@eHLk?ut^u`BL>qdSep8NV@CiXmnB5i&qcX(YVx^Z z#RrpTMoEp?uEofmW!E@jTG7y`n{+F#t?R&r1iSS3Df*Fq_%Dt0sviwe2!aYsB-Wg@ zQ>*=Hay4~IBzu0_*7OIXa9FoW^cLGUCcTncge_2Ww zY<36P>|&AImxf9#2I_&_G#?%;5onVLrd8&=zfJ zvY5~Z!d)ULheKY?>BSsge6_I^83eg;WY!$H6nCcqd?iW8lnR@n*4ndHVGlJx~ zjvUEfLYvoI0+ydjo7)Z4`%_5$c(-O2%jrZcj z3KQwkoGzs{&)&uNn#b83np9>@)d!k&$o{IzK5N(_x}oa%igzM{?!;=MCq>m~lMUi| zUUcTx)E(j(*xtD?$_ic42^45Y{0SpSD@&W z@A-B8ulJgwQ%x~w4NKE>Dbg7h3RsNA+pr}tVD(A_wOkB$A&^{i6nrXM=#X%NVH+@- ziOtY5Vwpq=N2i_eY7D-70Zn)G%|1rsa`)6pM;MigcR}!_=ONReY^b0p5C}UC_L;d$k3JVfxRzL5E?B z)m;>Oa6vsdw2cYVq#|b#|1}5+H?SKTW|~iQwE@|5kX$)S128o=jmdE}D zngLZFgOiE9NUJKE5Fa%tMyt*>WzQBT*@A?YMJ_bsSOvLwA;fJ zHn-8GSQ??Fd9|LQcWTp#)WDFlSWU96@ib)9wxO7~O~i}$iPXzTt-iix9X^hz z1OM9kvk>EwHAUP>4Y;7{JYR$(*c7uImDbqDC zuWGX=f*6OLmSAFeZ>@??ri)4MRM$%DT?9gAQay$ClYw-aBNMn4nQqz0qNUNtNXaE; zWHEUoEF_N6qj#;oFODq-`jYg9p#A7talMN5{lcN;7*x>oDGhIS>fWiBy`) zcLMm(o%qmnE4A@VpEYDjAaNm#qSH`;kXalTk~!{1>!uL7G-K7qg^mC~O9Uv#*`vlT z1h;-54d74!nOz}z)La%+&vA4*j)<0zp>Yl8tN}3>+AUHJjVzjzrt~VpN(MHSy)S8dG*nD*A0uyB*rq+D?fKl}hMI~WxGA@sq zzbfnvYamlQf>KNo+Y`O2T$=>vz{h%O$>YqbeS45eG|ma<)J(*@SFJF}5qD#NoJ*_f zda>IwlVB}_KE;;WZlj88*`y6X>EqIxkC%M(r}>B_ekTS?EUo$Y2`&Gf6F*Q}$*BLh zTvXh*s^r)t$uSHLD?}P})Tr3qiTH|S$5>hhxva*VNGBZ`{uEszRqdkIS0^%fL&89a zG@4Ha6YJfvXp>_Rodyx#Q^km5IWamP1}%ro;+-Hacmx$yNTWH)6I`}Bo~}H0TO57u zVr!z1Ig0Ouk&ZH5iLFJ*tjZcW4(ohS&uP0P^&YDz*)d6dE@&G^#iGDQR+f#=trG(zwlt~@1+%Kzail=&NLdk=tsZnAtE8XH)_7^sX=o4)h;}} zhDCOhgbLnEOI`eG2{5)Kzi{4#tsRCBv@!b+7#{-pz{Sia>gJji;VmebVTpW!6j?Me zieiL_Zdn@_aAwdvy{}!R87`t3E?k2+qFG*z41-GjhHKDNA$Qgy!))Y$ia69n3eC$l zjEknrYiRhZ8U)N&x)VdYmswo{dE5D-<1ocFth?Coj7UhIV9**gF7~LBXlQV`5m%8S ziRN-P@Bj*o00k&r3*zG@=T%0i|*HZWFXbIjvcr(ZAN34S{3;&WV880 zXx0lJ#TR=JZDP|BQoEHOV58q71IZJR-hY~!Le65=5EL131sVo2$}>aKM+iEP8p`Lg zFAfr0gCw?S30ic#olvxQIiEqVB~obCSJZs+hq7u=0*Tq1H?geB>P8U3Zs7PdkwUY+ z!>`MC>5?Sr5{pbCEJ)(h%e}D{|5M5^IkefMyR(EiiLpk06f8F{!8)xeOXMTqEzOs&w4ERHFVk{3?HBsrf&gOb!bkx`sc zU=9nv-nB7}7k@p`E6FEiEL~H~z3epr51R5e%2>LVI>s)yT#{NYSml#5%}GJI759N! z(uvx4+4IXS>3l^Z8hI`t5j&AdV}5{YS9gJu$K13FznVP4Yyc6$WB{98YeQC*i*Z0= zxo8EN&{A7@q*9BZvmD|CyDF(ptbw2#IYgn{sE#J6xqtxa6zyor z2p@u~J9XT~l#aqG&MeJ|S2pQ1YN64}?N_p~n{*b$&{zdJc@pFd1tJoeG{-e$v5cVu zX-M(Qd2T$$=MUvOn1M%@8w0e;q^U**M7`PHIpwnit?f9=k%4H2ltE7sBwkfVFx2C; zHZg;qU7JyjRqQn_f}By8Woo(O9JSam7TExIEa~RdkWMyg_cDVh`4pw+(sb6c3W6kw zhC$n)W{<7fd7RXF#PGDl&SS5RB_HV)nz%G7MWWXh;b~Ll<%7gDj5};#?v+L1n zIb=@Co~Xj!S`O*eab?FM->K2DwG#UipwsKUWPyT7h1Je)3l#Ks)38ORVHlo}M-zuG z?8;)+Feq!FDqG~y^eQ%a6VeLx)N^b7$4hNeu)ZbVGJ34GHk$DwFgTC_97eN3Uga*@%74!`4>-a+vf+AmP)GDiQNljPhay z3q=^mBK_=>*xY=7C-oJ8mirY61T;B}6n$?5-fH>m+Q}?m`i`oxoTO z5){*53rqh1?~r(Q`u$s5|676`C)GbV{oY)}O{zIK2QaN}$X>gNM4svmAp;hln}C0C z5ZbFDR?%h?{M2Z$#06(gn#=FZdDY^sQok5ZF`j zh9K-Seac?}&^J#57LnahuKLWL>aR_Wo9CH)P9~zjkvla-o0E$@NEC`mLiZtasvmAd zF-b~nZ-tZPvuQ8nSj7twNFZ~P(n8wQ-}U@-82xSykEsLfLZZpArv6!v2?$%5D3$GJ z3-ll8wKti{AP1<1hp|i7fn~IAas{U53G*|6IES!&y zj!CO)(oOsBJc0tLkpd|mg{_H4&Eg82G^(+`7g`0K)w~ti2ua>_p9@FbBy2_i8nPDF zQpPcAm4hKCWRe(f96PM7T0!T#8`>tnAF+fUwG|A~d2D1~+BLcMR{ac+C`~LKkRcVv z2~@8wfo&8znMq7ZKkW8(g1Fqse=12-51z;af@nrDOZZtOd`qLiy=qZ$OhjF8YWFwo ziN5>}4;v)OZfM~^)J{tnugoBQ1rqrE$g+RMzUwJMd-oHbM2`yTD|oB6cZtuuh=h<* ze|J<b@Bk@<4rp2<0 zApsBLpT~hF^HPs9TCt8MH#$Rsq~5g7QWlFRqh10Ar876Gf9oXv<>36wm<^$PXOp4v zItjjMu8~%~VY6TL7^=4WF6^*3PKG0&QYn*y3HkAU|yAhbNc8xJQ zirwzfh=_tAscYh%m*pcgR3^#4pbRv!q7LFOc{g_eHx;x~X{f-Aq^OsCbrxr^Pe?%4 z>}WUyK69c*aq93~NCHe5o`fN`7cXBYkSZfJqJ{00p@|>gj(;8*YGdm&$dyEUq4ETZ z-61z(d&fC6_F}JjykmO<1#rf(!T1jCy}1yWFAhWfo1x94t=w=AYPe$&dA1jdYS!G} zc#0(MFxKZ5_cztc!5(vL=|+xS+=I@bHGl_%y6Eqk{M1=nT6597b`aJeBOi>*X9m=KWk6k(E}b-8QFaI!P)jtO zyBRMgCLt?~lK54ThQ$cp4!vhMm@6 zRR|~1RI$5<1gMw5G-~Jwg%h~M&^XKZJtzDgEMaR6#>^rvfeE4$ds{?*GL;~DmAPZm zXd4SC(MYKGV&;zXr@uCL{}!NC(pirS9q%M=LH_PM_G$6aCOAgN-8J9nRjuX8>CK^h zKe&uPUxrv=@4A_^ z+>ciW>p#UkeT=1jj9skixVZL7YuMU@>D9JtCqY|;yNgViUPavFE_6dnbu$xEHh;rF=a74+HoK=zt#i(>jVPU(Rd}i zNz=jVD?vinqhU60ZWlt=H~q&+{YNB@8rk4&+I$R?2(#v zb`bJv=fS3Z&?YqXeL$e&rWJIJ3}MBBiX4qWR+} zQ&*AJzfd;P&elQieuFpr;3SGRXbCFRvD){-x{?|#dB*g#SM8;nN`g3ptnrYV&O}rh zyx5f=owE4sQhfF*q6M2hX%rcd8*|bYs7?z>dBu05HE3YRYv?T)fl_&m5GzB1%!~eu zzuJUc%}wz@nBkbl^61lRUmN6SlGp?iD6MN28P$qvVmo@$r|4pVT}44BDeIE{i;FPm z@?@Zq$N@6vtcUbctTN0A3I3bTW7iVMdB>sz8F(Wfb2)k%8NBpn%i*2M`;d5FAlWH-3qF+|mr>QGqb7{_GHu8c`_n6+t6aAPk;OP2aZ4oA@h0@?_IaOAzgZ zW)%QOrb?TZpm}ACBDfK?FqJW)AJ0#?h(wvWBS3-)h)~i5T6!sY8y8nnQeuqDo4~C1j(7 zdWm?*Ud?717#f2D#1^4|)!c!^%#2DrB-Na->t2Y@;kRGHXt+ zRaQxNoo2cuO^wu=Bi^KVBppRVP@Wr!H77ve<><=a)i)R3OGjSK_vJUA6t0upATMDa z*^l`>palsD(U&;O;kIwlthm@-h{p4_rH+GDTVS2^#V9x-tLE5vsdfU%^2|_b&XHDg ziVRg6Xp;0|bXtRpZ+2G2wJCK*1tgvr#l0emXM_$dz0dIP>tRa}iq$4TT z+F?~?r9qTjIu1h>3#f{5CN*YpjOZr1Zxy|-a8@xXKH1VFJU$Q_du=#$k^^m%*042w zr6{)pCqbaFOYg4XBeU8S?Zj&#bCEN*W>(ePAHWHTW+PD5ky`VTO}8q)=b5dON-rC| zcu2GLSw_Td(nck_8gm(Z#GH2F9Tu?1FJ!f+Ce zruxn`q1@^&EF-BW94WhKHuFJvdfx?XJ|zj;xNnK1{y|OgeijB9bs8B!HEjviqmZN@ zj+x7uT+=Ux1oNHPl0N~P z>yjGi=Yw(4`axF)D}7wRQ5>?pI=t(9@W7P`d*xJBrAW=b+Jby1__Rr8iTytz_|UYf z4}@NM4h?Km%-kl@Q2(URvLv6+b){%NbN5I+ zqblON;T9mN=17q*t1==*-Zm;Wc-KZW8Pz5z4fCm*I@`}w`RUJ5=pMwGM;6j0QRWEgyn2NlV5XuC(4~Ir!S#NpGDC>bRYum&x1i`wo?NvE{qt9Z8!D&2$3()Kq{4QGnkts@^1ET`cY5V|mT6df9 za2GIjj7?*aGodCg*j4Mb$wJ2W4CxqJaExL-Y1o6d&No7zUyifbZT5h}!0!E|!eQJ@hJP1I5)1P-5--oHS94`ao zQ&S_7!h?4~oXGTI*OL5&LNOklzq+Q5e?7b2=+-WSdeit16dMJyi!&J>k0remX97)D znF8~jlAg2=yGfzpgND}+v#Ci>Had3s7F&<2SV~~i&5|zWcCE#5w+r!V3G)}+_N*X| zbjz|Q%o7|Yby^yI2`xm9Rt=GZLL^rBTMLnSS=2q-fGoqLCtKvt++r9&<30%1L&rfI zTYrFcdrzgYpjZ^0h(L3~=~pdQlio`@j$4y8UqxmeK9_$k1XNXl^qG?cUX{7B$kh>d zA)07_eYp(}E*mq*Vc2(zrj^*UxP&Aqa3b9_kUaCE!3SwWkt?vU-!tZH- zNuMG#isL7Yjdwf;fl$|?MdWXSP+>wtzJiD@3S`fmY(S#83xhn=kk1vS0>i8Lc!IS| zYzT*G;GSFb<EdhkxBdBC zib*F@^X?i^%v}goK}ybXX3yM!Dt^%Q?xgEYOE8UQX~hN{yDtzvJ;FuLsw@^2=)Mpe z3D9x&rpXJR%k{1`=A<=7OAz(Wc2Vza8p!}IIu07Wuu6FCG(mMf4MWw4XjR`+8YNTS z5F!OTqB=w+5gW?rV~JixyY^oFoz?;S7%RNcg5=C9%aKwzoa#r46vHC0V4_09Adl=w z6Q8Rp0*_>LjEaiX(#Xqx=<{l$1#O@7Vy5Q*dg;X5-x=6sC>QzPFtCRcS{^6rks98o z3OQocTuWNQ(0V^bGLvC%++xvjoYK%NE+cyTgHat9#_Zw#pjbAL` zwG%locgl?-snNCQIEpn5t7!+d8jwUYzoMr712otvd&3XWMS5Yiq`_Y3pWsLzA~aT6 z7Q+Goq>bWpPtlH~NaPttBV1}r_bwr%dlcy-gO<=}2}7fg6wd~kvx_mmuH5`y*)Fn#3Az*O^ia*O$#hI|Wgd%eg~q{N zyGAo~#MyXKGk9uH$kD2;w@veW43JX`kYPoXH1WVY#ptOaA$t+s@z=)@3M#x4Q^Shi zVsrZ=OF*zMT!BV297W(+Owubx0AQ$=G+Ff8oCrznlfZ9Nb2f~qie!*H1a&#iT$)j} zWri3{lPbrjYA&g&n_ev}@wMb;&zVaT7etmH=5^$*NMnK3RCGxd>SOdN0zbtvZ4p(W zH#SKcl)x?jvPshX0icYD3ynushyZ0TlJfDXGNOWq$fg-Z=vnVi&&Rx__9uEKLNmS7Rjg z|0sVuvuUC_%!k*C(2!K&BAe#)DK6>I_Uc#l=M3U;*jkl6%2RBD#wKlpIK`etlrqLA zcU19?t(Do)t1@R~6ot}Ku|=6P{Z{r@NQ2Rwil_ry43MMPalz3oc~i%pnjg-(+Jt8T zIKa+5C@?Hh!aJ_kFy2kW{+ho$YuMUz*^7sPnaDJ$%GUl9CUTHoMWS9sie5Bz+&(IJ z|A~mS4Ptz(31J2v2Jbi~$`%p;aNYUnJ)1zLs~hFDvZcoKt5Q!HcGl4`ESuPc`~Xss z?>u1CFUiEhEsIfBlF4rSommMx6VQcF~*9*S-&8b1j|Lpy~OnUhIC+ zEI&70i~XCk{O7%F1OY@gbea|-S5{SxNG*7wT5y_a(c$t|JjER{2R8DG(p)6RS2@{^ ziGyt{w9`V%;PP%CV1kPNBe(#q5jm?1z|kf4V$-@dt-6a%(3f}W%hO2^>4wES>DYer z;3a5$!&%ksm?WUm=qPHzabz`fGSZ5msGwnd_AH(Snp_5AeA3%*PA;F!3EeKdqwrlK zkLJY@$cr!KqXmg-I(?y_Pr63O?ss9~G4VsEE) zidO>r(SNQ4oyV?Si7X0cP%W`gH939!Vl4sb0zTDr6waAryMWi^yAtFgX934Gh?(Q4 zHDM>d)BXQ^hAp{*f0D1f-pNT`uMLOjc_z_}i;>~$5<1RqGpL{n6VtY0!eH3+vW_&v z3~huxz4%%?VS>?hBtsivuc9pHBw;6n{$*&*$ICfB7{ucceHm>+Kh?EBf?lOx~xJSt7=Ho|-|MMcPJ|8Zd+J;@q9&m5Y0(-F^i1`D3aNuNR+(c~_+ zqX!WuaFCy=DMD5iN*%|h)=~Q|bBjh{#XbW!f)l|6*)_9;ON{n<6-XG|i|+PqfrR&m z!e|$gcEQCjVO3qsO{^}O(e!hW^a~i`d-o4nhN!cZNTWHFcDvOI3d7`SQvVT2G$;S% zPlEJ&_B2UkpGw>=+AUO7_R;&;|H7M|C1@SUh$@_cSOe6H?(5sl@Sg?~Sm-bGdCk71 z!NktulnUj9j4NExjmFA~xrnK-N&P=0(!7YpK2dsAD}6-Y1u79HGHJd9zWbr9*;Llh zx6nX7mrICOcG;gA2V=v~rr6Pnv0)PgktT*iYeHW3JD!V)Z6AcaCGu!aEx>NY=!C-w zV^{|gY4Y@9?_%Q#>6X^1=OP-?^m6WmUfkB`Q;1%MQ4ElaCRK*P33)V!FL61ue5xuV z9t{d*q{yS0RWJi7ij#+4&fioN2eze?XBmctsRhSNAVGhBr$|XVr#7M4#nG)Lbz&zi zp-ZRHi#p1HKZa2K0^5Kn%J zG(|@qO&%DZ#mbTrdG2(q_M3@3ptDI;owCOzM#n0e0ZV)f8lo?;zP2K`C$ZDvixSu~ zizY4@Eboya*gFm1sr9=Z$fp%MsTCV|D_56vt#&V#5=6=;3%Ok5+ob%T#uJ0a6ZlSu zrZl5E#a=YU<|T-JhE;GhibObf|CR>vSy4488e~v}(P?Y-b+3vO{B^r{I^xv++op{t z)-D1djc^^*Zc#ZjRbYoxD!)3dK|_fTFJ4Rv)6pqDA&cfH6fukS1UWS|r}NOi?$q?2 zI5>Ip@V6M^lUeRG5ZsA)3tPlNR%aw6brzJ#ZmkPxt2)q6dMgN2aQ3B%n@`c-9jmCy zMg(4OTA0kDNGsW+JL=2#rlpa?YP70_ob)lVxa(&g&11*nS4#kkBAgAN)>&^F6+7=v z0!W%~k~D|xN%P;Jc69rSqZ03>cLC7?R#W6dxSMd~y`*@)!y-nCSU?wStGbgn*hc z(3QzjdK-P!R?s(TQecP2w6GYxwt|Bd5wfSI>O}OxL5NppD&IJYuqn!7Wbr4Af zQwE}{`oQNwq)vG&u7K2=CXNP?J2ges$(v7L2%IpdW1!9Da@LY1l((CR|8>#Da?WDD zNDK*M3-BTJwtBxx6W}u-kI$S=f~FjASxc5WiKZJ81AJ+kAgh&gR(Ks2yZow2Yjq9j zBu6{QQS|5$7q5KAn>DaJaw4+qfA|k&v5w7mQ!X~%@e5C`ng3Dwi7m{ON+GiH04j*wG}KRypP3lyxLgOt7$8q179TI zwLa%?JWLOY|tT za$ssC+lAvN(`e?^tThNmHSk6tQ|e_r@2~F4H(vsGA&quHOc}cu`+SSI?#R{ZDVZx@ zb{YkuR2Or`+pHA^ft0!xw%#!M_c;ly2~wxd zyH#6_%>!5ROphAX{t~=UK`#_!&qRZ{=_A)v)UZ4AqaM)rs%^qBLTTV|dYse7UK~k2n}AEmwjo&=Tl)@|)hy^aPIAP9 ztwmZRs^8XA{jCO)-C;)wmE87vPy(OTxBVR8d?;-5tD=TSIY`JAJ4d zXJiez+vl=zdaeL{=cK+fq-zsWRx)BCirm(F)s!&@1fBNW*mqq+#;y)GIL$8 z`N}ZVnK=6jRr8gnxiZP(9iPdqmDE}M3~N&J9e#gks`SO66nGTludw956=-zPEY60> zT76KevX5-~QEYI*<3L(S3(M)Pji*`c_X@E>-vMPstu?Kh-Mu&?cXB8|lyTEAjqb$? z2Hi6HzgitWIirux=$I!M8VVhJtgFRrV3W=Jpre3( zLVmguUVR>do`;Q#(7-z%kb!>kG@9gTg!BXQ6PkzVXz`I+jnMy2A7g3MxZ*SjvBncS zOxDCP_4X=SU{cnGm%_v`wH5m-YtY4HS)de)#Jzr6@8KYcUflg%C zike>L2+>pFh-5Jz|IJfD`mTl(0s9}`Lh)*Ce#Zu&kpRA!|AQjasyL2kBQ_lf4pCb> zl%sqgh$4gga5fieMY0m~T!`7d@kAm+=6E%$y*Hd&^Cq}RTr0wg{<^I_wLS%h2&vXz z)%dh2dD)n}L~2h(RdK^HGz8@?A%@6XZp6c6#pGquan!nyQN~dW!ckB@A5#KStgNPy zG&7xiAeTC(Ke1kicHXHqk93)6-yhon;0+r; zPJN%Q8JmBC3;)SLcoOIi??u=6gk^#+7TMk@heXcI%bD~l;%vP+yiX)>S)U@iw8}D0 za_PhsEKNkQSma}bq!~#+TT`}gk(`&)_>}aChL%6xHpTm!iAzw39@-eYTeZL^WIDA$ zhigS$7ICn-X<&xH4jUo0VzY`uB~GPn3QWkFasN80@_DIHN$}66(1Gj{?Cw${2+`@} zoa=NX$8nqo}GpAf@S;OW*{3rOy;K+B8y|gMc9r>Gvukwv9mbMAE*(O6VnYu?_yoINHnU^Y+`8{nVCE8?7LGs<8m>@lzw zG%{#jJahfk;pv6}k2!R2=;CbKw3@0{S>2*S&gP`+)k1G%d;75R2B zx@D^{pDON*27|x^)x>Z>Jjnxf10tjajS@w2bw3#EN?{Z&jn|<$IDt=SEv`M=H&syj{Jj#!IqhYty~dT-SDenorJeXr|%B zra71qUew8JNXd!bY`3#UMRlAHVuORk25B445i-BknD02R>TS?* zI3s;}k@^X9nniOOj8N946z&qPZjiiSw}DQB$i}WJPht}?8$DL0iQ>jAOZZ?nwjl@C z$zmoBaDrCkU6KkY5whL(ejHdgL<_Y+`3_e{#5~&` zo!w?`M4jflhz*(2;grOEO1toZ;N5%|Pa(bPVDqK*ZNci-ZCE%T7-Q3y&`RDX0M00a}3G3ZQxRH-Az7nyea^f;$cwjzMWG`|>J6q1=h49{bC*YFJ2M%f+ z$u#}zpnXi`(H0F61&&;rY~N`^u6J95K{*2k$kebtewV{OZ69Cc zm>rVGMbL5Rnpa>Ib=8vqCU`GXo7C(qzLrLs{*=j|=`_!X;%*6`_C!P5~zN@MFy9yt7-bNEei~TBRcv5*B z;CgIw7Zw|k{b~u&bE2v$XbCu_If2i1?ZIBio*3kT<3p>kFVhx(^@PgJOAs57tJ>35Z-J^0{GWJ7$g&s3UcGBIoMF%}su zP$zhb@$vFn0=|S|G)j5oeq^&f{9myk5Zr%SoIxD9uo;yDc{rQ=R>0g+3ScTIVuAa8Oz#wAQmrs39u{7IdV zS>=gB(!R6=vU_bfF;Qi!Z(f3E)m0tQ5HWutTHUucqRG2^3F3Q5iYLU^)~MK*_~?H} zAuxsg6D=`1Z7o24fF$@~GJ#NnKjkcKLuiHrx74avf>|v76k>$5TDOHbgu=}oJTWDg4yei*IN@AnT`y}@|9!;EmX{^eG z27Le`gk#q!kV|vY2WVvl=Rpe21J_``siqAG=_G_SZG$$V@vM5|EV`Gp3!+|bkx?{J z$9foM^U*ZDic7yL7*rwR%iL%Un%LQ{RuqGBNE}Z@({jj5UBk#=^2H%tVFKBJyov zg*(VzGelpSF>Bi}b5l8CxP&;u^~Z%h&ktjwASyI%LrRBXRTCEy^jQ?6O>05guA*B= zECMBS!$gqyD&k5AnjC>E&=hlbwF|nb4;yq8mh@bE(Zvl%x1=B)Du-qi`Ia4J-E*OA zNVtX&U)8g?=`7-BI6KnBP3!IbC z@R-!rC_wwtbhM+EvP>g^tx1vLjPMy3&A<0K6^>08EddEMM{R;C@(-H~ju@i|t^at* zK8BY3q*?~gLTLTR9>qEWF>kR@Y%M|@(Ck__oNdb->F^P$X$FrhTRW0R)WFaXT5)|l zHH}wO9{=mP`K)0``Us=!C^!iyk0!u@B%1Yg+U*mb5a=`-0uUpX7M?y)RDXT5xtQ2V z_u{N5UackoP7uWF!XTMi4mqk6KP+haM4_)p5hLzJJSyUXBXEQqsks_n4$_|jdy^<8 zz1gWbV^h-}M17L6U`rLs6X z?L>Cm)c88nX!4@Qejghe3ImXoPNb}ORs|u_TanavI@4%w-ip^AkSh!2D!-`dZj@LLpA-0G@d?{d3sYdjpVUwzwyb zG@AK!nJo~_#Uj@zm+hix?y4fsP{wBbg#$lp7+O2{lljCuEOw9)2qg}EO1HvCwIxlW z;;8%UJ&)F{T;wJR>XP<{a5 zkv+HJdpR^IpIu}P^hy0M8deRBiEYK>7^r3K*=ZM21lhDAWAVvZ z5@BC4H7MkaBG-^iYvzI3{s)n2fE7`CRHM!IO<> zObc{zi>*P$FUbq`YP|aABI1qMT9JL(4~8WqEdd{it&OvDlw0$t;EW{TKr+oy_N`sg ziXLSp3=DWF&t#eh|0e%_e@AH(P<+#k5XCB1aSP08r0=u_t-@YcyYO%)u-}qS6%A5p zd>%^6yDtI$Wn?`|MgA5O$PcIs{T-}Mw-P7%*+f0aQRJ63;+G*QJ)2fx&ski85%H9F zL1Y_NiKm#e^o4+KLEz&yR;Jy4M|5ko7RKe)n+i!9XBQniA0+3*y-iFk`9)) zwh?cXB9rC=%u~J#Ty+w-qQjtNk7>oj&}a!xUqa(zuPX5rH9P*)*Athp#h!RCcD{&* zOnrv5_M1FpfW{JD9ZQKsD$NTGx!(W^^7Ud8T)Z_rktP~0M6skA1j$^q1g#1A0W|gp z3lNM?9Hfy-bF?pOcVYUW;NnY>bRadj_+@B-AWf#b(DsqTM9ORU(<@1syyun85F`!3oho1!jtQWcA5jG#oJc z6k;0b)k2??)e#+>T{KX*@Ctqk2=!x0%`O^a6s1MpWuLDx_1p-vWv~9P4fY#ebBPV*{g3ho`#LE zv+VOXK@G43>c$R=4O)cEYHXlM_MZ}m4#So%#hS&21Nzd$Mp#1*5h}il!%L^bK#jBjo&!k{l8g;=Xl%oN_g+3O=}36&hH^4FmZ&Y{#eJA$jqQUD7349w zQARnZ*ow@m0R%Z8(9N9ryIQI3UGkp{n-V!Sr{mDQIy(!RoniJewJ^DRjSEb=6&dJS zpUA1nujp31-^`>^n*6;clB$>M=rF5040`*3VglhhGiXZ75yKAI3FlMG_$Jcwbkjaqm>f0#+= zROHm0P)F0ts7M-@P&O-aYI-$7bu<{vq~c~x@lzCY2d2XQ9bG5D<+iyBv0d+&n z=A{$ZE@npW$@HSh8NC!+o7dbzw%fZQ@F1`d--{m@k+cv@s_#%_sf)ato<%Ay zX>J*^-8%AWPTA83P~lgK)4ukNe;?;P>pT{tP=y?d|TYyl$h!cpF7h+A-X3i>2RJN2j0l`;8e!m*HN2})q5*Ic0~+a6FGAY++GV=A3Z#yTS<;zJ)n0R?tGk%w zp@*-crF0l0YoB2lX|^EW6v7G*KJ37sC?yS&m6&Wv46oZfALw zv0 zNdNNmMrAc|eL@ozlg4U;(h}~j&Uc8`(i2vTvLch50J{c@q)H+Tw4A<3TVhWq zAYtm@v|?TyccA2E-zXh*=1V<3$5yb~t-O?FnQ^ojT37s%12FR63SUWI1%`vR*bh z5l1))M+iq@XwcRXR0UpTVp9|n#JWmth-h&2ELko^ydn)@l*o;8SFIv%8of@|d&j1_nor&PpNZzQ%B=^Gr=#r7>&z(9^-ZwL#RTSDyZ;#KIFspUq6hoxDZUsf*Q z-9fN!_y}hfRQuNGD<%y97o0*QL7j#^F^Z7AAYFJ=JzknDd@r5@?kCL!Rl}M8RP86V zcNFo&;%#ZO=q&a&11G`WvAw!PYxB9Pt&E^n1|9@)7+pnXIHIM@uxwdpxjK8dPq`aA zkpUjQ&`5rI5v9s%mY@h+>?U;+JZnip(k>W2P+M#-?&4`+sgZ^{vm*J4g+^{3X$0yZ zP-ur#ILu;u@voG~(_zKHv{U;ERs@I~JnoVC^a3P}VxsW8l8atRoJDUD)t#gELQJ&( z>m%?(Oo?6))iN4saD5W4dPyxED`t$jNY4SeHd~vzWGfc(lrbU$&RUZ$WED3zjV2C* z(B&qjOKH`Z1R)83UYxnq?jnnNI2Q4Cwh_uIRO&ef2n-3F$J^OPsJ)6!-*vj3jO`I# zk3K>tK=B$?Fl{GolSYde$BFo(Gvl>9VW4tkHvu;H9zl-90|y_5%$L}rW%12eoWf(nmb;n#D&GOG#UceLq#_dc<&ZvK z@;)B*N=%;z!IsQ4i1(~^xKLg9PlZe0BDIX6O8l5Og6XqisJ1TUO}7Qz^I~DIF`d^i zq`ak9VT6ldgp*Fg)F94vG8BeM3sj*p(;UrL@kkErw{_B^H``LnZ|-t*pq?N4rx?*- zrYO#KGY>+8tFe;Ec_z^>F3UQzXC?(kW2iE0t|gLd6hV!N4JY5Iwrs8`9p45h#5pfo z1k$q3rb6+q-FVdnCSum2;~-9CvPwUg)cr&5xFH+nNCc_Y7Mn&A6eeBEC94hjK4=L^ zOIXqpb}fyg8D;lD@kxu3x9vwbkVyv;lll;;g0afb1w_%%#Uw(^(PgU2*)%L~jJQdL zoR~vS?OE-LJ9WkB)kIRvOGnz?{Y!4fg@fQ_K}RA*joT`=%aE-0C-xJiT!i#QbzDXb zAVjm+nHV#QsG=u(=#)L661km;F|)`TL^w$&I0-%%XJ(AwB=)cD$-opQjHA>R>;6_m z;}f!nq@OLD2FK5$@C_pEI#H?(DKdu|YZUX@iQu9?uQ=_(SrmS}%JtpU7WiiMjU9SR zZIJE7DKfQ27rj`iVIKFYMyE|C?-(GnYbNhiW;yC_k4e$#Y%DatHOWpK)`U|7hqi3rjOXfH?E4Lk-+79$7wl+SDa`r+{FQfKLKhCnNSTCf{Z9>7~quov8 z&sEXLNaQ3RV-v|Ty-Zo6AdRSWQ`s`*w1JqExPX+@sXi$0@-?4Fyp0AZjuWd;^3xLMR9^eaY(1iHI#f6oXrwV6s3_jbF3)J z0RqPr_);NnCJrGg%aZ~W-?nI&KdH=_D#sXa<{&*&8=7ia6zK{KjNLR=9#d1ZES|?C z1&l^7=Fs#fX0@uq@%~Oa3Yx1>mOJ!8N+cK;W|KI!A0*Q6AO~tpZv=|lH0_=6>ZF3q z2x)9JUGr<*)n+J`*k<%xPEDO>cr|N4*1Msnkj-O_o!^o_Ah39E^j=R<(=oF;)7~`G z#@IBqnf9pSqz_u~h7_9heQg>jF6l(lOEu5(WmZfg^VQ(IFPfaq3xo5UTY;nf0>y_9eIu{hlClkUY5>+CWK-l*w9uf@_t z%x()jSOm@~Y*VaWnm^@b!vVZQ7I}wY8Y!9zjXNR*gh{Nm2PptA4LZK8I?ko5N#Mk@ zrBHkgwEXutJuNtjP+RJ}+#bmF3Pu~G)nfaM{3)Z+9$+Aj_eZDWuuZFStKj8<5>h?T zJH)nTno*a#B!5aCoFTd9)T1A@K;4-QPD=4xoYz#}Od3>BOLlinKB(OIArfxTCJYU~ zT_%H*;3mP?x9FKrB-bp2^N)d|YIbJV%p%@pz4jtU+jJ?n7M(78kq-+M2WQ^VJ;RY; z^TKNIDy!k)_z+fh;}T5c_(WB5GD&h0^@!W|iHGlMPN=EX8|kFCkV5pWsFvc_>g_nM ziEq_bvFVjSV1Xme=Gc%e+gRWvchG?x(t(Vq3a8K<7vaL*j+J)SnsCo?L>OF>46L`M zO_Em~5Qy(Yqu`|J_+0aWA5L-*CmEG|+%#XxYx)~Jm?Uh4)t#GZ@+nnfGLlQOVaLJE zrOtFzi~YnVSah6~xSh=@qe!xO7O}A7Fb#=-Zkm(AElM?CwYtNx&~{S=!>fcRWU7yj z;=C@}%#^!pE7U__a z$m+;7a@X{6t7LT+xk@s5F|D*}RrNgt$vW+UYsb-hRVbMx*C>Va(B5rtRp|sg3j@I> z?ivp<^}{eudWd)*t1Tf3kLZZ6aAMYs(<@QjhfM0uqri@bs3C4v4UkR&k`AO8ApL3yPXdWJ z;n9t@K}#V0ZWqAn1T&{bE0`K5_U}OH^ zjHb9jwrHsp*&hsX*SppcSsS33h9jxwqyl$2QGbS)h|+b^x$)HckRRZs*AGxYBPbxP zL4^G5Vnv0mhDDu*)YN|F!LYJcq^}$YN|nZ*fNk zg{Kx9ht(bk5|7Ba=pd|bi$}btj_9B|2F*uOOC9s>nS>jON5LG2w|=&sv7(bLz#$14 zi^9F$O;eWHWpK$La0xzB-6aBQcol7gvr`{5t3pQ2X{)rDDzs#1Ey7zrd1do`dLCZid}Kkj$Nc3i-EdNQ9QN^t;i(x2I@ifCAPlSRhW8m z7qX8GYK!-+rEpg(0M|Zj0B(9NMw3$M53~Z-yTLH&6e4on&t5cn(TIJ|<~!N;QSLHa zdNg+y-)+O%a(1#=4rvM9i{&lyKmXJ;7@&qIg*I!u&@qQhHryUsg&oy9*{PmD=$Q`< z4C!~7^mvy`Xf&xBQ~D6MwzB`CBdJ9$dN7ApV&^Otm-I?BJ_}oPwyo_#Cr|_Fclgwz z;|DOr^|}P)J;tJm;nbqz2Q0JK=r{*K_o=#_uG#DE+FXFAbwN`i^Vuc5(;CGuL2!a_It)Yn5|{nIr=%d3*XXo}DaGj7Yx^*< zx*LnK`TxPGnKei#yw@aYgWfbg#U5lYin)+$*+f>4BcqcQ=kKY_ffPoz$%xDj^ zsZ88ui*OpThB6*mZ%qlZZvTzFz9a<27RiNXRiqu!R`65A*_$SdDeDs*2SrEp(TgTV z$0$OP*CgE*#K#A6XXekf!_KO)CFwI@cnpy`v#XjVfwiRVMW-R9OR=ip)4<%-79R&K zKweTd=Bw$jC$@g0jjy{7zbDYxgkO!mgcc&b+UP<)S*%5OLhCrryTs|~D+JAB#-dBH zHLIXcu<`4)rY2I`z+P9F27B~gY{Qd>*+d9zm}#c7#a0*F-Y&#LhxxaCZ+~bylBXZ` zSHeP?5YB4flP*Qz{63I3bLzIORYP8ma7y4XLYmfeoL<`oeyj{_sKd^%@aljLS`1Lp z&{Jhvfb6x;!1j(LD;3C@asRr%<0Im;NwpaD55u+wMlNP=*mjLTg^WPT%;`e(Vsu=S zNL;9>9{h!Fy<;j*Xy|YkXJb(X$J4kNDZk;OC-$r&(bMQrI#l=G*E0Lo!A4u1-tPnvi1@yKkgo zO)fa@i!`F6z0QxifYl{P%+;FxB}8u?nQloGgKhIEsmAk};f?Ac|8|4+F_s z4N6_Ie_P1=eMCXy0TRQEJR`%)^8o-~I)N|o%}#BKeTiiNb+1M0UYN*|CC$P4w2Hp$ zjX-~>>mIqaA#xS;*QvTgF@WfrHpMDdH4|+}IssckCD621jnc$r+O!6de(lw=h7flM zc8h+Dkl$lpPb{?mBrdcKS{6A*)%KLykP|~>*V>R#v@YwDF#4#I8)s9Reu1m_K_G(~ z!i|>A<%Bmt`{at@Bk`}SQu0Obbu*t@vVj#F7hH8^-MZ^(S zc-atI5F&r(lj`byc!w?^L5_NHcBRP+QGi#RNp$kLq$%nUrE2Qjdw{*zM4p(IX2>ofpQ@t^v}CZCvr*;_t?cb0X~|8bYf#@ zwe}?+9SHG+x1kZH$f4Q2`dT31#)soJ%yT!=FPuPLIfjYTp zgSJ7_shF#{3#e%RCzHVNbatl6B2*nu1HG6iU=zrq$-`l&OJXKTV$!GRnj~h`x~r3c z87c3@JjclVmh)+_rV`(ZDFTJ9C@;TBZLQOp)buK%IxcY%cSj4eIP+-wg&pt@GeiQe zQwwTo{m5NxK@FC;=Ot*EpHJio-b-B^T&1C&cOaMMbSdJJT=wXrZnD9pPWfT9Y(WDD)>cTn$@acJOchuc-l?dg<0*=H}bzg(YM&z$i`L?g@(yA zzm_7g=8_E#z3EB4X}pzNOCtL&f|U`Tx~LPlHNN3mMQwsfJr|lEo-JweLL{QUaxPKc zeolO)_V~J0)DIjhEGTRd{%ULEnhzj}{k6hHSY&Q0vbUB$eo)iAE@5IC-AOk&_SWDw zAB3jHVXTybsT{f-6-Zcs?!oMbJBV^M;W3*aS=oA$;S}kPL zG<-e~(CP1dKSCT~+LrBCDTnz^9@w4EV%Nah9}IE(t2zU@OKwzj&oiZF6qoSO?GPoL zC@Ga9qh{va3LZvHBSsA^L1ff;t?BibaQYN7lY)Xaq`Bl3fx_7$c`@7t(+JtK7#Gs0 z&qATmG%(}`P@mUq0jB~J-|4hpg+e}iu*nJsh34{1rg_pvE2aug0*pvSSn0=YD4T2;NPWJ4+@DL9KE++#p(fBprn%HduBMXhcn( zK4}}aHW&E>Bb~4L0y2@^(N8g56A|xOlrAAZMdJv4=F{BRDZbkeqjOsybR@}z#t#6O zI}2p6ibvg!;YjvNvZ0AX9dWl2ξg?AR#pl`c-OiFw^hgi)On%!lvgIq6?N#v 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