diff --git a/research/fixed-word-gauge-limits/MANIFEST.json b/research/fixed-word-gauge-limits/MANIFEST.json new file mode 100644 index 0000000000..492f44c283 --- /dev/null +++ b/research/fixed-word-gauge-limits/MANIFEST.json @@ -0,0 +1,58 @@ +{ + "files": { + "NOTICE.md": "a0f77933aef1f5e9301ae171ef03371fd59fcc67f4f2fecdfd85b6b4562453d6", + "PROOF.md": "d38d5c8c7565f4baa3ba66e84389cfd30bf14d1f9ec057773b47e03c8e8558d5", + "PROVENANCE.md": "9c44733b62b349ed5f7007a073593ce87a08edbd52a74b253a2dbe157aae6108", + "README.md": "4dc6f4b3a1d3d2e5bfeef55b91190dcc6574bcac15ea1392a49b908f4209d044", + "RELATED-WORK.md": "38f8d26789e22d017b4accd4df302c9f485e0fbc622fe864438e4aa3e671bcca", + "SOURCES.json": "d094cdf81582cc4e95dad10887c8f29684f779f18f4d6eb22c637bdcd19329ba", + "VALIDATION.md": "1386abfaf8353ae6c4579dc6914fd8b5ae8486a906d1e96fb68be81a3dcdef66", + "certificates/THRESHOLD-GAUGE-COMMON.json.gz": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "checkers/check_common_product_rank.py": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "checkers/gauge_negative_controls.py": "c07cf9789a314abfaf8cbfb5a4440005e7ed4fd6cba1796e0a496fa84f791a8a", + "checkers/review_compound_gauge.py": "9e2d216f15081dd655685da6f4bbb0a116db2a6e2557c649f4dc1af889ed83df", + "checkers/review_four_state_gauge.py": "403f53c6ae128e6ea6fe50b41560e2c990f899889b0579b22bee85f48769b530", + "checkers/review_threshold_certificate.py": "bb1786e568ccda265825add83b4f06322ad7f5ed60d0a8147c90f4c26b275e7c", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "checkers/verify_odd_paths.py": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "data/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "data/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "evidence/historical/ALL-LINE-PATH-REVIEW.json": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284", + "evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32", + "evidence/historical/GAUGE-NEGATIVE-CONTROLS.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da", + "evidence/replay/REPLAY.json": "7f81d82c4ac340296a567eb379de0464ab617f69fb91dae3f71c8d23752ef8b9", + "evidence/replay/all-lines-pairing.json": "c493174b5f29b19003618ca022fb87566df71d99681528eb491fc80ba23fca08", + "evidence/replay/all-lines-span.json": "eeae7231add00963a57f6f8708c7ff6f59de2e3b5134bc465d23b0ab6df23b62", + "evidence/replay/common-product-rank.json": "bbac61ccba8a6d8094f14b5bf3c379a85b9969d7c5a9b311db1042b15817ecd8", + "evidence/replay/common-rank.json": "001917257546807ea4d031c547b6221b23da12e50a2dba4ae6739e060e155923", + "evidence/replay/common-thresholds.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/replay/four-state-thresholds.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/replay/frame415-thresholds.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/replay/negative-controls.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/replay/product-thresholds.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "notices/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "notices/research/gauge44-slots-t16/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "proofs/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "proofs/BOUNDARY-GAUGE.md": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c", + "proofs/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599", + "proofs/GAUGE-REVIEW.md": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c", + "replay.py": "1120f28ea69263b74e5932aec64bc7f78ad18fb5912b73bcb416132ac1826eab" + }, + "format": "sha256-package-files-v1" +} diff --git a/research/fixed-word-gauge-limits/NOTICE.md b/research/fixed-word-gauge-limits/NOTICE.md new file mode 100644 index 0000000000..d91c07a384 --- /dev/null +++ b/research/fixed-word-gauge-limits/NOTICE.md @@ -0,0 +1,39 @@ +# Attribution and license + +New proof, certificate, review, and packaging work in this package was +prepared with substantial OpenAI Codex assistance in the centre-encoding +campaign. The source-domain lane supplied the gauge certificates and the +all-line and common-product arguments. The temporal-reuse lane supplied +separate source, graph, flow, rigidity, and threshold checks. The +encoded-controller review lane supplied a separate graph construction, +symplectic pairing checks, and common-product proof review. These are +separate AI-agent checks, not independent human peer review. + +The exact local scalar word and frame data are inherited from the gauge44 +and T16 lineage at historical commit +`bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. This package preserves these +source notices without changes: + +- [Gauge44 notice](notices/research/gauge44-slots-t16/NOTICE.md). +- [Construction notice](notices/research/gauge44-slots-t16/construction/NOTICE.md). +- [T16 integration notice](notices/research/gauge44-slots-t16/t16/NOTICE.md). +- [Complete upstream notice](notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md). + +The T16 notice credits Jeremy Kothe's accepted +[PR #799](https://github.com/CrocSwap/integer-mult-bounds/pull/799) local +word, Chafik Boukhalfa's +[PR #741](https://github.com/CrocSwap/integer-mult-bounds/pull/741) frames, +and the preceding supplier and owner construction. It credits Hao Yan +for T16 integration. The retained notices credit icekylinx for the source +gauge and supplier pipeline, DreamingOfClouds and other contributors for +the earlier source lineage. Those constructions are consumed predecessors; +they are not new results of this package. + +The packaged source members are unchanged. Checker edits replace local +Git and campaign paths with package-relative inputs and explicit external +output paths. `SOURCES.json` records each original hash and adapted hash. +The mathematical checks are retained. The present proof combines only the +reviewed claims; the frozen notes retain their original scope statements. + +Apache-2.0 applies to this package. The [license](notices/LICENSE) and +all retained attribution remain applicable. diff --git a/research/fixed-word-gauge-limits/PROOF.md b/research/fixed-word-gauge-limits/PROOF.md new file mode 100644 index 0000000000..07cf0c2c44 --- /dev/null +++ b/research/fixed-word-gauge-limits/PROOF.md @@ -0,0 +1,287 @@ +# Fixed-word gauge theorem and its limits + +All finite graph claims in this proof use the two source members in +`data/`, from historical commit +`bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. The complete scalar program and +all native event positions remain fixed. A gauge is an invertible operator +on the full array. Native rank means the binary relative-frame rank used +by this source. This proof gives no new kappa value. + +## 1. Exact boundary condition + +Write the physical value on wire segment `v` as `T_v z_v`. Replace its +frame by `T_v G_v`. Use the same `G_v` for both live values of each scalar +ADD or COPY. A CLEAR starts a new zero value and gives no relation to the +old target gauge. Replace a native transition from `u` to `v` by + +```text +T_v G_v G_u^-1 T_u^-1. +``` + +The scalar coefficients commute with these operators. Induction over the +program gives the new physical endpoint + +```text +diag(T_out) diag(G_out) P diag(G_in)^-1 diag(T_in)^-1, +``` + +where `P` is the old scalar endpoint. The outer frames are invertible. +Thus the endpoint equals the old physical endpoint if and only if + +```text +diag(G_out) P = P diag(G_in). +``` + +No commutation of a gauge with an old frame is assumed. This identity +includes global phases and holds for the full operators at every tensor +power. + +Exact rational replay on all 712 input columns gives + +```text +forward: (x,y,h,c) -> (x,y+x,h,0) +backward: (x,y,h,c) -> (x-y,y,h,0). +``` + +There are 112 rows in each data bank, 480 arbitrary helpers, and eight +private values. The three nonzero blocks for each data pair force one +gauge at its four boundary points. Each helper forces one gauge at its +input and output. The private rows and columns of `P` are zero. They give +no boundary relation. The actual scalar accesses still give relations. +The full residual on a helper remains +`T_out G (T_in G)^-1 = T_out T_in^-1`. + +## 2. Source graph and rank rule + +Split each wire at every native event. Join only scalar ADD/COPY operands +and the boundary pairs from Section 1. The source gives 5,784 segments, +1,979 components, and 5,064 native events. Eight components are final +cleared private values with no native event. The other 1,971 components +meet native events. There is no fixed external gauge. + +The native profile, including rank zero, is + +```text +{0:1570, 1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}. +``` + +Its rank mass is 5,586. The events are 3,486 climbs, eight centres, 1,090 +adapters, and 480 residual adapters. Thus a change at an old rank-zero +wrapper is charged. + +For a frame subspace `U` in `F_2^9`, its inverse-image diagonal Pauli space is + +```text +L_U = {(u,u+v): u in U, v in U-perp}. +``` + +It is a nine-dimensional Lagrangian. Two such labels have relative rank +`dim(L_U + L_V)-9`. Equivalently, the rank is the rank of their 9 by 9 +symplectic pairing matrix. The two independent checkers use these two +formulas. Both check each old source rank. Left monomial wrappers preserve +this label. + +A translation-line gauge has binary action + +```text +S_a(x,z) = (x+a(a dot z),z). +``` + +This is a symplectic involution. Therefore a binary crossing has the same +rank at either end of an edge. Equal gauge bits leave the rank unchanged. +This statement is about ranks; Section 1 gives the separate exact endpoint +condition. + +The forward and backward scalar partitions and undirected native graphs +are isomorphic. In backward coordinates the frame is `D_U=T_U F^-1`. +The line gauges commute with `F`, so the same line gauges have the same +ranks in both orientations. A general forward gauge `G` instead requires +backward gauge `F G F^-1` for this correspondence. + +## 3. All 511 fixed lines + +Fix one nonzero line vector `a` for the whole word. Each component may +choose `I` or `C_a`. The line cannot vary between components. After each +native event is priced, combine parallel edges. The rank change is + +```text +E(epsilon) = sum_e w_e [epsilon_u != epsilon_v]. +``` + +For each odd line, the exact certificates route every negative demand +`d=-w_(u,v)` from `u` to `v` through positive edges. Route amounts are +positive integers. They cover every demand exactly and use no positive +edge beyond its capacity. If a cut separates the endpoints, each route +crosses that cut at least once. Sum this inequality over the routes. +The capacity condition gives `E(epsilon)>=0` for every cut. A constant +assignment attains zero. + +The two path certificates cover all 256 odd lines exactly once. They +contain 10,488 paths. The independent pairing checker verifies all +1,609,650 distinct-pair ranks over all 511 nonzero lines. The separate +span checker also verifies the full line family. For each of the 255 even +lines, every changed native edge has rank at least its old rank. Thus an +even line also cannot reduce any sum of nondecreasing native rank costs. + +For the odd lines outside the common family below, the total-rank theorem +does not settle all child moments or the profiles of all zero-rank cuts. + +## 4. Common lines and concave costs + +The common intersection of the eight centre frames has basis + +```text +30, 45, 75, 128, 256. +``` + +Its 16 odd vectors are + +```text +128,158,173,179,203,213,230,248, +256,286,301,307,331,341,358,376. +``` + +For each line, an exact signed-cut certificate has minimum rank change +zero. If at least one centre edge is crossed, the minimum is 13. The +latter means at least one centre, not all eight centres simultaneously. +There are 3,384 exact flow/cut cases across these tests. + +Here is the finite certificate argument. Choose a vertex cover of the +negative edges and enumerate every assignment to it. All remaining edges +between free vertices have nonnegative weights. A fixed/free edge gives +a unary cost. Subtract the smaller unary value into a constant and use +the difference as a source or sink capacity. Every case supplies an +integer feasible flow and a cut of equal value. Capacity, conservation, +branch coverage, cut value, and the original signed objective are checked +exactly. Their equality proves that branch's minimum. Enumeration proves +the global minimum. + +Only the constant cover branches reach zero. In each such branch, +residual source or sink reachability forces every free native component +to the same side as the cover. Thus every rank-zero cut is constant on +all 1,971 native components. The eight isolated cleared values may vary. +The full native profile is unchanged at equality. + +The separate capped-cost certificate proves minimum zero for +`f_k(r)=min(r,k)`, for `k=1,...,8`, on all 16 lines. It has 800 exact +flow/cut cases. All ranks in this family lie between zero and eight. +For `f(0)=0`, set `d_j=f(j)-f(j-1)`. If +`d_1 >= ... >= d_8 >= 0`, then + +```text +f(r) = d_8 min(r,8) + + sum_(k=1)^7 (d_k-d_(k+1)) min(r,k). +``` + +All coefficients are nonnegative. Hence every increasing concave rank +cost is nondecreasing. This includes `sum r^(1-b)` for `0<=b<1`. At `b=1`, +use zero at rank zero and one at every positive rank. That is the paid +child count `min(r,1)`. + +## 5. Common products and the four-state family + +For the binary family `I,G` with `G=C_128 C_256`, the changed edge ranks +are computed directly from the two commuting transvections. The exact +rank minimum is zero, and all rank-zero cuts have the same rigidity. +Capped-cost certificates through cap nine give minimum zero. The +nonnegative decomposition in Section 4 therefore applies through rank +nine. + +For the four states `I,C_128,C_256,C_128 C_256`, every native rank table +depends only on the XOR of the endpoint states. The exact rank objective +has a pointwise lower bound which separates the two bits. Both signed +lower graphs have minimum zero and the same zero-cut rigidity. A constant +state attains zero in the true problem. Thus every zero-rank state choice +is constant on all native components. + +For each cap, let `d_1,d_2,d_3` be the changes at XOR states `01,10,11`. +Put `m=max(0,d_1+d_2-d_3)`. The weights `2d_1-m` and `2d_2-m` give a +separable lower bound for twice the true edge cost. At states `01` and +`10`, this follows from `m>=0`. At state `11`, it follows from +`m>=d_1+d_2-d_3`. The check also verifies each actual table entry. +Both signed lower graphs have minimum zero at every cap from one to nine. +Thus the four-state family cannot reduce any increasing concave rank cost. +The solver status and exploratory saved state are not used in this proof. + +## 6. Full-frame counterexample and its limited moment bound + +The binary family `I,T_415` has rank minimum zero and rank-zero rigidity, +but its cap-one minimum is minus one. A cut which differs from a constant +only at component 608 removes one rank-eight centre child. Seven incoming +edges retain rank four; seven outgoing rank-one edges become rank nine. +The rank change is 48, and the profile is + +```text +{0:1571, 1:2405, 2:418, 3:432, 4:142, 5:82, 8:7, 9:7}. +``` + +The child-moment change for this cut is +`7*9^(1-b)-7-8^(1-b)`. Thus a no-gain claim for every increasing concave +cost on this full-frame family would be false. + +The exact cap minima for caps one through nine are `-1,0,0,0,0,0,0,0,0`. +Every native rank increment is even. Rank-zero rigidity therefore makes +every changed native cut have total-rank increase at least two. With +`a=1-b`, the threshold decomposition gives + +```text +Delta sum r^a >= 2*(9^a-8^a) - (2-2^a). +``` + +For `3/5<=a<=1`, the first term is greater than `24/49`, and the +subtracted term is less than `97/200`. The exact integer checks +`49^5>81*20^5` and `303^5<8*200^5` establish these strict bounds. +Consequently every changed native cut has moment increase greater than +`47/9800` for `0<=b<=2/5`. Constant native gauges retain the profile. + +`T_415` does not commute with `F`. This forward certificate applies to +`F T_415 F^-1` in backward coordinates. It gives no identical-`T_415` +claim there. + +## 7. Local rank bound for arbitrary common-line products + +Let `A subset U subset F_2^n`, let `e=dim(U)`, and let `s` be the rank of +the standard dot product restricted to `A`. Permit arbitrary products of +`C_a`, with `a in A`, at both ends of a native descent from `T_U` to the +identity. Their relative binary action has the form + +```text +S_B(x,z) = (x+Bz,z), B = sum_j a_j a_j^T. +``` + +Here `im(B) subset A`, and `B` kills `U-perp`. An intersection point of +`L_U` and `S_B L_0` has a unique form + +```text +z=w+u, w in U-perp, u in U, Bu=u. +``` + +A fixed vector of `B` in `U-perp` is zero. The intersection dimension is +`n-e+dim Fix(B|U)`, so the exact relative rank is +`e-dim Fix(B|U)`. Every fixed vector lies in `A` and in the image of +`B|A`. The map `B|A` factors through the dot-product map on `A`, whose +rank is `s`. Therefore + +```text +native rank = e-dim Fix(B|U) >= e-s. +``` + +Applying a common symplectic map to both labels reduces two arbitrary +endpoint products to their relative product. Thus the same bound holds +with arbitrary common-line product gauges at both endpoints. + +For the actual common basis, the Gram rows are `0,0,0,8,16`. The Gram +rank is two, and each centre has dimension eight. Hence each descent has +rank at least six. Direct pairing checks show that `C_128 C_256` attains +six at each of the eight centres. This local bound does not price the +rest of the scalar graph or exclude a complete-cost gain. + +## Verification boundary + +The replay checks the complete finite source words, exact rank tables, +integer path certificates, flow/cut witnesses, and 13 damage controls +under optimized Python. It does not emit a changed physical supplier. +The all-size compiler, hosting, precision, and analytic obligations of a +multiplication theorem are outside this package. Its graph-specific +conclusions do not transfer to a changed current construction without a +new source-bound proof. diff --git a/research/fixed-word-gauge-limits/PROVENANCE.md b/research/fixed-word-gauge-limits/PROVENANCE.md new file mode 100644 index 0000000000..9a97665ead --- /dev/null +++ b/research/fixed-word-gauge-limits/PROVENANCE.md @@ -0,0 +1,45 @@ +# Source binding and package changes + +The consumed source is historical commit +`bce54fb3f895cbe5cd4c0eb477c3afeed100190f` in +`CrocSwap/integer-mult-bounds`. The selected archive is +[the pinned replay archive](https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/community-frontier1042-audit/selected-replay.tar.gz). +Its SHA-256 is +`22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754`. + +Only these members are needed for the fixed-word theorem: + +| Archive member | Compressed SHA-256 | +| --- | --- | +| `slots/local/CANONICAL-WORD.json.gz` | `16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219` | +| `slots/local/LOCAL-PROGRAMS.json.gz` | `241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a` | + +The extraction checked the complete archive and both member hashes. The +package stores the exact member bytes. The replay checks the member hashes +before it reads the source. Expanded payload hashes are also recorded in +`SOURCES.json`; compressed headers are not a test of regenerated +mathematical equality. + +`SOURCES.json` records the original campaign paths and exact hashes for +every copied certificate, proof, historical receipt, and adapted checker. +Original paths are provenance labels. They are not runtime inputs. +`MANIFEST.json` binds every retained package file except itself. + +The eight checkers have only input-path, output-path, and corresponding +source-reader hash changes. They use the packaged source data in place of +`git show` and write receipts to the requested external directory. The +all-line negative controls call the packaged checker. Unused archive +imports and an unused search-script hash entry were removed. No search +producer, floating optimizer, solver dependency, or source monkey patch +is needed. + +The new replay driver checks the manifest and runs the nine check commands +in sequence under `-I -O -B`. The source-domain span calculation and the +encoded-controller pairing calculation remain distinct methods. Historical +review receipts are evidence of earlier checks; the new replay receipts +are evidence of the present package check. + +The publication base is +`b58ad9ef4d4e861b0eaa5dba41742bdc072dca51`. No source pin was changed to +that base. The current selected construction uses a changed scalar word. +No claim in this package is automatically a bound for that word. diff --git a/research/fixed-word-gauge-limits/README.md b/research/fixed-word-gauge-limits/README.md new file mode 100644 index 0000000000..3e2ab59b50 --- /dev/null +++ b/research/fixed-word-gauge-limits/README.md @@ -0,0 +1,87 @@ +# Fixed-word frame-gauge limits + +This package gives scoped negative results for the historical local scalar +word at commit `bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. +It does not improve the complete kappa calculation. It does not give a new +supplier or a lower bound for arbitrary centre encodings. + +The [proof](PROOF.md) states the boundary condition and the exact classes. +The [source pins](SOURCES.json) bind the two source members, the original +certificates, the checker adaptations, and the retained notices. +The [replay](replay.py) uses integer and rational arithmetic only. +The fresh [replay receipt](evidence/replay/REPLAY.json) records the nine checks. + +## Results + +| Gauge class on the fixed scalar word | Proved result | +| --- | --- | +| One fixed nonzero translation line, with independent binary choices on scalar components | All 511 lines have minimum total native rank change zero. Each even line is nondecreasing on each native edge. | +| One of the 16 common odd lines; the binary product `C_128 C_256`; or the four states `I,C_128,C_256,C_128 C_256` | Every increasing concave native rank cost with `f(0)=0` is nondecreasing. Every zero-total-rank choice is constant on all 1,971 native components. | +| Binary `I,T_415` in forward coordinates | The rank minimum is zero. A cut saves one child count and adds rank 48. Every changed native cut adds more than `47/9800` to `sum r^(1-b)` for `0 <= b <= 2/5`. | +| Arbitrary products of lines from the common five-dimensional subspace | Each centre descent has rank at least six. `C_128 C_256` attains six at all eight centres. This is a local bound. | + +Every graph result includes all 5,064 native events and all 1,570 old +rank-zero wrappers. The graph keeps the scalar word, native edge positions, +and exact endpoint. The general boundary condition is +`diag(G_out) P = P diag(G_in)`. + +The translation-line results apply to both original orientations with the +same gauges. The backward full-frame result uses `F T_415 F^-1`, not +`T_415` in the backward coordinates. The all-line rank theorem does not +exclude child-moment gains for odd lines outside the common family. + +## Reproduce + +Use Python 3.10 or later. Only the standard library is needed. Use one +process and keep at least 3 GiB of free disk space. From this directory: + +```sh +python3 -I -O -B replay.py --out /tmp/fixed-word-gauge-replay +``` + +The output directory must not exist. The last output line must be: + +```text +PASS_FIXED_WORD_GAUGE_LIMITS +``` + +The replay checks both scalar endpoints on all 712 input columns. It +rebuilds the graph, checks the ranks by two methods, checks 10,488 integer +paths, and checks exact flow/cut witnesses for the rank and capped-cost +bounds. It also runs 13 damage controls. It performs no optimization or +mathematical search. The seven source certificates are unchanged; legacy +solver and timing metadata inside them are not proof premises. + +The package contains the two compressed source members. A replay needs +neither Git nor the historical source checkout. Their compressed and +expanded hashes are in `SOURCES.json`. The original selected archive was +read and hash-checked during extraction. The replay verifies the member +pins and the complete package manifest before it uses them. + +## Scope and current work + +This package uses a historical construction. The publication base is +`b58ad9ef4d4e861b0eaa5dba41742bdc072dca51`; its selected construction has +changed. These results are not asserted for that changed scalar graph. +No current selected cold replay, changed native lowering, full recursive +repricing, or new hosting construction is part of this package. + +The original proofs and review receipts are retained under `proofs/` and +`evidence/historical/`. They are historical records. The present proof and +replay define the publication scope. Exploratory palette results, +geodesic normalization, and code-closure claims are excluded. + +## Open next questions + +- Can an odd fixed line outside the common family reduce a child moment + while preserving total rank? First derive exact capped-cost witnesses + for that line. The present path theorem does not answer this question. +- Can a larger common-product family improve complete cost while leaving + rank-six centres? First price every native edge on the same scalar graph. + The local rank-six bound alone does not exclude a gain. +- Can a different scalar schedule or a correlated child interface give a + new supplier? First supply its complete physical contract and source + binding. This package does not provide that construction. + +These are continuation boundaries. No new research search was run for +this publication package. diff --git a/research/fixed-word-gauge-limits/RELATED-WORK.md b/research/fixed-word-gauge-limits/RELATED-WORK.md new file mode 100644 index 0000000000..b3ef02297a --- /dev/null +++ b/research/fixed-word-gauge-limits/RELATED-WORK.md @@ -0,0 +1,19 @@ +# Relation to the changed construction + +[PR #4700](https://github.com/CrocSwap/integer-mult-bounds/pull/4700), at +commit `34434d4ea5d9edf58529eaf79b543cd6c58f3e41`, has a +[proof for the PR #4610 scalar word](https://github.com/CrocSwap/integer-mult-bounds/blob/34434d4ea5d9edf58529eaf79b543cd6c58f3e41/research/center-chart-bound/PROOF.md). +It proves a total centre-rank floor of 64 under its stated global monotone +binary-chart model. It keeps the actual warp maps, scalar graph, main and +adapter boundaries, and centre protocol. Its helper boundaries may vary. + +That work uses a different scalar word and a different allowed class. +The present package uses the historical gauge44 word and exact right-gauge +relations at paired endpoints. It proves whole-graph rank and concave-cost +limits for the specified translation-line families, and a separate local +common-product rank-six bound. Neither theorem is used as a premise for +the other in this package. + +This is a bounded scope comparison, not an exhaustive novelty claim. +The current publication refresh supplied the PR head and source proof. +No checker or certificate from PR #4700 is consumed here. diff --git a/research/fixed-word-gauge-limits/SOURCES.json b/research/fixed-word-gauge-limits/SOURCES.json new file mode 100644 index 0000000000..b7b1e7b825 --- /dev/null +++ b/research/fixed-word-gauge-limits/SOURCES.json @@ -0,0 +1,186 @@ +{ + "archive": { + "path": "research/community-frontier1042-audit/selected-replay.tar.gz", + "sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/community-frontier1042-audit/selected-replay.tar.gz" + }, + "campaign_files": { + "certificates/THRESHOLD-GAUGE-COMMON.json.gz": { + "source": "lanes/temporal-reuse/THRESHOLD-GAUGE-COMMON.json.gz", + "source_sha256": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22" + }, + "certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz": { + "source": "lanes/source-domain/THRESHOLD-MULTI-GAUGE-128-256.json.gz", + "source_sha256": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6" + }, + "certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz": { + "source": "lanes/source-domain/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz", + "source_sha256": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2" + }, + "certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz": { + "source": "lanes/source-domain/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz", + "source_sha256": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c" + }, + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": { + "source": "lanes/source-domain/WIRE-GAUGE-LINE42-PATHS.json.gz", + "source_sha256": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284" + }, + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": { + "source": "lanes/source-domain/WIRE-GAUGE-ODD-PATHS.json.gz", + "source_sha256": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84" + }, + "certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz": { + "source": "lanes/source-domain/WIRE-GAUGE-PAIRED-COMMON.json.gz", + "source_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c" + }, + "checkers/check_common_product_rank.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "source": "lanes/encoded-controller/review/check_common_product_rank.py", + "source_sha256": "0491d79be36bfe3f853d690863920aae541775853221ff1ad5e3bfb62e6d1f9e" + }, + "checkers/check_line_paths.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "source": "lanes/encoded-controller/review/check_line_paths.py", + "source_sha256": "b5289410c23621f7c4f4014dd6a4f81b7d80978c627347392f43f12764fd45a7" + }, + "checkers/gauge_negative_controls.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "c07cf9789a314abfaf8cbfb5a4440005e7ed4fd6cba1796e0a496fa84f791a8a", + "source": "lanes/temporal-reuse/gauge_negative_controls.py", + "source_sha256": "28b40ad1f84bcc43acf3adf4c592d65ff865af2f188ab7b7a4307cd08ff8e785" + }, + "checkers/review_compound_gauge.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "9e2d216f15081dd655685da6f4bbb0a116db2a6e2557c649f4dc1af889ed83df", + "source": "lanes/temporal-reuse/review_compound_gauge.py", + "source_sha256": "0a7c718a07342dc6af675016445fb9e7ff28a90017a18663774c7e4e8fdac9e9" + }, + "checkers/review_four_state_gauge.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "403f53c6ae128e6ea6fe50b41560e2c990f899889b0579b22bee85f48769b530", + "source": "lanes/temporal-reuse/review_four_state_gauge.py", + "source_sha256": "d125210cf6dbb6f82e7a4071cde077695475c940c0fb1105b044ea6a7146752e" + }, + "checkers/review_threshold_certificate.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "bb1786e568ccda265825add83b4f06322ad7f5ed60d0a8147c90f4c26b275e7c", + "source": "lanes/temporal-reuse/review_threshold_certificate.py", + "source_sha256": "5141d6f2fc0db1f22a044af975c83926a0fe5a99b45338714340ba90a0bf4496" + }, + "checkers/review_wire_gauge.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "source": "lanes/temporal-reuse/review_wire_gauge.py", + "source_sha256": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860" + }, + "checkers/verify_odd_paths.py": { + "adaptation": "Use packaged source members, certificate paths, and explicit output paths. Keep mathematical checks unchanged.", + "packaged_sha256": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "source": "lanes/source-domain/verify_odd_paths.py", + "source_sha256": "c443834dc00d6864405c85af5e8e4cb28e708fa8ad7386259e334894dda1bd10" + }, + "evidence/historical/ALL-LINE-PATH-REVIEW.json": { + "source": "lanes/encoded-controller/review/ALL-LINE-PATH-REVIEW.json", + "source_sha256": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284" + }, + "evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json": { + "source": "lanes/encoded-controller/review/COMMON-PRODUCT-RANK-REVIEW.json", + "source_sha256": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32" + }, + "evidence/historical/GAUGE-NEGATIVE-CONTROLS.json": { + "source": "lanes/temporal-reuse/GAUGE-NEGATIVE-CONTROLS.json", + "source_sha256": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e" + }, + "evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json": { + "source": "lanes/temporal-reuse/THRESHOLD-GAUGE-COMMON-REVIEW.json", + "source_sha256": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636" + }, + "evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json": { + "source": "lanes/temporal-reuse/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json", + "source_sha256": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c" + }, + "evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json": { + "source": "lanes/temporal-reuse/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json", + "source_sha256": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7" + }, + "evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json": { + "source": "lanes/temporal-reuse/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json", + "source_sha256": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e" + }, + "evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json": { + "source": "lanes/temporal-reuse/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json", + "source_sha256": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da" + }, + "proofs/ALL-LINE-GAUGES.md": { + "source": "lanes/source-domain/ALL-LINE-GAUGES.md", + "source_sha256": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb" + }, + "proofs/BOUNDARY-GAUGE.md": { + "source": "root/BOUNDARY-GAUGE.md", + "source_sha256": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c" + }, + "proofs/COMMON-PRODUCT-RANK.md": { + "source": "lanes/source-domain/COMMON-PRODUCT-RANK.md", + "source_sha256": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599" + }, + "proofs/GAUGE-REVIEW.md": { + "source": "lanes/temporal-reuse/GAUGE-REVIEW.md", + "source_sha256": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c" + } + }, + "format": "fixed-word-gauge-source-v1", + "historical_source_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "members": { + "data/CANONICAL-WORD.json.gz": { + "archive_member": "slots/local/CANONICAL-WORD.json.gz", + "decompressed_sha256": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "sha256": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219" + }, + "data/LOCAL-PROGRAMS.json.gz": { + "archive_member": "slots/local/LOCAL-PROGRAMS.json.gz", + "decompressed_sha256": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "sha256": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + } + }, + "notice_files": { + "notices/LICENSE": { + "git_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "git_path": "LICENSE", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/LICENSE" + }, + "notices/research/gauge44-slots-t16/NOTICE.md": { + "git_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "git_path": "research/gauge44-slots-t16/NOTICE.md", + "sha256": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/gauge44-slots-t16/NOTICE.md" + }, + "notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md": { + "git_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "git_path": "research/gauge44-slots-t16/UPSTREAM-NOTICE.md", + "sha256": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/gauge44-slots-t16/UPSTREAM-NOTICE.md" + }, + "notices/research/gauge44-slots-t16/construction/NOTICE.md": { + "git_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "git_path": "research/gauge44-slots-t16/construction/NOTICE.md", + "sha256": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/gauge44-slots-t16/construction/NOTICE.md" + }, + "notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md": { + "git_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "git_path": "research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md", + "sha256": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md" + }, + "notices/research/gauge44-slots-t16/t16/NOTICE.md": { + "git_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "git_path": "research/gauge44-slots-t16/t16/NOTICE.md", + "sha256": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/gauge44-slots-t16/t16/NOTICE.md" + } + }, + "publication_base_commit": "b58ad9ef4d4e861b0eaa5dba41742bdc072dca51" +} diff --git a/research/fixed-word-gauge-limits/VALIDATION.md b/research/fixed-word-gauge-limits/VALIDATION.md new file mode 100644 index 0000000000..ad9e9955f8 --- /dev/null +++ b/research/fixed-word-gauge-limits/VALIDATION.md @@ -0,0 +1,30 @@ +# Package validation + +The complete package replay passed on 22 October 2026 with CPython 3.14.7 +on macOS 26.6.1 arm64. It used one sequential process at a time and took +104.674 seconds. See [the aggregate receipt](evidence/replay/REPLAY.json) +and its nine named JSON receipts. + +The checks ran under `-I -O -B`. They checked both scalar endpoints on all +712 columns, the full graph with all rank-zero wrappers, 511 fixed lines, +10,488 integer paths, all common-line flow/cut branches and capped costs, +the compound and four-state costs, and the sharp rank-six local bound. +Both the source-domain span method and the separate symplectic pairing +method passed. All 13 damaged mathematical certificates or programs were +rejected at the required check. + +The full-frame cap-one witness reproduced one fewer positive-rank child +and rank increase 48. The exact fifth-power inequalities also passed. +The retained rank and threshold receipts establish the stated moment +interval without floating-point estimates. + +The checker diff was inspected. The changes are package input/output +paths, removal of unused Git-archive imports, and the adapted graph-reader +hash. No mathematical validation check was removed. The source members, +certificates, frozen proofs, historical receipts, and notices have their +original bytes. `SOURCES.json` and `MANIFEST.json` record the bindings. + +No current selected cold replay, changed native circuit emission, +complete recursive repricing, hosting construction, or new search ran. +This finite replay does not formally verify the full multiplication +theorem. No fragile code workaround was introduced. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/ANNEX-MANIFEST.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/ANNEX-MANIFEST.json new file mode 100644 index 0000000000..d7859b22bd --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/ANNEX-MANIFEST.json @@ -0,0 +1,52 @@ +{ + "files": { + "ARCHIVE-CHECK.json": "e9ac68aff182d589f50e43656a333d3c3018c71539d3b522a9fdef683f14a02c", + "PARENT-SNAPSHOT.json": "4356542fdeacac1fb67ff9705d6a073be72b0c202afea74a8bc0e20f9ddd61c1", + "PORTABILITY.json": "a49992f05af0cbdc6c58259280b7116aa819ab75060794b9e8d9dd8b2499f814", + "PORTABILITY.patch": "ea47599db5bf622677e73128b66166496aa1365df3b9c2d4d0ac437d8c63b0fe", + "README.md": "3677547e252f768ca16d0cc0e1ece0b0fc66bb9d378ffef0ff7ce5e3ff417622", + "SOURCE-LINK-CHECK.json": "49188993d0962dcc1f5030908e9924591de906eb8f50eade13acd2bd57018ae5", + "SOURCES.json": "4bc61753836fe8481e671cc0646cd3934fdf5e31d201e0b56c1a0053846b29a5", + "VALIDATION.json": "36e11ec021fd89c754bdb1faf6eb02e49979b3820220c4f4faf5e171925a85bd", + "evidence/normal/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "evidence/normal/GEODESIC-REVIEW.json": "f5c831455ad4e412feb45482bfdc18c0b43d802f5b105d46d78572e56792dba7", + "evidence/normal/REPLAY.json": "38472dec6d3b302ac70d210bbd87fbacdfc838b498b35d866979c8f3fc65f1d0", + "evidence/optimized/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "evidence/optimized/GEODESIC-REVIEW.json": "41275bcf879ee69c8c68feda575e852e93816f9fb9adf137b58971785a76167a", + "evidence/optimized/REPLAY.json": "40ffdeb15677409bc346d446cf84fd83164704ac328c94941b199ffb2aed47b6", + "frozen/lanes/encoded-controller/ONE-SHOT.json": "215e89cfa7cd0d2634b03394799794198a51882512b3621e798ef64296da5d36", + "frozen/lanes/encoded-controller/ONE-SHOT.md": "f123669f63d7f92d95d73008356dbb1d7641d990efbceb46c59f1d3846f57bc4", + "frozen/lanes/encoded-controller/review/GEODESIC-RERUN-RECEIPT.json": "a61e11c93f56fe0a77a5318a4af9e9151d35701b5d4b310203fd6194b324aefe", + "frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json": "4992ccf57cff47f7f35cc6b89d6ef19edfcdec6bf38936ec53f1e58e9aa40885", + "frozen/lanes/encoded-controller/review/GEODESIC-rerun.json": "5d419f2f7cc935bb59e40aef3405a777cca6e41c0becc46c40534da7f4351396", + "frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json": "25c50633a2ea4d61904622f622fb9b59d033a997f8acdfb0280942fbf4ab318f", + "frozen/lanes/encoded-controller/review/check_geodesic_review.py": "370f7b14141f5606a7fdf38cb206fc8251d342e1a623c97eb96551f91fe3315b", + "frozen/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "frozen/lanes/history-encoding/HOSTING-PATCH.json": "d095384882575475c0a99a424acef3eadf36c56e3c2ae466fadfac72cceb0823", + "frozen/lanes/history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "frozen/lanes/history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7", + "frozen/lanes/history-encoding/WALSH-MODE-PROOF.md": "3aa1c67c4f2294aa2bf6522adaffd648a09f68984cd850b93399381027f8c248", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json": "5f70e47794b8a376e3646b8a5a4012171512f90dce696fccba9ba914ddca0309", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md": "259553e900b6f3e98443bb6c5703e9dbedae42cb0d67ae6a5b514b912ec6b09a", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json": "36d8f5a98265f7f1c96ab49892b2520cb37fca6edf0347caf2e7f871fb1db026", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md": "f218e2182fee87c8550c98b68c5793f7a70719453149052c8fa82da1cc94c589", + "frozen/lanes/interface-proof/WALSH-MODE-ADAPTERS-SOURCE.json": "c8ea223ddd139387bbed17ef6dc1175324cec3e4e5431f834e121dc35dcb9bbd", + "frozen/lanes/interface-proof/WALSH-MODE-REVIEW.json": "c0a90e4365634561fc63128f1ca92d1fdd3cd3ebdc33187fd2f8929bd071cb34", + "frozen/lanes/interface-proof/WALSH-MODE-REVIEW.md": "3287d12aa979e5b1790879e5609d1147f9791a5e296fb25796d63e12c8736283", + "frozen/lanes/source-domain/GEODESIC-BOUNDARY.md": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "frozen/lanes/source-domain/GEODESIC-CHECKS.json": "5d419f2f7cc935bb59e40aef3405a777cca6e41c0becc46c40534da7f4351396", + "frozen/lanes/source-domain/verify_geodesic.py": "e9fcb23302b056369ff7251ab84db02aa389afba3415979ea3cf5d9aec04157b", + "frozen/lanes/temporal-reuse/review_wire_gauge.py": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", + "portable/check_geodesic_review.py": "801a2972f8a364f354db1a8e38a58bf9184f6c497a1ecba67f4510161ef299c6", + "portable/verify_geodesic.py": "5cee00883bf48953534da2232e970e82d4954754dafe0c50604a30b3e2b86213", + "replay.py": "d200cf1245f7d72537463c1e23ca58e0a12850eb114752707affbff2d3d47987", + "sources/research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "sources/research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "sources/research/format-limits-corrected/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "sources/research/format-limits-corrected/NOTICE.md": "d16991367957b1de0cb3c9d4b61667482c3d4985903f15846051c65812c81611", + "sources/research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e" + }, + "format": "sha256-annex-files-v1", + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "scope": "Only the common-boundary geodesic annex; the accepted primary manifest remains unchanged" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/ARCHIVE-CHECK.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/ARCHIVE-CHECK.json new file mode 100644 index 0000000000..d5d1d7682f --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/ARCHIVE-CHECK.json @@ -0,0 +1,21 @@ +{ + "archive_bytes": 19299540, + "archive_path": "research/community-frontier1042-audit/selected-replay.tar.gz", + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "members": [ + { + "bytes": 84805, + "member": "slots/local/CANONICAL-WORD.json.gz", + "parent_path": "data/CANONICAL-WORD.json.gz", + "sha256": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219" + }, + { + "bytes": 209318, + "member": "slots/local/LOCAL-PROGRAMS.json.gz", + "parent_path": "data/LOCAL-PROGRAMS.json.gz", + "sha256": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + } + ], + "revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPLETE_ARCHIVE_AND_PARENT_MEMBERS" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/PARENT-SNAPSHOT.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/PARENT-SNAPSHOT.json new file mode 100644 index 0000000000..e275372e8f --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/PARENT-SNAPSHOT.json @@ -0,0 +1,59 @@ +{ + "files": { + "MANIFEST.json": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "NOTICE.md": "a0f77933aef1f5e9301ae171ef03371fd59fcc67f4f2fecdfd85b6b4562453d6", + "PROOF.md": "d38d5c8c7565f4baa3ba66e84389cfd30bf14d1f9ec057773b47e03c8e8558d5", + "PROVENANCE.md": "9c44733b62b349ed5f7007a073593ce87a08edbd52a74b253a2dbe157aae6108", + "README.md": "4dc6f4b3a1d3d2e5bfeef55b91190dcc6574bcac15ea1392a49b908f4209d044", + "RELATED-WORK.md": "38f8d26789e22d017b4accd4df302c9f485e0fbc622fe864438e4aa3e671bcca", + "SOURCES.json": "d094cdf81582cc4e95dad10887c8f29684f779f18f4d6eb22c637bdcd19329ba", + "VALIDATION.md": "1386abfaf8353ae6c4579dc6914fd8b5ae8486a906d1e96fb68be81a3dcdef66", + "certificates/THRESHOLD-GAUGE-COMMON.json.gz": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "checkers/check_common_product_rank.py": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "checkers/gauge_negative_controls.py": "c07cf9789a314abfaf8cbfb5a4440005e7ed4fd6cba1796e0a496fa84f791a8a", + "checkers/review_compound_gauge.py": "9e2d216f15081dd655685da6f4bbb0a116db2a6e2557c649f4dc1af889ed83df", + "checkers/review_four_state_gauge.py": "403f53c6ae128e6ea6fe50b41560e2c990f899889b0579b22bee85f48769b530", + "checkers/review_threshold_certificate.py": "bb1786e568ccda265825add83b4f06322ad7f5ed60d0a8147c90f4c26b275e7c", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "checkers/verify_odd_paths.py": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "data/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "data/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "evidence/historical/ALL-LINE-PATH-REVIEW.json": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284", + "evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32", + "evidence/historical/GAUGE-NEGATIVE-CONTROLS.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da", + "evidence/replay/REPLAY.json": "7f81d82c4ac340296a567eb379de0464ab617f69fb91dae3f71c8d23752ef8b9", + "evidence/replay/all-lines-pairing.json": "c493174b5f29b19003618ca022fb87566df71d99681528eb491fc80ba23fca08", + "evidence/replay/all-lines-span.json": "eeae7231add00963a57f6f8708c7ff6f59de2e3b5134bc465d23b0ab6df23b62", + "evidence/replay/common-product-rank.json": "bbac61ccba8a6d8094f14b5bf3c379a85b9969d7c5a9b311db1042b15817ecd8", + "evidence/replay/common-rank.json": "001917257546807ea4d031c547b6221b23da12e50a2dba4ae6739e060e155923", + "evidence/replay/common-thresholds.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/replay/four-state-thresholds.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/replay/frame415-thresholds.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/replay/negative-controls.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/replay/product-thresholds.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "notices/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "notices/research/gauge44-slots-t16/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "proofs/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "proofs/BOUNDARY-GAUGE.md": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c", + "proofs/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599", + "proofs/GAUGE-REVIEW.md": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c", + "replay.py": "1120f28ea69263b74e5932aec64bc7f78ad18fb5912b73bcb416132ac1826eab" + }, + "scope": "All existing primary package files before the annex was added" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/PORTABILITY.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/PORTABILITY.json new file mode 100644 index 0000000000..44a203893e --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/PORTABILITY.json @@ -0,0 +1,41 @@ +[ + { + "io_functions_changed": [ + "main" + ], + "portable": "portable/verify_geodesic.py", + "portable_sha256": "5cee00883bf48953534da2232e970e82d4954754dafe0c50604a30b3e2b86213", + "scope": "Paths, source member reads, output arguments, and corresponding reader/hash metadata only", + "source": "frozen/lanes/source-domain/verify_geodesic.py", + "source_sha256": "e9fcb23302b056369ff7251ab84db02aa389afba3415979ea3cf5d9aec04157b", + "unchanged_function_names": [ + "audit_program", + "load_reader", + "pin", + "require" + ] + }, + { + "io_functions_changed": [ + "main", + "read_source" + ], + "portable": "portable/check_geodesic_review.py", + "portable_sha256": "801a2972f8a364f354db1a8e38a58bf9184f6c497a1ecba67f4510161ef299c6", + "scope": "Paths, source member reads, output arguments, and corresponding reader/hash metadata only", + "source": "frozen/lanes/encoded-controller/review/check_geodesic_review.py", + "source_sha256": "370f7b14141f5606a7fdf38cb206fc8251d342e1a623c97eb96551f91fe3315b", + "unchanged_function_names": [ + "canonical_label", + "clifford_control", + "compose", + "distance", + "image", + "inverse", + "local_paths", + "pairing", + "rank", + "require" + ] + } +] diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/PORTABILITY.patch b/research/fixed-word-gauge-limits/annex/geodesic-boundary/PORTABILITY.patch new file mode 100644 index 0000000000..59262230b1 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/PORTABILITY.patch @@ -0,0 +1,169 @@ +--- frozen/lanes/source-domain/verify_geodesic.py ++++ portable/verify_geodesic.py +@@ -7,8 +7,10 @@ + import argparse + import gzip + import json +-import subprocess +- ++ ++ ++ANNEX = Path(__file__).resolve().parents[1] ++PACKAGE = ANNEX.parents[1] + + BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" + ARCHIVE_HASH = "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754" +@@ -23,7 +25,7 @@ + "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + } + ASSEMBLY_HASH = "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045" +-READER_HASH = "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860" ++READER_HASH = "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a" + + + def require(condition, label): +@@ -130,10 +132,9 @@ + + + def main(args): +- lane = Path(__file__).parent +- lanes = lane.parent +- reader = load_reader(lanes / "temporal-reuse/review_wire_gauge.py") +- word, original = reader.load_source(args.repo) ++ lanes = ANNEX / "frozen/lanes" ++ reader = load_reader(PACKAGE / "checkers/review_wire_gauge.py") ++ word, original = reader.load_source() + programs = {} + for name in ("FULL-MODE", "ONE-SIDED-MODE"): + relative = "history-encoding/" + name + "-PROGRAMS.json.gz" +@@ -159,12 +160,12 @@ + else: + raise ValueError("negative control accepted: " + label) + +- plan_raw = subprocess.check_output(["git", "-C", str(args.repo), "show", BASE + ":" + PLAN]) ++ plan_raw = (ANNEX / "sources" / PLAN).read_bytes() + require(sha256(plan_raw).hexdigest() == PLAN_HASH, "pinned controller plan") + plan = json.loads(plan_raw) + require((plan["T"], plan["M"], plan["live"], plan["K"], plan["L"]) == + (16, 73, 14336, 4, 9), "global productive geometry") +- assembly_path = lanes.parent / "sources/research__community-frontier1094-audit__ASSEMBLY.json" ++ assembly_path = ANNEX / "sources/research/community-frontier1094-audit/ASSEMBLY.json" + assembly = json.loads(pin(assembly_path, ASSEMBLY_HASH)) + old_profile = Counter({int(r): count for r, count in assembly["complex_profile"].items()}) + old_mass = sum(r * count for r, count in old_profile.items()) +@@ -230,6 +231,5 @@ + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) +--- frozen/lanes/encoded-controller/review/check_geodesic_review.py ++++ portable/check_geodesic_review.py +@@ -3,18 +3,17 @@ + from collections import Counter, deque + from hashlib import sha256 + from pathlib import Path ++import argparse + import gzip + import json + import resource +-import subprocess +-import tarfile +- +- +-HERE = Path(__file__).resolve().parent +-LANES = HERE.parent.parent +-ROOT = HERE.parents[4] ++ ++ ++ANNEX = Path(__file__).resolve().parents[1] ++PACKAGE = ANNEX.parents[1] ++LANES = ANNEX / "frozen/lanes" ++HERE = LANES / "encoded-controller/review" + BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +-REPO = ROOT / "worktrees/k5-centre-sharing" + ARCHIVE = "research/community-frontier1042-audit/selected-replay.tar.gz" + ARCHIVE_PIN = "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754" + MEMBERS = { +@@ -114,26 +113,11 @@ + + + def read_source(): +- process = subprocess.Popen(["git", "show", BASE + ":" + ARCHIVE], cwd=REPO, stdout=subprocess.PIPE) +- digest = sha256() +- +- class CheckedStream: +- def read(self, size=-1): +- data = process.stdout.read(size) +- digest.update(data) +- return data +- +- stream = CheckedStream() + result = {} +- with tarfile.open(fileobj=stream, mode="r|gz") as archive: +- for member in archive: +- if member.name in MEMBERS: +- raw = archive.extractfile(member).read() +- require(sha256(raw).hexdigest() == MEMBERS[member.name], "Local member pin") +- result[member.name] = json.loads(gzip.decompress(raw)) +- while stream.read(65536): +- pass +- require(process.wait() == 0 and digest.hexdigest() == ARCHIVE_PIN, "Complete archive pin") ++ for member, expected in MEMBERS.items(): ++ raw = (PACKAGE / "data" / Path(member).name).read_bytes() ++ require(sha256(raw).hexdigest() == expected, "Local member pin") ++ result[member] = json.loads(gzip.decompress(raw)) + require(set(result) == set(MEMBERS), "Local source inventory") + return result["slots/local/CANONICAL-WORD.json.gz"], result["slots/local/LOCAL-PROGRAMS.json.gz"] + +@@ -258,9 +242,17 @@ + + + def main(): +- report_path = LANES / "source-domain/GEODESIC-CHECKS.json" +- require((HERE / "GEODESIC-rerun.json").read_bytes() == report_path.read_bytes(), "Producer reproduction") ++ parser = argparse.ArgumentParser(description=__doc__) ++ parser.add_argument("--producer-receipt", type=Path, required=True) ++ parser.add_argument("--out", type=Path, required=True) ++ args = parser.parse_args() ++ report_path = args.producer_receipt + report = json.loads(report_path.read_text()) ++ expected = json.loads((HERE / "GEODESIC-rerun.json").read_text()) ++ reader_hash = sha256((PACKAGE / "checkers/review_wire_gauge.py").read_bytes()).hexdigest() ++ require(report["reader_sha256"] == reader_hash, "Portable source reader pin") ++ expected["reader_sha256"] = reader_hash ++ require(report == expected, "Producer reproduction with declared reader hash change") + word, original = read_source() + matrices = [canonical_label(frame) for frame in word["frames"]] + local = {} +@@ -280,7 +272,7 @@ + local[variant][side] = result + sources = {} + for path, pin in GIT_PINS.items(): +- raw = subprocess.check_output(["git", "show", BASE + ":" + path], cwd=REPO) ++ raw = (ANNEX / "sources" / path).read_bytes() + require(sha256(raw).hexdigest() == pin, "Pinned global or prior source") + sources[path] = raw.decode() if path.endswith(".md") else json.loads(raw) + prior = sources["research/format-limits-corrected/README.md"] +@@ -313,8 +305,9 @@ + require(max(normalized) == 48 and all(count >= 0 for count in normalized.values()), "Admitted profile ranks") + require({str(r): c for r, c in normalized.items()} == report["global_ledger"]["literal_normalized_profile"], "Saved complete normalized profile") + toy = clifford_control() +- files = [LANES / "source-domain" / name for name in ("GEODESIC-BOUNDARY.md", "verify_geodesic.py", "GEODESIC-CHECKS.json")] +- files += [LANES / "temporal-reuse/review_wire_gauge.py", HERE / "check_geodesic_review.py"] ++ files = [LANES / "source-domain/GEODESIC-BOUNDARY.md", ++ ANNEX / "portable/verify_geodesic.py", report_path, ++ PACKAGE / "checkers/review_wire_gauge.py", Path(__file__).resolve()] + receipt = { + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION", + "source_base": BASE, "source_archive_sha256": ARCHIVE_PIN, +@@ -342,7 +335,7 @@ + "reviewed_files_sha256": {str(path): sha256(path.read_bytes()).hexdigest() for path in files}, + "maximum_resident_bytes": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, + } +- (HERE / "GEODESIC-REVIEW.json").write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") ++ args.out.write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") + print(receipt["status"]) + print("all_four_local_words=true normalized_rank=1130624 minimum_added_rank=14336") + diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/README.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/README.md new file mode 100644 index 0000000000..ac80bf7fd7 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/README.md @@ -0,0 +1,175 @@ +# Common-boundary geodesic annex + +This annex adds a reviewed rank obstruction for persistent productive +paths with common input and output frames. It permits arbitrary Clifford +frame gauges and exact fusion of adjacent native steps. Every productive +path, scalar access, and boundary contract remains fixed. The result +does not improve kappa or give a positive supplier exponent. + +The [proof](frozen/lanes/source-domain/GEODESIC-BOUNDARY.md), +[producer receipt](frozen/lanes/source-domain/GEODESIC-CHECKS.json), and +[separate review](frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json) +are exact frozen campaign files. The [source manifest](SOURCES.json) and +[annex manifest](ANNEX-MANIFEST.json) bind the new dependency closure. +Every original primary-package file and its original `MANIFEST.json` +remain unchanged. [PARENT-SNAPSHOT.json](PARENT-SNAPSHOT.json) binds those +54 files. The primary manifest and replay retain their original scope. + +## The theorem and the changed boundary premise + +For a Clifford frame T in binary dimension n, write `L(T)=S(T)^-1 Z`, +where `Z={(0,z)}`. The frame distance is +`d(L,K)=n-dim(L intersect K)`. An exact native step from T to U has +Fourier rank `rho(U T^-1)=d(L(T),L(U))`. The triangle inequality gives +the sum of native ranks on a path at least its endpoint distance. +Left monomial wrappers preserve the distance. Their phase and address +costs remain nonnegative. + +The circuit class has four conditions: + +1. Retain the persistent array-register paths. An array permutation + transports the path labels. Count each native event once. +2. Retain the scalar accesses. ADD and COPY require one common live frame + on their operands. SCALE keeps the frame. Do not grant free native + operator-valued scalar coefficients. +3. Do not clear a productive lifetime, reset its frame for free, or move + it to private zero workspace and replace it by another lifetime. +4. Price every native event, including events that previously had rank + zero. Exact adjacent fusion is allowed within these same conditions. + +If N productive paths start at I and end at the full native frame F_n, +up to left monomial wrappers, then the total rank is at least `n N`. +The argument holds at each allowed tensor power and after averaging +over the finite cover. It does not assume equal values in cover classes. + +This application imposes common I/full-F productive boundaries and an +identity joint content map. The primary package instead studies fixed +translation gauges of the original word, with its virtual-Q boundary +contract. The annex does not extend that original-boundary theorem to +every Clifford gauge. The original virtual-Q supplier is itself a +countercontrol to imposing the new common-boundary premise on all +correct suppliers. New lifetime transfers, changed scalar controllers, +joint recursive children, and different boundary encodings are outside +the annex theorem. + +## Exact local and global application + +Each full-mode and one-sided-mode word has 704 persistent paths. In both +orientations, all 3,486 paid climbs are nested upward steps. Their rank +mass is 5,522 and equals the sum of the path endpoint distances. The +event inventory also keeps all 1,570 rank-zero adapters. Changing the +112 X inputs from their line frames to I and the 112 Y outputs from +their complementary frames to full F raises the local endpoint sum to +5,746. Scalar uses separate the proposed boundary corrections from the +nearest paid climbs. A change of intermediate gauges still obeys the +path bound. + +The global application is the direct common-frame inverse of the +one-shot controller. It uses the inherited exact mode endpoint, full-F +monomial access, and whole-owner backfill invoice. Its conditional +counts over all 16 replicas, per cover class, are: + +| Quantity | Exact value | +|---|---:| +| Old productive families | 14,336 | +| New stopped mode families | 1,152 | +| Total productive families N | 15,488 | +| Rank mass before boundary normalization | 1,116,288 | +| Common-boundary lower bound `73 N` | 1,130,624 | +| Required added rank | 14,336 | +| Average added rank per replica | 896 | + +The explicit input and output line normalizers use `2*4*112=896` +rank-one children per replica. Thus the rank bound is sharp for this +conditional route. Fusion can reduce the event count but cannot reduce +the complete rank mass. The rank-48 coordinate-split plan has moment +one at exponent zero and strictly greater than one at every positive +exponent. Any admitted fusion within ambient rank 73 still has moment +at least one for every nonnegative exponent. A positive supplier +exponent cannot follow from this route by frame gauges or fusion alone. + +The [one-shot content proof](frozen/lanes/encoded-controller/ONE-SHOT.md), +[content review](frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json), +[native mode review](frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md), +[mode receipt](frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json), +[owner review](frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md), and +[owner receipt](frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json) +are inherited application evidence. Their relevant source receipts and +Walsh-mode proof are included. This replay does not rerun those native +or whole-owner checks. The numerical global application retains those +premises. It does not emit a global word, establish a new owner +allocation, price scalar or address work, or admit a supplier. + +## Replay + +Use Python 3.10 or later and its standard library. Use one CPU and allow +at least 3 GiB of memory. Keep this annex inside the full +`fixed-word-gauge-limits` package, since it consumes the already-pinned +parent source members and reader. Use a new external output directory. +From the repository root after publication: + +```sh +python3 -I -O -B research/fixed-word-gauge-limits/annex/geodesic-boundary/replay.py --out /tmp/geodesic-boundary-annex +``` + +Expected final line: + +```text +PASS_GEODESIC_BOUNDARY_ANNEX +``` + +The driver runs two checks in sequence. The producer audits all four +mode words and the conditional global invoice. The separate checker +rebuilds all 1,004 canonical Lagrangians by Gaussian nullspaces and uses +symplectic pairing ranks. Its complete two-bit control covers 720 frames, +518,400 ordered frame pairs, 3,375 metric triples, and 34,560 left +monomial checks. The general theorem rests on the written metric proof. + +Three damage controls reject a wrong native rank, a productive-array +CLEAR, and an unequal-frame scalar access. A further matrix-order +control rejects the wrong relative operator order. These controls are +separate from the primary package's controls. + +Normal and optimized cold replay results are in +[VALIDATION.json](VALIDATION.json). The producer receipt differs only in +the hash of the pinned portable parent reader. The independent receipt +updates actual file paths and hashes and runtime memory metadata; the +frozen historical `review_update` note stays in its original receipt. +All other typed JSON fields match. The exact I/O changes are recorded in +[PORTABILITY.patch](PORTABILITY.patch). No mathematical function changed. +No Git, network, search solver, or source monkey patch is needed. + +## Source, credit, and limits + +All mathematical source pins remain historical +`bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. The +[archive check](ARCHIVE-CHECK.json) verifies the complete source archive +and the exact two members already present in the primary package. +The inherited selected assembly is historical. The publication base +remains `b58ad9ef4d4e861b0eaa5dba41742bdc072dca51`, whose selected +construction is conditional +[PR #4470](https://github.com/CrocSwap/integer-mult-bounds/pull/4470). +No transfer of this rank bound to that changed construction is proved. + +The canonical-subspace port-gauge triangle argument is prior work in +[Section C.2, Theorem N](https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md#L392-L438). +Its source credits DreamingOfClouds with Claude Opus 5.5 assistance. +The exact [source notice](sources/research/format-limits-corrected/NOTICE.md) +and [source license](sources/research/format-limits-corrected/LICENSE) +are retained. This annex gives the Lagrangian form for arbitrary Clifford +gauges, the actual mode-word audit, and the stated common-boundary +application. It claims no priority for the triangle argument. + +The source-domain lane supplied the theorem and producer. The +encoded-controller review lane supplied the separate pairing and group +check. The history-encoding, encoded-controller, and interface-proof +lanes supplied the inherited mode, content, and hosting evidence. +The original supplier credit and Apache-2.0 notices remain in the +[primary notice](../../NOTICE.md) and [license](../../notices/LICENSE). +Substantial OpenAI Codex assistance was used. These are separate agent +reviews, not human peer review. + +An implementation with new productive lifetimes, a different boundary +encoding, or a changed content controller needs its own proof. This +annex performs no new search and gives no general circuit lower bound, +new supplier admission, complete multiplication result, or kappa change. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCE-LINK-CHECK.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCE-LINK-CHECK.json new file mode 100644 index 0000000000..5d0674c364 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCE-LINK-CHECK.json @@ -0,0 +1,41 @@ +{ + "files": [ + { + "git_blob_sha": "f1bec76e8e9b7a1f09c1e05cb6cce973b6e59f1b", + "sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "status": "EXACT_GITHUB_BYTES", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/complex-t16-rare-pattern-exchanges/data/PLAN.json" + }, + { + "git_blob_sha": "5fd676df060f3b450782fdf5ff5f6beb63a5eeb0", + "sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "status": "EXACT_GITHUB_BYTES", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/community-frontier1094-audit/ASSEMBLY.json" + }, + { + "git_blob_sha": "95c7ae59f24eeebba4baae992e70d11ff5d68459", + "sha256": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e", + "status": "EXACT_GITHUB_BYTES", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md" + }, + { + "git_blob_sha": "1c45fbefdb909ef8ed2df3d2b1cac6948478d9c0", + "sha256": "d16991367957b1de0cb3c9d4b61667482c3d4985903f15846051c65812c81611", + "status": "EXACT_GITHUB_BYTES", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/NOTICE.md" + }, + { + "git_blob_sha": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "status": "EXACT_GITHUB_BYTES", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/LICENSE" + }, + { + "git_blob_sha": "6f4dc6fe7631d8aacf8081fcaecf32197181685b", + "sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "status": "EXACT_GITHUB_GIT_BLOB_ID", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/community-frontier1042-audit/selected-replay.tar.gz" + } + ], + "status": "PASS_PINNED_GEODESIC_SOURCE_LINKS" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCES.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCES.json new file mode 100644 index 0000000000..0da030904c --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCES.json @@ -0,0 +1,246 @@ +{ + "files": [ + { + "bytes": 12386, + "kind": "campaign", + "path": "frozen/lanes/source-domain/GEODESIC-BOUNDARY.md", + "role": "decisive_source", + "sha256": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "source_path": "work/centre-encoding-campaign-20261014/lanes/source-domain/GEODESIC-BOUNDARY.md" + }, + { + "bytes": 120046, + "kind": "campaign", + "path": "frozen/lanes/source-domain/GEODESIC-CHECKS.json", + "role": "decisive_source", + "sha256": "5d419f2f7cc935bb59e40aef3405a777cca6e41c0becc46c40534da7f4351396", + "source_path": "work/centre-encoding-campaign-20261014/lanes/source-domain/GEODESIC-CHECKS.json" + }, + { + "bytes": 12867, + "kind": "campaign", + "path": "frozen/lanes/source-domain/verify_geodesic.py", + "role": "decisive_source", + "sha256": "e9fcb23302b056369ff7251ab84db02aa389afba3415979ea3cf5d9aec04157b", + "source_path": "work/centre-encoding-campaign-20261014/lanes/source-domain/verify_geodesic.py" + }, + { + "bytes": 19939, + "kind": "campaign", + "path": "frozen/lanes/encoded-controller/review/check_geodesic_review.py", + "role": "decisive_source", + "sha256": "370f7b14141f5606a7fdf38cb206fc8251d342e1a623c97eb96551f91fe3315b", + "source_path": "work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/check_geodesic_review.py" + }, + { + "bytes": 9680, + "kind": "campaign", + "path": "frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json", + "role": "decisive_source", + "sha256": "4992ccf57cff47f7f35cc6b89d6ef19edfcdec6bf38936ec53f1e58e9aa40885", + "source_path": "work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/GEODESIC-REVIEW.json" + }, + { + "bytes": 120046, + "kind": "campaign", + "path": "frozen/lanes/encoded-controller/review/GEODESIC-rerun.json", + "role": "decisive_source", + "sha256": "5d419f2f7cc935bb59e40aef3405a777cca6e41c0becc46c40534da7f4351396", + "source_path": "work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/GEODESIC-rerun.json" + }, + { + "bytes": 611, + "kind": "campaign", + "path": "frozen/lanes/encoded-controller/review/GEODESIC-RERUN-RECEIPT.json", + "role": "decisive_source", + "sha256": "a61e11c93f56fe0a77a5318a4af9e9151d35701b5d4b310203fd6194b324aefe", + "source_path": "work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/GEODESIC-RERUN-RECEIPT.json" + }, + { + "bytes": 22046, + "kind": "campaign", + "path": "frozen/lanes/temporal-reuse/review_wire_gauge.py", + "role": "decisive_source", + "sha256": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", + "source_path": "work/centre-encoding-campaign-20261014/lanes/temporal-reuse/review_wire_gauge.py" + }, + { + "bytes": 213376, + "kind": "campaign", + "path": "frozen/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz", + "role": "decisive_source", + "sha256": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "source_path": "work/centre-encoding-campaign-20261014/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz" + }, + { + "bytes": 215758, + "kind": "campaign", + "path": "frozen/lanes/history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz", + "role": "decisive_source", + "sha256": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7", + "source_path": "work/centre-encoding-campaign-20261014/lanes/history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz" + }, + { + "bytes": 8063, + "kind": "campaign", + "path": "frozen/lanes/history-encoding/ONE-SHOT-MAX48.json", + "role": "decisive_source", + "sha256": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "source_path": "work/centre-encoding-campaign-20261014/lanes/history-encoding/ONE-SHOT-MAX48.json" + }, + { + "bytes": 17373, + "kind": "campaign", + "path": "frozen/lanes/encoded-controller/ONE-SHOT.md", + "role": "inherited_application_evidence_not_rerun", + "sha256": "f123669f63d7f92d95d73008356dbb1d7641d990efbceb46c59f1d3846f57bc4", + "source_path": "work/centre-encoding-campaign-20261014/lanes/encoded-controller/ONE-SHOT.md" + }, + { + "bytes": 13540, + "kind": "campaign", + "path": "frozen/lanes/encoded-controller/ONE-SHOT.json", + "role": "inherited_application_evidence_not_rerun", + "sha256": "215e89cfa7cd0d2634b03394799794198a51882512b3621e798ef64296da5d36", + "source_path": "work/centre-encoding-campaign-20261014/lanes/encoded-controller/ONE-SHOT.json" + }, + { + "bytes": 6348, + "kind": "campaign", + "path": "frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json", + "role": "inherited_application_evidence_not_rerun", + "sha256": "25c50633a2ea4d61904622f622fb9b59d033a997f8acdfb0280942fbf4ab318f", + "source_path": "work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json" + }, + { + "bytes": 6667, + "kind": "campaign", + "path": "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md", + "role": "inherited_application_evidence_not_rerun", + "sha256": "f218e2182fee87c8550c98b68c5793f7a70719453149052c8fa82da1cc94c589", + "source_path": "work/centre-encoding-campaign-20261014/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md" + }, + { + "bytes": 3667, + "kind": "campaign", + "path": "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json", + "role": "inherited_application_evidence_not_rerun", + "sha256": "36d8f5a98265f7f1c96ab49892b2520cb37fca6edf0347caf2e7f871fb1db026", + "source_path": "work/centre-encoding-campaign-20261014/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json" + }, + { + "bytes": 2665, + "kind": "campaign", + "path": "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md", + "role": "inherited_application_evidence_not_rerun", + "sha256": "259553e900b6f3e98443bb6c5703e9dbedae42cb0d67ae6a5b514b912ec6b09a", + "source_path": "work/centre-encoding-campaign-20261014/lanes/interface-proof/HOSTING-PATCH-REVIEW.md" + }, + { + "bytes": 1612, + "kind": "campaign", + "path": "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json", + "role": "inherited_application_evidence_not_rerun", + "sha256": "5f70e47794b8a376e3646b8a5a4012171512f90dce696fccba9ba914ddca0309", + "source_path": "work/centre-encoding-campaign-20261014/lanes/interface-proof/HOSTING-PATCH-REVIEW.json" + }, + { + "bytes": 6557, + "kind": "campaign", + "path": "frozen/lanes/interface-proof/WALSH-MODE-REVIEW.md", + "role": "inherited_application_evidence_not_rerun", + "sha256": "3287d12aa979e5b1790879e5609d1147f9791a5e296fb25796d63e12c8736283", + "source_path": "work/centre-encoding-campaign-20261014/lanes/interface-proof/WALSH-MODE-REVIEW.md" + }, + { + "bytes": 4171, + "kind": "campaign", + "path": "frozen/lanes/interface-proof/WALSH-MODE-REVIEW.json", + "role": "inherited_application_evidence_not_rerun", + "sha256": "c0a90e4365634561fc63128f1ca92d1fdd3cd3ebdc33187fd2f8929bd071cb34", + "source_path": "work/centre-encoding-campaign-20261014/lanes/interface-proof/WALSH-MODE-REVIEW.json" + }, + { + "bytes": 44652, + "kind": "campaign", + "path": "frozen/lanes/interface-proof/WALSH-MODE-ADAPTERS-SOURCE.json", + "role": "inherited_application_evidence_not_rerun", + "sha256": "c8ea223ddd139387bbed17ef6dc1175324cec3e4e5431f834e121dc35dcb9bbd", + "source_path": "work/centre-encoding-campaign-20261014/lanes/interface-proof/WALSH-MODE-ADAPTERS-SOURCE.json" + }, + { + "bytes": 11303, + "kind": "campaign", + "path": "frozen/lanes/history-encoding/WALSH-MODE-PROOF.md", + "role": "inherited_application_evidence_not_rerun", + "sha256": "3aa1c67c4f2294aa2bf6522adaffd648a09f68984cd850b93399381027f8c248", + "source_path": "work/centre-encoding-campaign-20261014/lanes/history-encoding/WALSH-MODE-PROOF.md" + }, + { + "bytes": 202908, + "kind": "campaign", + "path": "frozen/lanes/history-encoding/HOSTING-PATCH.json", + "role": "inherited_application_evidence_not_rerun", + "sha256": "d095384882575475c0a99a424acef3eadf36c56e3c2ae466fadfac72cceb0823", + "source_path": "work/centre-encoding-campaign-20261014/lanes/history-encoding/HOSTING-PATCH.json" + }, + { + "bytes": 975105, + "kind": "git", + "path": "sources/research/complex-t16-rare-pattern-exchanges/data/PLAN.json", + "revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "source_path": "research/complex-t16-rare-pattern-exchanges/data/PLAN.json", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/complex-t16-rare-pattern-exchanges/data/PLAN.json" + }, + { + "bytes": 85147, + "kind": "git", + "path": "sources/research/community-frontier1094-audit/ASSEMBLY.json", + "revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "source_path": "research/community-frontier1094-audit/ASSEMBLY.json", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/community-frontier1094-audit/ASSEMBLY.json" + }, + { + "bytes": 58664, + "kind": "git", + "path": "sources/research/format-limits-corrected/README.md", + "revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "sha256": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e", + "source_path": "research/format-limits-corrected/README.md", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md" + }, + { + "bytes": 4019, + "kind": "git", + "path": "sources/research/format-limits-corrected/NOTICE.md", + "revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "sha256": "d16991367957b1de0cb3c9d4b61667482c3d4985903f15846051c65812c81611", + "source_path": "research/format-limits-corrected/NOTICE.md", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/NOTICE.md" + }, + { + "bytes": 11357, + "kind": "git", + "path": "sources/research/format-limits-corrected/LICENSE", + "revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source_path": "research/format-limits-corrected/LICENSE", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/LICENSE" + } + ], + "historical_revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "parent_inputs": { + "MANIFEST.json": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "NOTICE.md": "a0f77933aef1f5e9301ae171ef03371fd59fcc67f4f2fecdfd85b6b4562453d6", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "data/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "data/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "notices/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "notices/research/gauge44-slots-t16/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "notices/research/gauge44-slots-t16/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5" + }, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "schema": 1 +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/VALIDATION.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/VALIDATION.json new file mode 100644 index 0000000000..8056fbd318 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/VALIDATION.json @@ -0,0 +1,132 @@ +{ + "all_original_campaign_bytes_unchanged": true, + "cold_external_tool_lookup": "PATH=/no-external-tools", + "cold_working_directory": "/private/tmp", + "frozen_source_files_verified": 28, + "independent_publication_review": "Pending at package freeze", + "local_readme_links_checked": [ + "frozen/lanes/source-domain/GEODESIC-BOUNDARY.md", + "frozen/lanes/source-domain/GEODESIC-CHECKS.json", + "frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json", + "SOURCES.json", + "ANNEX-MANIFEST.json", + "PARENT-SNAPSHOT.json", + "frozen/lanes/encoded-controller/ONE-SHOT.md", + "frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json", + "PORTABILITY.patch", + "ARCHIVE-CHECK.json", + "sources/research/format-limits-corrected/NOTICE.md", + "sources/research/format-limits-corrected/LICENSE", + "../../NOTICE.md", + "../../notices/LICENSE" + ], + "normal": { + "annex_manifest_sha256": "4416630786c843d0e69702791df995103f8970bf4fa4b7d7d76dfb65ddb7fad7", + "application_scope": "Retained productive paths and scalar access, common I/full-F productive endpoints, identity joint content; inherited one-shot mode and whole-owner invoice", + "checks": [ + { + "all_other_typed_json_fields_equal": true, + "check": "producer", + "declared_metadata_changes": [ + "reader_sha256: pinned portable parent reader" + ], + "receipt": "GEODESIC-CHECKS.json", + "receipt_sha256": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "seconds": 2.233589, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" + }, + { + "all_other_typed_json_fields_equal": true, + "check": "independent", + "declared_metadata_changes": [ + "reviewed_files_sha256: actual paths and executed checker hashes", + "maximum_resident_bytes: runtime metadata", + "review_update: retained only in the frozen historical review" + ], + "receipt": "GEODESIC-REVIEW.json", + "receipt_sha256": "f5c831455ad4e412feb45482bfdc18c0b43d802f5b105d46d78572e56792dba7", + "seconds": 3.993217, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" + } + ], + "complete_kappa_improvement": false, + "frozen_source_files": 28, + "historical_source": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "not_rerun": [ + "Primary fixed-word package's mathematical checks", + "Global native emitter", + "One-shot mode native admission", + "Whole-owner hosting review", + "Current selected PR4470 replay", + "Scalar/address or recursive repricing" + ], + "optimized": false, + "parallel_workers": 1, + "parent_files_unchanged": 54, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]", + "status": "PASS_GEODESIC_BOUNDARY_ANNEX" + }, + "normal_optimized_mathematical_receipts_equal": true, + "not_rerun": [ + "Primary fixed-word package checks", + "Native mode and whole-owner review checks", + "Global native emitter", + "Current selected construction", + "Scalar/address and recursive pricing" + ], + "optimized_cold_export": { + "annex_manifest_sha256": "914238a7fe24a4f62180fbac97d53fc507dfaf0f81d68fe709f6ba492dc41cd8", + "application_scope": "Retained productive paths and scalar access, common I/full-F productive endpoints, identity joint content; inherited one-shot mode and whole-owner invoice", + "checks": [ + { + "all_other_typed_json_fields_equal": true, + "check": "producer", + "declared_metadata_changes": [ + "reader_sha256: pinned portable parent reader" + ], + "receipt": "GEODESIC-CHECKS.json", + "receipt_sha256": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "seconds": 2.2113, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" + }, + { + "all_other_typed_json_fields_equal": true, + "check": "independent", + "declared_metadata_changes": [ + "reviewed_files_sha256: actual paths and executed checker hashes", + "maximum_resident_bytes: runtime metadata", + "review_update: retained only in the frozen historical review" + ], + "receipt": "GEODESIC-REVIEW.json", + "receipt_sha256": "41275bcf879ee69c8c68feda575e852e93816f9fb9adf137b58971785a76167a", + "seconds": 3.674208, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" + } + ], + "complete_kappa_improvement": false, + "frozen_source_files": 28, + "historical_source": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "not_rerun": [ + "Primary fixed-word package's mathematical checks", + "Global native emitter", + "One-shot mode native admission", + "Whole-owner hosting review", + "Current selected PR4470 replay", + "Scalar/address or recursive repricing" + ], + "optimized": true, + "parallel_workers": 1, + "parent_files_unchanged": 54, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]", + "status": "PASS_GEODESIC_BOUNDARY_ANNEX" + }, + "primary_files_unchanged": 54, + "primary_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "status": "PASS_GEODESIC_ANNEX_PUBLICATION_REPLAY" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/GEODESIC-CHECKS.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/GEODESIC-CHECKS.json new file mode 100644 index 0000000000..ac862ecfc9 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/GEODESIC-CHECKS.json @@ -0,0 +1,3748 @@ +{ + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "assembly_sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "2": 60192, + "3": 62585, + "4": 20448, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152, + "16": 512, + "24": 256, + "32": 256, + "40": 256, + "48": 5634 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "local_words": { + "FULL-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + }, + "ONE-SIDED-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8296, + "last_Y_native_event": 18025, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8297, + "last_Y_native_event": 18026, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8298, + "last_Y_native_event": 18027, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8299, + "last_Y_native_event": 18028, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8300, + "last_Y_native_event": 18029, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8301, + "last_Y_native_event": 18030, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8302, + "last_Y_native_event": 18031, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8303, + "last_Y_native_event": 18032, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8304, + "last_Y_native_event": 18033, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8305, + "last_Y_native_event": 18034, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8306, + "last_Y_native_event": 18035, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8307, + "last_Y_native_event": 18036, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8308, + "last_Y_native_event": 18037, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8309, + "last_Y_native_event": 18038, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8310, + "last_Y_native_event": 18039, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8311, + "last_Y_native_event": 18040, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8312, + "last_Y_native_event": 18041, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8313, + "last_Y_native_event": 18042, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8314, + "last_Y_native_event": 18043, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8315, + "last_Y_native_event": 18044, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8316, + "last_Y_native_event": 18045, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8317, + "last_Y_native_event": 18046, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8318, + "last_Y_native_event": 18047, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8319, + "last_Y_native_event": 18048, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8320, + "last_Y_native_event": 18049, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8321, + "last_Y_native_event": 18050, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8322, + "last_Y_native_event": 18051, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8323, + "last_Y_native_event": 18052, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8324, + "last_Y_native_event": 18053, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8325, + "last_Y_native_event": 18054, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8326, + "last_Y_native_event": 18055, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8327, + "last_Y_native_event": 18056, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8328, + "last_Y_native_event": 18057, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8329, + "last_Y_native_event": 18058, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8330, + "last_Y_native_event": 18059, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8331, + "last_Y_native_event": 18060, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8332, + "last_Y_native_event": 18061, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8333, + "last_Y_native_event": 18062, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8334, + "last_Y_native_event": 18063, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8335, + "last_Y_native_event": 18064, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8336, + "last_Y_native_event": 18065, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8337, + "last_Y_native_event": 18066, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8338, + "last_Y_native_event": 18067, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8339, + "last_Y_native_event": 18068, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8340, + "last_Y_native_event": 18069, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8341, + "last_Y_native_event": 18070, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8342, + "last_Y_native_event": 18071, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8343, + "last_Y_native_event": 18072, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8344, + "last_Y_native_event": 18073, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8345, + "last_Y_native_event": 18074, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8346, + "last_Y_native_event": 18075, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8347, + "last_Y_native_event": 18076, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8348, + "last_Y_native_event": 18077, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8349, + "last_Y_native_event": 18078, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8350, + "last_Y_native_event": 18079, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8351, + "last_Y_native_event": 18080, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8352, + "last_Y_native_event": 18081, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8353, + "last_Y_native_event": 18082, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8354, + "last_Y_native_event": 18083, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8355, + "last_Y_native_event": 18084, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8356, + "last_Y_native_event": 18085, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8357, + "last_Y_native_event": 18086, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8358, + "last_Y_native_event": 18087, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8359, + "last_Y_native_event": 18088, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8360, + "last_Y_native_event": 18089, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8361, + "last_Y_native_event": 18090, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8362, + "last_Y_native_event": 18091, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8363, + "last_Y_native_event": 18092, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8364, + "last_Y_native_event": 18093, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8365, + "last_Y_native_event": 18094, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8366, + "last_Y_native_event": 18095, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8367, + "last_Y_native_event": 18096, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8368, + "last_Y_native_event": 18097, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8369, + "last_Y_native_event": 18098, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8370, + "last_Y_native_event": 18099, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8371, + "last_Y_native_event": 18100, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8372, + "last_Y_native_event": 18101, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8373, + "last_Y_native_event": 18102, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8374, + "last_Y_native_event": 18103, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8375, + "last_Y_native_event": 18104, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8376, + "last_Y_native_event": 18105, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8377, + "last_Y_native_event": 18106, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8378, + "last_Y_native_event": 18107, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8379, + "last_Y_native_event": 18108, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8380, + "last_Y_native_event": 18109, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8381, + "last_Y_native_event": 18110, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8382, + "last_Y_native_event": 18111, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8383, + "last_Y_native_event": 18112, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8384, + "last_Y_native_event": 18113, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8385, + "last_Y_native_event": 18114, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8386, + "last_Y_native_event": 18115, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8387, + "last_Y_native_event": 18116, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8388, + "last_Y_native_event": 18117, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8389, + "last_Y_native_event": 18118, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8390, + "last_Y_native_event": 18119, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8391, + "last_Y_native_event": 18120, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8392, + "last_Y_native_event": 18121, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8393, + "last_Y_native_event": 18122, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8394, + "last_Y_native_event": 18123, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8395, + "last_Y_native_event": 18124, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8396, + "last_Y_native_event": 18125, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8397, + "last_Y_native_event": 18126, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8398, + "last_Y_native_event": 18127, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8399, + "last_Y_native_event": 18128, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8400, + "last_Y_native_event": 18129, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8401, + "last_Y_native_event": 18130, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8402, + "last_Y_native_event": 18131, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8403, + "last_Y_native_event": 18132, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8404, + "last_Y_native_event": 18133, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8405, + "last_Y_native_event": 18134, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8406, + "last_Y_native_event": 18135, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8407, + "last_Y_native_event": 18136, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + } + }, + "negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "plan_sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "reader_sha256": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "scope": "Retained persistent wire paths and scalar accesses, arbitrary Clifford frame gauges, and priced fusions, with raw input and full-F output frames on every productive path. The global one-shot application inherits the owner-job invoice and exact mode history. This check is not a global native emitter or supplier admission.", + "scratch_scope": "No array COPY or CLEAR occurs in the two emitted mode macro words. This does not assert absence of private scratch in real-arithmetic lowering. Private zero arrays are excluded from productive paths; the allowed rewrite does not move a productive lifetime into them or reset its frame for free.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/GEODESIC-REVIEW.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/GEODESIC-REVIEW.json new file mode 100644 index 0000000000..740eac379a --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/GEODESIC-REVIEW.json @@ -0,0 +1,222 @@ +{ + "executed_negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "16": 512, + "2": 60192, + "24": 256, + "3": 62585, + "32": 256, + "4": 20448, + "40": 256, + "48": 5634, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "inherited_premises": [ + "Exact mode phases and full-F monomial access from the separate interface reviews", + "The whole-owner hosting and backfill invoice", + "The original selected supplier's native lowering" + ], + "local_method": "Construct each canonical Lagrangian with a Gaussian nullspace calculation. Compute each distance as the rank of the 9 by 9 symplectic pairing matrix between its two Lagrangians. This also covers source frames with singular Gram matrices. Check each persistent path and scalar access in all four mode words.", + "local_words": { + "FULL-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + }, + "ONE-SIDED-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + } + }, + "maximum_resident_bytes": 120127488, + "not_rerun": [ + "A global native emitter", + "New owner allocation or supplier admission", + "The old selected supplier's full admission", + "Scalar or address pricing" + ], + "prior_credit": { + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md#L392-L438", + "source_credit": "The pinned README credits DreamingOfClouds with Claude Opus 5.5 assistance. No external account identity was inferred.", + "statement": "Section C.2, Theorem N already gives the canonical-subspace port-gauge geodesic bound." + }, + "proof": [ + "Apply S(T)^-1 to both spaces in d(Z,S(T)S(U)^-1 Z) to obtain d(L(T),L(U)). This proves the stated order of U T^-1.", + "The two intersections inside a middle n-dimensional space give dim(L intersect H) >= dim(L intersect K)+dim(K intersect H)-n. This proves the path triangle bound in every dimension.", + "A left monomial Clifford preserves Z, so it cannot change L(T). A common right gauge at both helper endpoints applies one symplectic map to both spaces and preserves their distance.", + "The local frame IDs are relative chart labels in both orientations. The backward chart D_U=T_U F_9^-1 has one common right factor, which preserves every local distance. The global common-I/common-F boundary condition is a separate premise.", + "Retained paths with I and full-F endpoints each have distance 73. Native events belong to one path. Array permutations transport path labels. No productive path may receive a free frame reset or transfer into zero workspace.", + "The complete pinned profile plus the checked conditional mode delta gives 1116288 before normalizers. The 15488 common-boundary productive paths require 1130624, an increase of 14336, or 896 per replica on average.", + "All ranks in the literal normalized profile are below 73. Its rank mass equals 73N, so its moment equals one at exponent zero and exceeds one for every positive exponent. Any admitted retained-path fusion with ranks at most 73 still has moment at least one." + ], + "reviewed_files_sha256": { + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/annex/geodesic-boundary/portable/check_geodesic_review.py": "801a2972f8a364f354db1a8e38a58bf9184f6c497a1ecba67f4510161ef299c6", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/annex/geodesic-boundary/portable/verify_geodesic.py": "5cee00883bf48953534da2232e970e82d4954754dafe0c50604a30b3e2b86213", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/validation/geodesic-annex-normal/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3" + }, + "scope": "Retained persistent array paths, their scalar accesses, and common-I/common-F productive endpoints with identity joint content. This is not a lower bound for virtual-Q boundaries or changed controllers.", + "scratch_scope": "The emitted array macros have no COPY, CLEAR, or C-bank references. Private scalar temporaries do not add productive native paths. New persistent workspace and lifetime transfers are outside this theorem.", + "small_Clifford_control": { + "distinct_Lagrangians": 15, + "left_monomial_checks": 34560, + "metric_triples": 3375, + "ordered_frame_pairs": 518400, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality.", + "symplectic_frames": 720, + "wrong_relative_order_rejected": true + }, + "source_archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_frames": 1004, + "source_git_pins": { + "research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e" + }, + "source_member_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/REPLAY.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/REPLAY.json new file mode 100644 index 0000000000..b4be464abb --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/normal/REPLAY.json @@ -0,0 +1,47 @@ +{ + "annex_manifest_sha256": "4416630786c843d0e69702791df995103f8970bf4fa4b7d7d76dfb65ddb7fad7", + "application_scope": "Retained productive paths and scalar access, common I/full-F productive endpoints, identity joint content; inherited one-shot mode and whole-owner invoice", + "checks": [ + { + "all_other_typed_json_fields_equal": true, + "check": "producer", + "declared_metadata_changes": [ + "reader_sha256: pinned portable parent reader" + ], + "receipt": "GEODESIC-CHECKS.json", + "receipt_sha256": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "seconds": 2.233589, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" + }, + { + "all_other_typed_json_fields_equal": true, + "check": "independent", + "declared_metadata_changes": [ + "reviewed_files_sha256: actual paths and executed checker hashes", + "maximum_resident_bytes: runtime metadata", + "review_update: retained only in the frozen historical review" + ], + "receipt": "GEODESIC-REVIEW.json", + "receipt_sha256": "f5c831455ad4e412feb45482bfdc18c0b43d802f5b105d46d78572e56792dba7", + "seconds": 3.993217, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" + } + ], + "complete_kappa_improvement": false, + "frozen_source_files": 28, + "historical_source": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "not_rerun": [ + "Primary fixed-word package's mathematical checks", + "Global native emitter", + "One-shot mode native admission", + "Whole-owner hosting review", + "Current selected PR4470 replay", + "Scalar/address or recursive repricing" + ], + "optimized": false, + "parallel_workers": 1, + "parent_files_unchanged": 54, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]", + "status": "PASS_GEODESIC_BOUNDARY_ANNEX" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/GEODESIC-CHECKS.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/GEODESIC-CHECKS.json new file mode 100644 index 0000000000..ac862ecfc9 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/GEODESIC-CHECKS.json @@ -0,0 +1,3748 @@ +{ + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "assembly_sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "2": 60192, + "3": 62585, + "4": 20448, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152, + "16": 512, + "24": 256, + "32": 256, + "40": 256, + "48": 5634 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "local_words": { + "FULL-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + }, + "ONE-SIDED-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8296, + "last_Y_native_event": 18025, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8297, + "last_Y_native_event": 18026, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8298, + "last_Y_native_event": 18027, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8299, + "last_Y_native_event": 18028, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8300, + "last_Y_native_event": 18029, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8301, + "last_Y_native_event": 18030, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8302, + "last_Y_native_event": 18031, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8303, + "last_Y_native_event": 18032, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8304, + "last_Y_native_event": 18033, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8305, + "last_Y_native_event": 18034, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8306, + "last_Y_native_event": 18035, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8307, + "last_Y_native_event": 18036, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8308, + "last_Y_native_event": 18037, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8309, + "last_Y_native_event": 18038, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8310, + "last_Y_native_event": 18039, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8311, + "last_Y_native_event": 18040, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8312, + "last_Y_native_event": 18041, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8313, + "last_Y_native_event": 18042, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8314, + "last_Y_native_event": 18043, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8315, + "last_Y_native_event": 18044, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8316, + "last_Y_native_event": 18045, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8317, + "last_Y_native_event": 18046, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8318, + "last_Y_native_event": 18047, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8319, + "last_Y_native_event": 18048, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8320, + "last_Y_native_event": 18049, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8321, + "last_Y_native_event": 18050, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8322, + "last_Y_native_event": 18051, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8323, + "last_Y_native_event": 18052, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8324, + "last_Y_native_event": 18053, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8325, + "last_Y_native_event": 18054, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8326, + "last_Y_native_event": 18055, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8327, + "last_Y_native_event": 18056, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8328, + "last_Y_native_event": 18057, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8329, + "last_Y_native_event": 18058, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8330, + "last_Y_native_event": 18059, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8331, + "last_Y_native_event": 18060, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8332, + "last_Y_native_event": 18061, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8333, + "last_Y_native_event": 18062, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8334, + "last_Y_native_event": 18063, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8335, + "last_Y_native_event": 18064, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8336, + "last_Y_native_event": 18065, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8337, + "last_Y_native_event": 18066, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8338, + "last_Y_native_event": 18067, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8339, + "last_Y_native_event": 18068, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8340, + "last_Y_native_event": 18069, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8341, + "last_Y_native_event": 18070, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8342, + "last_Y_native_event": 18071, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8343, + "last_Y_native_event": 18072, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8344, + "last_Y_native_event": 18073, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8345, + "last_Y_native_event": 18074, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8346, + "last_Y_native_event": 18075, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8347, + "last_Y_native_event": 18076, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8348, + "last_Y_native_event": 18077, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8349, + "last_Y_native_event": 18078, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8350, + "last_Y_native_event": 18079, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8351, + "last_Y_native_event": 18080, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8352, + "last_Y_native_event": 18081, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8353, + "last_Y_native_event": 18082, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8354, + "last_Y_native_event": 18083, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8355, + "last_Y_native_event": 18084, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8356, + "last_Y_native_event": 18085, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8357, + "last_Y_native_event": 18086, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8358, + "last_Y_native_event": 18087, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8359, + "last_Y_native_event": 18088, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8360, + "last_Y_native_event": 18089, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8361, + "last_Y_native_event": 18090, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8362, + "last_Y_native_event": 18091, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8363, + "last_Y_native_event": 18092, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8364, + "last_Y_native_event": 18093, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8365, + "last_Y_native_event": 18094, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8366, + "last_Y_native_event": 18095, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8367, + "last_Y_native_event": 18096, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8368, + "last_Y_native_event": 18097, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8369, + "last_Y_native_event": 18098, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8370, + "last_Y_native_event": 18099, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8371, + "last_Y_native_event": 18100, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8372, + "last_Y_native_event": 18101, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8373, + "last_Y_native_event": 18102, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8374, + "last_Y_native_event": 18103, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8375, + "last_Y_native_event": 18104, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8376, + "last_Y_native_event": 18105, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8377, + "last_Y_native_event": 18106, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8378, + "last_Y_native_event": 18107, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8379, + "last_Y_native_event": 18108, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8380, + "last_Y_native_event": 18109, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8381, + "last_Y_native_event": 18110, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8382, + "last_Y_native_event": 18111, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8383, + "last_Y_native_event": 18112, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8384, + "last_Y_native_event": 18113, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8385, + "last_Y_native_event": 18114, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8386, + "last_Y_native_event": 18115, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8387, + "last_Y_native_event": 18116, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8388, + "last_Y_native_event": 18117, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8389, + "last_Y_native_event": 18118, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8390, + "last_Y_native_event": 18119, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8391, + "last_Y_native_event": 18120, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8392, + "last_Y_native_event": 18121, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8393, + "last_Y_native_event": 18122, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8394, + "last_Y_native_event": 18123, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8395, + "last_Y_native_event": 18124, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8396, + "last_Y_native_event": 18125, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8397, + "last_Y_native_event": 18126, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8398, + "last_Y_native_event": 18127, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8399, + "last_Y_native_event": 18128, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8400, + "last_Y_native_event": 18129, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8401, + "last_Y_native_event": 18130, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8402, + "last_Y_native_event": 18131, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8403, + "last_Y_native_event": 18132, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8404, + "last_Y_native_event": 18133, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8405, + "last_Y_native_event": 18134, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8406, + "last_Y_native_event": 18135, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8407, + "last_Y_native_event": 18136, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + } + }, + "negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "plan_sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "reader_sha256": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "scope": "Retained persistent wire paths and scalar accesses, arbitrary Clifford frame gauges, and priced fusions, with raw input and full-F output frames on every productive path. The global one-shot application inherits the owner-job invoice and exact mode history. This check is not a global native emitter or supplier admission.", + "scratch_scope": "No array COPY or CLEAR occurs in the two emitted mode macro words. This does not assert absence of private scratch in real-arithmetic lowering. Private zero arrays are excluded from productive paths; the allowed rewrite does not move a productive lifetime into them or reset its frame for free.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/GEODESIC-REVIEW.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/GEODESIC-REVIEW.json new file mode 100644 index 0000000000..5fa11cbf7e --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/GEODESIC-REVIEW.json @@ -0,0 +1,222 @@ +{ + "executed_negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "16": 512, + "2": 60192, + "24": 256, + "3": 62585, + "32": 256, + "4": 20448, + "40": 256, + "48": 5634, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "inherited_premises": [ + "Exact mode phases and full-F monomial access from the separate interface reviews", + "The whole-owner hosting and backfill invoice", + "The original selected supplier's native lowering" + ], + "local_method": "Construct each canonical Lagrangian with a Gaussian nullspace calculation. Compute each distance as the rank of the 9 by 9 symplectic pairing matrix between its two Lagrangians. This also covers source frames with singular Gram matrices. Check each persistent path and scalar access in all four mode words.", + "local_words": { + "FULL-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + }, + "ONE-SIDED-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + } + }, + "maximum_resident_bytes": 120438784, + "not_rerun": [ + "A global native emitter", + "New owner allocation or supplier admission", + "The old selected supplier's full admission", + "Scalar or address pricing" + ], + "prior_credit": { + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md#L392-L438", + "source_credit": "The pinned README credits DreamingOfClouds with Claude Opus 5.5 assistance. No external account identity was inferred.", + "statement": "Section C.2, Theorem N already gives the canonical-subspace port-gauge geodesic bound." + }, + "proof": [ + "Apply S(T)^-1 to both spaces in d(Z,S(T)S(U)^-1 Z) to obtain d(L(T),L(U)). This proves the stated order of U T^-1.", + "The two intersections inside a middle n-dimensional space give dim(L intersect H) >= dim(L intersect K)+dim(K intersect H)-n. This proves the path triangle bound in every dimension.", + "A left monomial Clifford preserves Z, so it cannot change L(T). A common right gauge at both helper endpoints applies one symplectic map to both spaces and preserves their distance.", + "The local frame IDs are relative chart labels in both orientations. The backward chart D_U=T_U F_9^-1 has one common right factor, which preserves every local distance. The global common-I/common-F boundary condition is a separate premise.", + "Retained paths with I and full-F endpoints each have distance 73. Native events belong to one path. Array permutations transport path labels. No productive path may receive a free frame reset or transfer into zero workspace.", + "The complete pinned profile plus the checked conditional mode delta gives 1116288 before normalizers. The 15488 common-boundary productive paths require 1130624, an increase of 14336, or 896 per replica on average.", + "All ranks in the literal normalized profile are below 73. Its rank mass equals 73N, so its moment equals one at exponent zero and exceeds one for every positive exponent. Any admitted retained-path fusion with ranks at most 73 still has moment at least one." + ], + "reviewed_files_sha256": { + "/private/tmp/geodesic-annex-cold-output-20261022/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "/private/tmp/geodesic-annex-cold-package-20261022/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "/private/tmp/geodesic-annex-cold-package-20261022/annex/geodesic-boundary/portable/check_geodesic_review.py": "801a2972f8a364f354db1a8e38a58bf9184f6c497a1ecba67f4510161ef299c6", + "/private/tmp/geodesic-annex-cold-package-20261022/annex/geodesic-boundary/portable/verify_geodesic.py": "5cee00883bf48953534da2232e970e82d4954754dafe0c50604a30b3e2b86213", + "/private/tmp/geodesic-annex-cold-package-20261022/checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a" + }, + "scope": "Retained persistent array paths, their scalar accesses, and common-I/common-F productive endpoints with identity joint content. This is not a lower bound for virtual-Q boundaries or changed controllers.", + "scratch_scope": "The emitted array macros have no COPY, CLEAR, or C-bank references. Private scalar temporaries do not add productive native paths. New persistent workspace and lifetime transfers are outside this theorem.", + "small_Clifford_control": { + "distinct_Lagrangians": 15, + "left_monomial_checks": 34560, + "metric_triples": 3375, + "ordered_frame_pairs": 518400, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality.", + "symplectic_frames": 720, + "wrong_relative_order_rejected": true + }, + "source_archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_frames": 1004, + "source_git_pins": { + "research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e" + }, + "source_member_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/REPLAY.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/REPLAY.json new file mode 100644 index 0000000000..7e834106c0 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/evidence/optimized/REPLAY.json @@ -0,0 +1,47 @@ +{ + "annex_manifest_sha256": "914238a7fe24a4f62180fbac97d53fc507dfaf0f81d68fe709f6ba492dc41cd8", + "application_scope": "Retained productive paths and scalar access, common I/full-F productive endpoints, identity joint content; inherited one-shot mode and whole-owner invoice", + "checks": [ + { + "all_other_typed_json_fields_equal": true, + "check": "producer", + "declared_metadata_changes": [ + "reader_sha256: pinned portable parent reader" + ], + "receipt": "GEODESIC-CHECKS.json", + "receipt_sha256": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "seconds": 2.2113, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" + }, + { + "all_other_typed_json_fields_equal": true, + "check": "independent", + "declared_metadata_changes": [ + "reviewed_files_sha256: actual paths and executed checker hashes", + "maximum_resident_bytes: runtime metadata", + "review_update: retained only in the frozen historical review" + ], + "receipt": "GEODESIC-REVIEW.json", + "receipt_sha256": "41275bcf879ee69c8c68feda575e852e93816f9fb9adf137b58971785a76167a", + "seconds": 3.674208, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" + } + ], + "complete_kappa_improvement": false, + "frozen_source_files": 28, + "historical_source": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "not_rerun": [ + "Primary fixed-word package's mathematical checks", + "Global native emitter", + "One-shot mode native admission", + "Whole-owner hosting review", + "Current selected PR4470 replay", + "Scalar/address or recursive repricing" + ], + "optimized": true, + "parallel_workers": 1, + "parent_files_unchanged": 54, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]", + "status": "PASS_GEODESIC_BOUNDARY_ANNEX" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/ONE-SHOT.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/ONE-SHOT.json new file mode 100644 index 0000000000..f341feb0ef --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/ONE-SHOT.json @@ -0,0 +1,668 @@ +{ + "H_block_coefficient_matrix": [ + [ + "0", + "8", + "1", + "-8", + "-1", + "8", + "1", + "-8", + "-1" + ], + [ + "1/8", + "0", + "1/8", + "-1", + "-1/8", + "1", + "1/8", + "-1", + "-1/8" + ], + [ + "-1", + "8", + "0", + "8", + "1", + "-8", + "-1", + "8", + "1" + ], + [ + "-1/8", + "1", + "1/8", + "0", + "1/8", + "-1", + "-1/8", + "1", + "1/8" + ], + [ + "1", + "-8", + "-1", + "8", + "0", + "8", + "1", + "-8", + "-1" + ], + [ + "1/8", + "-1", + "-1/8", + "1", + "1/8", + "0", + "1/8", + "-1", + "-1/8" + ], + [ + "-1", + "8", + "1", + "-8", + "-1", + "8", + "0", + "8", + "1" + ], + [ + "-1/8", + "1", + "1/8", + "-1", + "-1/8", + "1", + "1/8", + "0", + "1/8" + ], + [ + "1", + "-8", + "-1", + "8", + "1", + "-8", + "-1", + "8", + "0" + ] + ], + "H_block_entry": "H_ij=listed_coefficient*B_i*A_j", + "complete_mode_decoder": "U=-N_plus^-1(N_minus U'+T D)", + "conditional_rank_bill_per_replica": { + "centre_children_removed": { + "8": 72 + }, + "deficit_gain_before_boundary_repairs": 576, + "maximum_child_rank": 48, + "mode_prefix_tail_children_added": { + "8": 32, + "16": 32, + "24": 16, + "32": 16, + "40": 16, + "48": 48 + }, + "native_size_condition_margin": 721, + "new_full_output_families": 72, + "new_paid_rank": 4680, + "new_productive_rank": 5256, + "old_owner_backfill_added": { + "9": 72 + }, + "unsplit_prefix_tail_profile_not_admitted": { + "8": 16, + "16": 16, + "24": 16, + "32": 16, + "40": 16, + "48": 16, + "56": 16, + "64": 16 + } + }, + "data_boundary_operations": [ + "Before: D+=L U", + "After: D-=L U'" + ], + "direct_common_full_frame_inverse": { + "all968_arbitrary_input_arrays": true, + "arithmetic_terminal_alternative": { + "additional_fraction_bits": 11, + "additional_magnitude_bits": 33, + "dyadic_real_primitive_bound": 124688, + "maximum_absolute_component_factor": "7521998513", + "scope": "Standalone exact dyadic decoder arithmetic; monomial address and phase computation are separate.", + "terminal_lowering": "x-=y; y+=x; x-=y on each of448 array pairs" + }, + "left_inverse_checked": true, + "mode_array_negations": 72, + "monomial_query_ADDs": 8064, + "native_condition": "Every old data bank and every mode cohort is in the same full-F physical frame.", + "old_X_normalizer": "Apply Q initially to old X and Q^-1 after the terminal exchange, then apply this inverse.", + "ordinary_bank_ADDs": 3024, + "program": [ + { + "kind": "inverse_signed_terminal", + "pairs": 4 + }, + { + "coefficient": -1, + "dst": 1, + "kind": "bridge", + "src": 0 + }, + { + "coefficient": -1, + "dst": 2, + "kind": "bridge", + "src": 1 + }, + { + "coefficient": -1, + "dst": 3, + "kind": "bridge", + "src": 2 + }, + { + "backward": false, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "y-=x", + "y-=A_t*u/2", + "u=-u", + "u-=2*B_t*x" + ], + "pair": 3, + "stage": 8 + }, + { + "backward": true, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "u=-u", + "u-=B_t*y/4", + "x+=y", + "x+=4*A_t*u" + ], + "pair": 3, + "stage": 7 + }, + { + "coefficient": 1, + "dst": 2, + "kind": "bridge", + "src": 3 + }, + { + "backward": false, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "y-=x", + "y-=A_t*u/2", + "u=-u", + "u-=2*B_t*x" + ], + "pair": 2, + "stage": 6 + }, + { + "coefficient": -1, + "dst": 2, + "kind": "bridge", + "src": 3 + }, + { + "backward": true, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "u=-u", + "u-=B_t*y/4", + "x+=y", + "x+=4*A_t*u" + ], + "pair": 2, + "stage": 5 + }, + { + "coefficient": 1, + "dst": 1, + "kind": "bridge", + "src": 2 + }, + { + "backward": false, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "y-=x", + "y-=A_t*u/2", + "u=-u", + "u-=2*B_t*x" + ], + "pair": 1, + "stage": 4 + }, + { + "coefficient": -1, + "dst": 1, + "kind": "bridge", + "src": 2 + }, + { + "backward": true, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "u=-u", + "u-=B_t*y/4", + "x+=y", + "x+=4*A_t*u" + ], + "pair": 1, + "stage": 3 + }, + { + "coefficient": 1, + "dst": 0, + "kind": "bridge", + "src": 1 + }, + { + "backward": false, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "y-=x", + "y-=A_t*u/2", + "u=-u", + "u-=2*B_t*x" + ], + "pair": 0, + "stage": 2 + }, + { + "coefficient": -1, + "dst": 0, + "kind": "bridge", + "src": 1 + }, + { + "backward": true, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "u=-u", + "u-=B_t*y/4", + "x+=y", + "x+=4*A_t*u" + ], + "pair": 0, + "stage": 1 + }, + { + "backward": false, + "kind": "inverse_mixed_local", + "ordered_instructions": [ + "y-=x", + "y-=A_t*u/2", + "u=-u", + "u-=2*B_t*x" + ], + "pair": 0, + "stage": 0 + } + ], + "right_inverse_checked": true, + "signed_terminal_array_negations": 448, + "unfused_rank_one_children_per_replica": 896 + }, + "formal_input_array_count_per_replica": 968, + "formal_input_blocks": { + "new_modes": 9, + "old_data": 8 + }, + "joint_equations": [ + "D'=D+L(U'-U)", + "N_minus U'=-T D+(N_minus-2I)U" + ], + "method": "Exact rational free noncommutative operator polynomials; no relation between different stages is used.", + "mixed_local_variant": { + "all_arbitrary_data_and_mode_contents_restored_by_the_stated_operator_decoder": true, + "all_content_monomial_ADD_bound_including_local_changes": 93632, + "backward_change": "Post-X ADD -alpha*A*u_out", + "boundary_X_blocks": { + "final_LP": 10, + "final_T": 8, + "initial_LQ": 10 + }, + "boundary_data_operations": [ + "Before: D+=L Q U", + "After: D-=L P U'" + ], + "boundary_mode_source_columns_for_X_injection": { + "final": 32, + "initial": 32 + }, + "complete_mode_decoder": "U=-N_B^-1(N_F U'+T D)", + "extra_local_ADDs_per_replica": 4032, + "forward_change": "Pre-Y ADD alpha*A*u", + "joint_data_equation": "D'=D+L(P U'-Q U)", + "joint_mode_equation": "(I+lower(H)P)U'=-T D-(I-lower(H)Q)U", + "local_native_condition": "Forward Y/mode have the same zero frame before the word; backward X/mode have the same FULL frame after the word.", + "mode_after_data_boundaries": "N_F U'=-T D-N_B U, with N_F=I+lower(H)P and N_B=I+upper(H)Q", + "mode_only_monomial_ADD_bound": 64512, + "mode_projectors": "P=forward/even cohorts; Q=backward/odd cohorts", + "nonzero_triangular_queries": { + "lower_forward_columns": 20, + "upper_backward_columns": 16 + } + }, + "mode_after_data_boundaries": "U'=-N_minus^-1 T D-N_minus^-1 N_plus U", + "mode_only_program": "Use lower-triangular multiplication and upper-triangular back substitution.", + "negative_controls": [ + "Leave modes unchanged after repairing data", + "Omit the final T D source query" + ], + "nonzero_triangular_queries": { + "lower": 36, + "upper": 36 + }, + "not_claimed": [ + "Native access for the X terms of L and T", + "A closed supplier invoice", + "A native global program or final scalar bound", + "A kappa improvement" + ], + "one_use_histories": [ + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [], + "prefix_rank": 0, + "stage": 0, + "tail_children": [ + 48, + 16 + ], + "tail_rank": 64 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 8 + ], + "prefix_rank": 8, + "stage": 1, + "tail_children": [ + 48, + 8 + ], + "tail_rank": 56 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 16 + ], + "prefix_rank": 16, + "stage": 2, + "tail_children": [ + 48 + ], + "tail_rank": 48 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 24 + ], + "prefix_rank": 24, + "stage": 3, + "tail_children": [ + 40 + ], + "tail_rank": 40 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 32 + ], + "prefix_rank": 32, + "stage": 4, + "tail_children": [ + 32 + ], + "tail_rank": 32 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 40 + ], + "prefix_rank": 40, + "stage": 5, + "tail_children": [ + 24 + ], + "tail_rank": 24 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 48 + ], + "prefix_rank": 48, + "stage": 6, + "tail_children": [ + 16 + ], + "tail_rank": 16 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 48, + 8 + ], + "prefix_rank": 56, + "stage": 7, + "tail_children": [ + 8 + ], + "tail_rank": 8 + }, + { + "active_rank": 9, + "mode_count": 8, + "prefix_children": [ + 48, + 16 + ], + "prefix_rank": 64, + "stage": 8, + "tail_children": [], + "tail_rank": 0 + } + ], + "source_pins": { + "root_bank_responses": "d48af849daa0c0042fa039d568ba7a9e29e407258198c26e9519df069ed23def", + "scalar_interface": "5c6c51fbffc07a683e922f17532fd90262ae9e23cc3560a696002073dd234ef3", + "schedule": "7ce02810ecaca13ba084c365ec9c781a211e3c94dbf0f64e8717ca6d1c0b0ca9" + }, + "stages": [ + { + "alpha": "1/2", + "backward": false, + "beta": "2", + "final_error_column": { + "Y0": "1/2" + }, + "pair": 0, + "source_bank_row": { + "X0": "1" + }, + "stage": 0 + }, + { + "alpha": "4", + "backward": true, + "beta": "1/4", + "final_error_column": { + "X0": "4", + "Y0": "-4" + }, + "pair": 0, + "source_bank_row": { + "X0": "1", + "Y0": "1" + }, + "stage": 1 + }, + { + "alpha": "1/2", + "backward": false, + "beta": "2", + "final_error_column": { + "X0": "1/2", + "Y1": "1/2" + }, + "pair": 0, + "source_bank_row": { + "X1": "1", + "Y0": "-1" + }, + "stage": 2 + }, + { + "alpha": "4", + "backward": true, + "beta": "1/4", + "final_error_column": { + "X0": "-4", + "X1": "4", + "Y1": "-4" + }, + "pair": 1, + "source_bank_row": { + "X1": "1", + "Y0": "-1", + "Y1": "1" + }, + "stage": 3 + }, + { + "alpha": "1/2", + "backward": false, + "beta": "2", + "final_error_column": { + "X0": "-1/2", + "X1": "1/2", + "Y2": "1/2" + }, + "pair": 1, + "source_bank_row": { + "X2": "1", + "Y0": "1", + "Y1": "-1" + }, + "stage": 4 + }, + { + "alpha": "4", + "backward": true, + "beta": "1/4", + "final_error_column": { + "X0": "4", + "X1": "-4", + "X2": "4", + "Y2": "-4" + }, + "pair": 2, + "source_bank_row": { + "X2": "1", + "Y0": "1", + "Y1": "-1", + "Y2": "1" + }, + "stage": 5 + }, + { + "alpha": "1/2", + "backward": false, + "beta": "2", + "final_error_column": { + "X0": "1/2", + "X1": "-1/2", + "X2": "1/2", + "Y3": "1/2" + }, + "pair": 2, + "source_bank_row": { + "X3": "1", + "Y0": "-1", + "Y1": "1", + "Y2": "-1" + }, + "stage": 6 + }, + { + "alpha": "4", + "backward": true, + "beta": "1/4", + "final_error_column": { + "X0": "-4", + "X1": "4", + "X2": "-4", + "X3": "4", + "Y3": "-4" + }, + "pair": 3, + "source_bank_row": { + "X3": "1", + "Y0": "-1", + "Y1": "1", + "Y2": "-1", + "Y3": "1" + }, + "stage": 7 + }, + { + "alpha": "1/2", + "backward": false, + "beta": "2", + "final_error_column": { + "X0": "-1/2", + "X1": "1/2", + "X2": "-1/2", + "X3": "1/2" + }, + "pair": 3, + "source_bank_row": { + "Y0": "1", + "Y1": "-1", + "Y2": "1", + "Y3": "-1" + }, + "stage": 8 + } + ], + "status": "PASS_EXACT_ONE_SHOT_JOINT_SCHUR_AND_RESTORATION" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/ONE-SHOT.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/ONE-SHOT.md new file mode 100644 index 0000000000..0ebb434e77 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/ONE-SHOT.md @@ -0,0 +1,368 @@ +# Exact restoration for one-use centre modes + +This note gives the full joint map for nine fresh mode cohorts in the +retained nine-call controller. It gives an exact content decoder for all +old data and all arbitrary new modes. The decoder has explicit boundary +queries. Its mode-only factors have legal scalar access. The X-bank parts +of the boundary queries still need a priced native implementation. Thus +this is not yet a closed supplier or a new kappa bound. + +The active word and its exact adapters come from the history-encoding +lane. The common Walsh frame was developed by residual-syndrome, root, +and interface-proof. The stopped one-use history below removes a final +frame conversion. The root lane independently computed the final bank +responses. This note derives the joint content factorization and checks +it in a free noncommutative operator algebra. + +## One-use native histories + +Let stage s have completed space U_s of dimension 9+8s. Let Z_s be the +quadratic sign on U_s, and let G_previous be the canonical real Walsh +transform on the even hyperplane in dimension 8s+1. Use the exact base +adapters from history-encoding/WALSH-MODE-PROOF.md. Their monomial factors +M_s and B_out,s satisfy + + B_out,s F_(U_s) M_s = Z_s F_(U_s) Z_s. + +For each of the eight arbitrary mode inputs h at stage s: + +1. Apply Z_s and then G_previous, with native rank 8s. +2. Apply the type-zero adapted FULL9 active word. +3. Apply Z_s to the mode output. +4. Apply F to the future 64-8s coordinate axes. + +The preparation or completion with rank zero is omitted. Each nonzero +one of rank at most 48 is one native child with the stated monomial +adapters. Split rank 56 as 48+8 and rank 64 as 48+16. The native coordinate +transforms on these disjoint blocks commute, so their product is the +unsplit transform with its unchanged outer adapters. The total rank +per mode is 8s+9+(64-8s)=73. A mode need not advance during any other local +call. Reserve its family for this history. + +Set z=Z_s u, where u is the mode content in the active Walsh frame. Then +z starts at the arbitrary input h and has physical output F_73 z'. Put + + N_s = M_s Z_s, + A_s = D_s^-1 K N_s, B_s = N_s^-1 R D_s, + K=R^T/4, P_s=A_s B_s. + +Here D_s is the actual port-dependent cover router, with the exact native +phase adapters. The mode owner uses the call's cover class. The order of +N_s matters: apply Z_s first. The output-adapter identity gives + + F_73 N_s F_73^-1 = B_out,s^-1 Z_s, + F_73 N_s^-1 F_73^-1 = Z_s B_out,s. + +These are exact monomial maps. The operators outside U_s commute with +the future completion. The cover routes have the same property after +their known phase corrections. Thus A_s, B_s, and B_i A_j are finite sums +of monomial maps both at raw boundaries and at common full-F boundaries. +This statement does not replace the old X line phases by the identity. + +The active content maps are + + Forward: x'=x, + y'=y+(I-A_s B_s)x-A_s u, + u'=-u-2B_s x. + + Backward: x'=x-(I+A_s B_s)y-8A_s u, + y'=y, + u'=-u-B_s y/4. + +In these two formulas u denotes the standardized mode z. The raw word +restores the other 472 helpers. Every cohort is used once, so its output +content is not an input to a later active call. + +## The exact global map + +Write D for the eight old bank contents, in order X0,Y0,...,X3,Y3. Write +U for the nine mode cohorts, each with eight arrays. The retained +ordinary controller, with identity shears and its signed terminal +exchange, is the identity on D. + +The checker reads the local, bridge, and terminal events from +NORMALIZATION-PROGRAMS.json. It does not execute that earlier experiment's +X_factor or Y_factor events. The retained physical translation events +are part of the native frame contract, not extra scalar bank operations. + +For stage t, let a_t be the row that selects its source from the ordinary +pre-stage bank state. Let b_t be the final bank response to its mode +increment, including the scalar alpha_t. Define + + alpha_t=1/2, beta_t=2 for a forward call, + alpha_t=4, beta_t=1/4 for a backward call. + +The local change from the ordinary shear is exactly +alpha_t A_t (u_t'-u_t) in its target bank. This follows directly from the +two displayed active maps. It includes the arbitrary old mode input. + +Let L have block column b_t tensor A_t. Let T have block row +beta_t a_t tensor B_t. The literal source and response rows are in +ONE-SHOT.json. They are computed from the pinned schedule, and the +responses agree with root/ONE-SHOT-ERRORS.json. Set + + H=T L, + N_minus=I+strict_lower(H), + N_plus =I+strict_upper(H). + +Every diagonal block of H is zero. The same-stage ordinary source is +unchanged by its own shear, so the source row times its propagated target +column is zero. Equivalently this is checked directly on all nine source +and response rows. + +The complete joint endpoint is + + D'=D+L(U'-U), (1) + N_minus U'=-T D+(N_minus-2I)U. (2) + +To prove (1), propagate each local error by the remaining ordinary bank +gates. This uses linearity, with the actual value of each mode increment. +For (2), the source at stage i is its ordinary source a_i D plus the +errors from earlier stages. Since the ordinary final map is the identity, +the coefficient from earlier stage j is a_i b_j A_j. Substitute this +source into u_i'=-u_i-beta_i B_i source. Only j2*r_max^2, so the +rank-56 and rank-64 children cannot remain in that form. The exact splits +stated above give the admitted profile + + {8:32, 16:32, 24:16, 32:16, 40:16, 48:48}. + +The maximum rank is 48, and 73^2-2*48^2=721. The total rank is unchanged. + +Per replica, the change is: + + remove 72 rank-eight centre children: -576 rank, + add 72 old-owner rank-nine backfills: +648 rank, + add all new mode preparations and tails: +4608 rank, + add 72 full output families: +5256 productive rank. + +The paid rank increase is 4680. The provisional deficit gain is 576 per +replica, or 9216 across 16 replicas, before the boundary source repairs. +The stock becomes 15978 families. The higher-rank children, the larger +stock, scalar work, and boundary repairs must all enter the full recurrence. +This rank difference alone is not a kappa calculation. + +## Verification + +Run from the workspace root: + +```sh +python3 -I -O -B work/centre-encoding-campaign-20261014/lanes/encoded-controller/verify_one_shot.py \ + --schedule work/centre-encoding-campaign-20261014/lanes/encoded-controller/NORMALIZATION-PROGRAMS.json \ + --responses work/centre-encoding-campaign-20261014/root/ONE-SHOT-ERRORS.json \ + --out work/centre-encoding-campaign-20261014/lanes/encoded-controller/ONE-SHOT.json +``` + +Expected status: PASS_EXACT_ONE_SHOT_JOINT_SCHUR_AND_RESTORATION. +The verifier uses exact rational coefficients and free noncommutative +symbols A_t and B_t. Its 17 independent input blocks represent all 968 +arbitrary old and mode arrays per replica. It checks both joint equations, +the triangular inverses, and every step of the full content restoration. +It also rejects removal of the mode decoder or its old-data source query. +This is an operator identity check, not a replay of a global native word. +The native one-use histories have a separate review in interface-proof. + +Prepared with substantial OpenAI Codex assistance and coordinated agent +research. No independent human review is claimed. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-RERUN-RECEIPT.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-RERUN-RECEIPT.json new file mode 100644 index 0000000000..ec5c2e5c71 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-RERUN-RECEIPT.json @@ -0,0 +1,18 @@ +{ + "command": [ + "/opt/homebrew/opt/python@3.14/bin/python3.14", + "-I", + "-O", + "-B", + "work/centre-encoding-campaign-20261014/lanes/source-domain/verify_geodesic.py", + "--repo", + "worktrees/k5-centre-sharing", + "--out", + "work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/GEODESIC-rerun.json" + ], + "exit_code": 0, + "stdout": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE\nlocal rank 5522 -> at least 5746; whole common-boundary rank 1130624; added rank 14336\n", + "stderr": "", + "seconds": 3.0618937090002873, + "maximum_resident_bytes": 171212800 +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json new file mode 100644 index 0000000000..1dade5364f --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json @@ -0,0 +1,223 @@ +{ + "executed_negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "16": 512, + "2": 60192, + "24": 256, + "3": 62585, + "32": 256, + "4": 20448, + "40": 256, + "48": 5634, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "inherited_premises": [ + "Exact mode phases and full-F monomial access from the separate interface reviews", + "The whole-owner hosting and backfill invoice", + "The original selected supplier's native lowering" + ], + "local_method": "Construct each canonical Lagrangian with a Gaussian nullspace calculation. Compute each distance as the rank of the 9 by 9 symplectic pairing matrix between its two Lagrangians. This also covers source frames with singular Gram matrices. Check each persistent path and scalar access in all four mode words.", + "local_words": { + "FULL-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + }, + "ONE-SIDED-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + } + }, + "maximum_resident_bytes": 128712704, + "not_rerun": [ + "A global native emitter", + "New owner allocation or supplier admission", + "The old selected supplier's full admission", + "Scalar or address pricing" + ], + "prior_credit": { + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md#L392-L438", + "source_credit": "The pinned README credits DreamingOfClouds with Claude Opus 5.5 assistance. No external account identity was inferred.", + "statement": "Section C.2, Theorem N already gives the canonical-subspace port-gauge geodesic bound." + }, + "proof": [ + "Apply S(T)^-1 to both spaces in d(Z,S(T)S(U)^-1 Z) to obtain d(L(T),L(U)). This proves the stated order of U T^-1.", + "The two intersections inside a middle n-dimensional space give dim(L intersect H) >= dim(L intersect K)+dim(K intersect H)-n. This proves the path triangle bound in every dimension.", + "A left monomial Clifford preserves Z, so it cannot change L(T). A common right gauge at both helper endpoints applies one symplectic map to both spaces and preserves their distance.", + "The local frame IDs are relative chart labels in both orientations. The backward chart D_U=T_U F_9^-1 has one common right factor, which preserves every local distance. The global common-I/common-F boundary condition is a separate premise.", + "Retained paths with I and full-F endpoints each have distance 73. Native events belong to one path. Array permutations transport path labels. No productive path may receive a free frame reset or transfer into zero workspace.", + "The complete pinned profile plus the checked conditional mode delta gives 1116288 before normalizers. The 15488 common-boundary productive paths require 1130624, an increase of 14336, or 896 per replica on average.", + "All ranks in the literal normalized profile are below 73. Its rank mass equals 73N, so its moment equals one at exponent zero and exceeds one for every positive exponent. Any admitted retained-path fusion with ranks at most 73 still has moment at least one." + ], + "review_update": "Reviewed the added backward relative-chart paragraph. Only proof text and document/checker hashes changed after the executed exact checks.", + "reviewed_files_sha256": { + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/check_geodesic_review.py": "370f7b14141f5606a7fdf38cb206fc8251d342e1a623c97eb96551f91fe3315b", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/GEODESIC-BOUNDARY.md": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/GEODESIC-CHECKS.json": "5d419f2f7cc935bb59e40aef3405a777cca6e41c0becc46c40534da7f4351396", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/verify_geodesic.py": "e9fcb23302b056369ff7251ab84db02aa389afba3415979ea3cf5d9aec04157b", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/temporal-reuse/review_wire_gauge.py": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860" + }, + "scope": "Retained persistent array paths, their scalar accesses, and common-I/common-F productive endpoints with identity joint content. This is not a lower bound for virtual-Q boundaries or changed controllers.", + "scratch_scope": "The emitted array macros have no COPY, CLEAR, or C-bank references. Private scalar temporaries do not add productive native paths. New persistent workspace and lifetime transfers are outside this theorem.", + "small_Clifford_control": { + "distinct_Lagrangians": 15, + "left_monomial_checks": 34560, + "metric_triples": 3375, + "ordered_frame_pairs": 518400, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality.", + "symplectic_frames": 720, + "wrong_relative_order_rejected": true + }, + "source_archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_frames": 1004, + "source_git_pins": { + "research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e" + }, + "source_member_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-rerun.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-rerun.json new file mode 100644 index 0000000000..9ee07f3684 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/GEODESIC-rerun.json @@ -0,0 +1,3748 @@ +{ + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "assembly_sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "2": 60192, + "3": 62585, + "4": 20448, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152, + "16": 512, + "24": 256, + "32": 256, + "40": 256, + "48": 5634 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "local_words": { + "FULL-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + }, + "ONE-SIDED-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8296, + "last_Y_native_event": 18025, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8297, + "last_Y_native_event": 18026, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8298, + "last_Y_native_event": 18027, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8299, + "last_Y_native_event": 18028, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8300, + "last_Y_native_event": 18029, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8301, + "last_Y_native_event": 18030, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8302, + "last_Y_native_event": 18031, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8303, + "last_Y_native_event": 18032, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8304, + "last_Y_native_event": 18033, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8305, + "last_Y_native_event": 18034, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8306, + "last_Y_native_event": 18035, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8307, + "last_Y_native_event": 18036, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8308, + "last_Y_native_event": 18037, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8309, + "last_Y_native_event": 18038, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8310, + "last_Y_native_event": 18039, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8311, + "last_Y_native_event": 18040, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8312, + "last_Y_native_event": 18041, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8313, + "last_Y_native_event": 18042, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8314, + "last_Y_native_event": 18043, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8315, + "last_Y_native_event": 18044, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8316, + "last_Y_native_event": 18045, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8317, + "last_Y_native_event": 18046, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8318, + "last_Y_native_event": 18047, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8319, + "last_Y_native_event": 18048, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8320, + "last_Y_native_event": 18049, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8321, + "last_Y_native_event": 18050, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8322, + "last_Y_native_event": 18051, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8323, + "last_Y_native_event": 18052, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8324, + "last_Y_native_event": 18053, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8325, + "last_Y_native_event": 18054, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8326, + "last_Y_native_event": 18055, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8327, + "last_Y_native_event": 18056, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8328, + "last_Y_native_event": 18057, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8329, + "last_Y_native_event": 18058, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8330, + "last_Y_native_event": 18059, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8331, + "last_Y_native_event": 18060, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8332, + "last_Y_native_event": 18061, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8333, + "last_Y_native_event": 18062, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8334, + "last_Y_native_event": 18063, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8335, + "last_Y_native_event": 18064, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8336, + "last_Y_native_event": 18065, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8337, + "last_Y_native_event": 18066, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8338, + "last_Y_native_event": 18067, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8339, + "last_Y_native_event": 18068, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8340, + "last_Y_native_event": 18069, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8341, + "last_Y_native_event": 18070, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8342, + "last_Y_native_event": 18071, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8343, + "last_Y_native_event": 18072, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8344, + "last_Y_native_event": 18073, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8345, + "last_Y_native_event": 18074, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8346, + "last_Y_native_event": 18075, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8347, + "last_Y_native_event": 18076, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8348, + "last_Y_native_event": 18077, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8349, + "last_Y_native_event": 18078, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8350, + "last_Y_native_event": 18079, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8351, + "last_Y_native_event": 18080, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8352, + "last_Y_native_event": 18081, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8353, + "last_Y_native_event": 18082, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8354, + "last_Y_native_event": 18083, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8355, + "last_Y_native_event": 18084, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8356, + "last_Y_native_event": 18085, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8357, + "last_Y_native_event": 18086, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8358, + "last_Y_native_event": 18087, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8359, + "last_Y_native_event": 18088, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8360, + "last_Y_native_event": 18089, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8361, + "last_Y_native_event": 18090, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8362, + "last_Y_native_event": 18091, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8363, + "last_Y_native_event": 18092, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8364, + "last_Y_native_event": 18093, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8365, + "last_Y_native_event": 18094, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8366, + "last_Y_native_event": 18095, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8367, + "last_Y_native_event": 18096, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8368, + "last_Y_native_event": 18097, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8369, + "last_Y_native_event": 18098, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8370, + "last_Y_native_event": 18099, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8371, + "last_Y_native_event": 18100, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8372, + "last_Y_native_event": 18101, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8373, + "last_Y_native_event": 18102, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8374, + "last_Y_native_event": 18103, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8375, + "last_Y_native_event": 18104, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8376, + "last_Y_native_event": 18105, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8377, + "last_Y_native_event": 18106, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8378, + "last_Y_native_event": 18107, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8379, + "last_Y_native_event": 18108, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8380, + "last_Y_native_event": 18109, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8381, + "last_Y_native_event": 18110, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8382, + "last_Y_native_event": 18111, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8383, + "last_Y_native_event": 18112, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8384, + "last_Y_native_event": 18113, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8385, + "last_Y_native_event": 18114, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8386, + "last_Y_native_event": 18115, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8387, + "last_Y_native_event": 18116, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8388, + "last_Y_native_event": 18117, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8389, + "last_Y_native_event": 18118, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8390, + "last_Y_native_event": 18119, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8391, + "last_Y_native_event": 18120, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8392, + "last_Y_native_event": 18121, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8393, + "last_Y_native_event": 18122, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8394, + "last_Y_native_event": 18123, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8395, + "last_Y_native_event": 18124, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8396, + "last_Y_native_event": 18125, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8397, + "last_Y_native_event": 18126, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8398, + "last_Y_native_event": 18127, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8399, + "last_Y_native_event": 18128, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8400, + "last_Y_native_event": 18129, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8401, + "last_Y_native_event": 18130, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8402, + "last_Y_native_event": 18131, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8403, + "last_Y_native_event": 18132, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8404, + "last_Y_native_event": 18133, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8405, + "last_Y_native_event": 18134, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8406, + "last_Y_native_event": 18135, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8407, + "last_Y_native_event": 18136, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + } + }, + "negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "plan_sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "reader_sha256": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", + "scope": "Retained persistent wire paths and scalar accesses, arbitrary Clifford frame gauges, and priced fusions, with raw input and full-F output frames on every productive path. The global one-shot application inherits the owner-job invoice and exact mode history. This check is not a global native emitter or supplier admission.", + "scratch_scope": "No array COPY or CLEAR occurs in the two emitted mode macro words. This does not assert absence of private scratch in real-arithmetic lowering. Private zero arrays are excluded from productive paths; the allowed rewrite does not move a productive lifetime into them or reset its frame for free.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json new file mode 100644 index 0000000000..9559867bd1 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json @@ -0,0 +1,99 @@ +{ + "arbitrary_input_arrays_represented": 968, + "arithmetic_scope": "The bound starts from arbitrary decoder inputs with a common component bound and a common dyadic grid. It excludes prior circuit growth and monomial address or phase computation.", + "arithmetic_terminal_macro_counts": { + "bank_ADDs": 3024, + "mode_negations": 72, + "query_ADDs": 8064, + "terminal_ADDs": 1344 + }, + "boundary_support_counts": { + "L_X": 20, + "L_Y": 8, + "T_X": 8, + "T_Y": 20 + }, + "direct_macro_counts": { + "bank_ADDs": 3024, + "mode_negations": 72, + "query_ADDs": 8064, + "terminal_negations": 448 + }, + "exact_method": "Rational free noncommutative operator polynomials. Responses are obtained from inverse prefix bank matrices. The saved inverse instruction list is interpreted separately.", + "formal_input_blocks": 17, + "main_joint_and_schur_identities": true, + "maximum_resident_bytes": 111443968, + "mixed_joint_and_schur_identities": true, + "native_review_limit": "The independent one-shot and one-sided native receipts are premises checked by source inspection here. This review does not rerun or emit a global native supplier program.", + "native_size_margin": 721, + "negative_controls": { + "backward_reordered": true, + "forward_reordered": true, + "main_missing_T": true, + "mixed_missing_T": true + }, + "not_claimed": [ + "Free X queries before common-frame normalization", + "Admission and hosting of every new recursive job", + "A complete phase/address/arithmetic-format invoice", + "A kappa improvement" + ], + "paid_rank_delta_before_boundary_normalizers": 4680, + "productive_rank_delta": 5256, + "proof_scope": [ + "Each forward inverse uses the output mode before it restores that mode. Each backward inverse restores the mode before it updates x. All source and destination banks differ, so no clean array is needed.", + "For a prefix bank map C_i, the source row is a row of C_i and the final error column is alpha_i times the target column of C_i^-1. This independently gives all source rows, response columns, and H coefficients.", + "The corrected old-data state is exact. The remaining mode factors have unit triangular parts, so their inverse operations are finite and dyadic. The passes use the descending in-place order stated in the proof.", + "The physical common-frame proof requires the existing one-shot monomial identities and the retained old-data frame contract. Initial Q cancels the old input Q^-1. Final Q^-1 commutes with F and cancels the old output Q. The full-F conjugate of the content inverse then gives F on every input.", + "The split children act on disjoint coordinate blocks inside the same enclosing monomial adapters. They preserve the original preparation and tail operators and their rank sums." + ], + "retained_baseline_bill": { + "local_data": 1792, + "local_helpers": 3730, + "local_penalty": 64, + "old_endpoint_gain": 896, + "paid_local": 5586, + "retained_deficit_per_replica": 320, + "source_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4" + } + }, + "review_update": "Reviewed the array-scratch qualification, the 320 rank derivation, and the independently accepted common-boundary geodesic limit. Only the document hash changed after the executed exact checks.", + "saved_direct_inverse_both_sides": true, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_sha256": { + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/circuit-interface/INTERFACE.json": "5c6c51fbffc07a683e922f17532fd90262ae9e23cc3560a696002073dd234ef3", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/NORMALIZATION-PROGRAMS.json": "7ce02810ecaca13ba084c365ec9c781a211e3c94dbf0f64e8717ca6d1c0b0ca9", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/ONE-SHOT.json": "215e89cfa7cd0d2634b03394799794198a51882512b3621e798ef64296da5d36", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/ONE-SHOT.md": "f123669f63d7f92d95d73008356dbb1d7641d990efbceb46c59f1d3846f57bc4", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/check_one_shot_review.py": "f83a8b3f9d22a80d2f0e83197f539438d9ea234553876ea0f10df4858eacd71c", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/verify_one_shot.py": "7f7360d672358ccd12a658e0c436d1c8e6ee0b883603aa483b34c687613a81dd", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json": "36d8f5a98265f7f1c96ab49892b2520cb37fca6edf0347caf2e7f871fb1db026", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md": "f218e2182fee87c8550c98b68c5793f7a70719453149052c8fa82da1cc94c589", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/interface-proof/ONE-SIDED-MODE-REVIEW.json": "8ba8aae3cecdad6e261865aa779231fb7db1c908e16178d6befb0fbae1d18a24", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/root/ONE-SHOT-ERRORS.json": "d48af849daa0c0042fa039d568ba7a9e29e407258198c26e9519df069ed23def" + }, + "source_skeleton": { + "bridges": 9, + "locals": 9, + "terminal": 1 + }, + "source_template_sha256": "a179dad87651aba340a5a8ddbcd86a8e757cad87b8a1f8bad48106fbecd38518", + "split_mode_prefix_tail_profile": { + "16": 32, + "24": 16, + "32": 16, + "40": 16, + "48": 48, + "8": 32 + }, + "standalone_arithmetic_bounds": { + "additional_fraction_bits": 11, + "additional_magnitude_bits": 33, + "dyadic_real_primitive_bound": 124688, + "maximum_absolute_component_factor": "7521998513" + }, + "status": "ACCEPTED_INDEPENDENT_ONE_SHOT_CONTENT_CONSTRUCTION", + "unfused_boundary_rank_one_children": 896 +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/check_geodesic_review.py b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/check_geodesic_review.py new file mode 100644 index 0000000000..c197523c46 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/encoded-controller/review/check_geodesic_review.py @@ -0,0 +1,351 @@ +"""Check the common-boundary obstruction from independent binary matrices.""" + +from collections import Counter, deque +from hashlib import sha256 +from pathlib import Path +import gzip +import json +import resource +import subprocess +import tarfile + + +HERE = Path(__file__).resolve().parent +LANES = HERE.parent.parent +ROOT = HERE.parents[4] +BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +REPO = ROOT / "worktrees/k5-centre-sharing" +ARCHIVE = "research/community-frontier1042-audit/selected-replay.tar.gz" +ARCHIVE_PIN = "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754" +MEMBERS = { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", +} +PINS = { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", +} +GIT_PINS = { + "research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e", +} + + +def require(condition, label): + if not condition: + raise ValueError(label) + + +def rank(rows): + pivots = {} + for value in rows: + while value: + pivot = value.bit_length() - 1 + if pivot not in pivots: + pivots[pivot] = value + break + value ^= pivots[pivot] + return len(pivots) + + +def image(matrix, value): + result = 0 + for column in matrix: + if value & 1: + result ^= column + value >>= 1 + require(value == 0, "Matrix domain") + return result + + +def compose(left, right): + return tuple(image(left, column) for column in right) + + +def inverse(matrix): + n = len(matrix) + rows = [sum(((column >> i) & 1) << j for j, column in enumerate(matrix)) | (1 << (n + i)) + for i in range(n)] + for i in range(n): + pivot = next((j for j in range(i, n) if (rows[j] >> i) & 1), None) + require(pivot is not None, "Nonsingular binary matrix") + rows[i], rows[pivot] = rows[pivot], rows[i] + for j in range(n): + if j != i and (rows[j] >> i) & 1: + rows[j] ^= rows[i] + result = tuple(sum(((rows[i] >> (n + j)) & 1) << i for i in range(n)) for j in range(n)) + require(compose(matrix, result) == tuple(1 << i for i in range(n)), "Binary inverse") + return result + + +def pairing(a, b, n=9): + mask = (1 << n) - 1 + return (((a & mask) & (b >> n)).bit_count() + ((b & mask) & (a >> n)).bit_count()) % 2 + + +def canonical_label(frame): + rows = list(frame) + pivots = [] + for j in range(9): + p = len(pivots) + k = next((k for k in range(p, len(rows)) if (rows[k] >> j) & 1), None) + if k is None: + continue + rows[p], rows[k] = rows[k], rows[p] + for k in range(len(rows)): + if k != p and (rows[k] >> j) & 1: + rows[k] ^= rows[p] + pivots.append(j) + require(len(pivots) == len(frame), "Independent canonical frame basis") + nullspace = [] + for j in range(9): + if j not in pivots: + nullspace.append((1 << j) | sum(((rows[i] >> j) & 1) << p for i, p in enumerate(pivots))) + result = [u | (u << 9) for u in frame] + [v << 9 for v in nullspace] + require(len(result) == rank(result) == 9, "Lagrangian dimension") + require(all(pairing(a, b) == 0 for a in result for b in result), "Isotropic canonical label") + return result + + +def distance(left, right): + return rank([sum(pairing(a, b) << j for j, b in enumerate(right)) for a in left]) + + +def read_source(): + process = subprocess.Popen(["git", "show", BASE + ":" + ARCHIVE], cwd=REPO, stdout=subprocess.PIPE) + digest = sha256() + + class CheckedStream: + def read(self, size=-1): + data = process.stdout.read(size) + digest.update(data) + return data + + stream = CheckedStream() + result = {} + with tarfile.open(fileobj=stream, mode="r|gz") as archive: + for member in archive: + if member.name in MEMBERS: + raw = archive.extractfile(member).read() + require(sha256(raw).hexdigest() == MEMBERS[member.name], "Local member pin") + result[member.name] = json.loads(gzip.decompress(raw)) + while stream.read(65536): + pass + require(process.wait() == 0 and digest.hexdigest() == ARCHIVE_PIN, "Complete archive pin") + require(set(result) == set(MEMBERS), "Local source inventory") + return result["slots/local/CANONICAL-WORD.json.gz"], result["slots/local/LOCAL-PROGRAMS.json.gz"] + + +def local_paths(word, program, original, matrices): + current = list(word["start"]) + paid = [0] * len(current) + touches = [[] for _ in current] + counts = Counter() + profile = Counter() + native_kinds = ("climb", "adapter", "residual_adapter") + require([e for e in program if e[0] in native_kinds] == [e for e in original if e[0] in native_kinds], "Source native inventory") + for index, event in enumerate(program): + kind = event[0] + if kind == "phase": + continue + if kind == "scalar": + gate, frame = event[1:] + require(gate[0] in ("add", "scale"), "No persistent COPY or CLEAR") + registers = [gate[1]] + ([gate[2]] if gate[0] == "add" else []) + for bank, register in registers: + require(bank == "L" and 0 <= register < len(current), "No private array bank") + require(current[register] == frame, "Equal scalar frames") + touches[register].append((index, kind, event)) + counts[gate[0]] += 1 + else: + require(kind in native_kinds, "Native grammar") + register = event[2] + touches[register].append((index, kind, event)) + counts[kind] += 1 + if kind == "climb": + before, after, paid_rank = event[3:] + require(current[register] == before, "Continuous native path") + require(rank(word["frames"][before] + word["frames"][after]) == len(word["frames"][after]), "Nested source frames") + native_rank = distance(matrices[before], matrices[after]) + require(native_rank == paid_rank == len(word["frames"][after]) - len(word["frames"][before]), "Direct symplectic pairing rank") + paid[register] += paid_rank + profile[paid_rank] += 1 + current[register] = after + require(current == word["final"], "Pinned final frames") + endpoints = [distance(matrices[first], matrices[last]) for first, last in zip(word["start"], current)] + require(paid == endpoints and sum(paid) == 5522, "All individual endpoint distances") + boundary_touches = [] + for port, line in enumerate(word["ports"]): + x, y = port, 112 + port + empty = [1 << (9 + j) for j in range(9)] + full = [(1 << j) | (1 << (9 + j)) for j in range(9)] + line_action = lambda basis: [v ^ (line if ((v >> 9) & line).bit_count() % 2 else 0) for v in basis] + require(distance(matrices[word["start"][x]], line_action(empty)) == 0 + and distance(matrices[current[x]], full) == 0, "Source line and full frames") + require(distance(matrices[word["start"][y]], empty) == 0 + and distance(matrices[current[y]], line_action(full)) == 0, "Target empty and complement frames") + require(endpoints[x] == endpoints[y] == 8 and distance(empty, line_action(empty)) == 1, "Data endpoint distance") + first, last = touches[x][0], touches[y][-1] + require(first[1] == last[1] == "adapter" and first[2][1] == "old_to_new" and last[2][1] == "new_to_old", "Rank-zero boundary wrappers") + first_paid = next(t[0] for t in touches[x] if t[1] == "climb") + last_paid = next(t[0] for t in reversed(touches[y]) if t[1] == "climb") + before = sum(first[0] < t[0] < first_paid and t[1] == "scalar" for t in touches[x]) + after = sum(last_paid < t[0] < last[0] and t[1] == "scalar" for t in touches[y]) + require(before > 0 and after > 0, "Paid child has intervening scalar access") + boundary_touches.append((before, after)) + require(sum(endpoints[224:]) + 224 * 9 == 5746, "All normalized endpoint distances") + return {"persistent_paths": len(current), "rank_mass": sum(paid), + "normalized_endpoint_distance_sum": 5746, "native_profile": dict(profile), + "counts": dict(counts), "scalar_uses_before_first_X_paid_child": sorted({a for a, b in boundary_touches}), + "scalar_uses_after_last_Y_paid_child": sorted({b for a, b in boundary_touches})} + + +def clifford_control(): + n, mask = 2, 3 + unit = tuple(1 << i for i in range(4)) + generators = [] + for i in range(n): + h = list(unit) + h[i], h[n + i] = h[n + i], h[i] + generators.append(tuple(h)) + s = list(unit) + s[i] ^= 1 << (n + i) + generators.append(tuple(s)) + for i, j in ((0, 1), (1, 0)): + c = list(unit) + c[i] ^= 1 << j + c[n + j] ^= 1 << (n + i) + generators.append(tuple(c)) + group, pending = {unit}, deque([unit]) + while pending: + s = pending.popleft() + for g in generators: + t = compose(g, s) + if t not in group: + group.add(t) + pending.append(t) + require(len(group) == 720, "Complete Sp(4,2) control group") + inverse_group = {s: inverse(s) for s in group} + labels = {s: inverse_group[s][n:] for s in group} + distance = lambda a, b: rank(a + b) - n + spaces = {} + for basis in labels.values(): + spaces[tuple(sorted((0, basis[0], basis[1], basis[0] ^ basis[1])))] = basis + require(len(spaces) == 15, "All two-dimensional Lagrangians") + wrong_order_detected = False + for t in group: + for u in group: + relative = compose(u, inverse_group[t]) + rho = rank([column & mask for column in relative[n:]]) + require(rho == distance(labels[t], labels[u]), "Relative Fourier rank equals endpoint distance") + wrong = compose(inverse_group[t], u) + wrong_order_detected |= rank([column & mask for column in wrong[n:]]) != rho + for a in spaces.values(): + for b in spaces.values(): + for c in spaces.values(): + require(distance(a, c) <= distance(a, b) + distance(b, c), "Metric triangle control") + monomials = [m for m in group if not rank([v & mask for v in m[n:]])] + for m in monomials: + for t in group: + require(distance(labels[compose(m, t)], labels[t]) == 0, "Left monomial frame invariance") + require(wrong_order_detected, "Relative operator order negative control") + return {"symplectic_frames": 720, "ordered_frame_pairs": 720 ** 2, + "distinct_Lagrangians": 15, "metric_triples": 15 ** 3, + "left_monomial_checks": len(monomials) * 720, "wrong_relative_order_rejected": True, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality."} + + +def main(): + report_path = LANES / "source-domain/GEODESIC-CHECKS.json" + require((HERE / "GEODESIC-rerun.json").read_bytes() == report_path.read_bytes(), "Producer reproduction") + report = json.loads(report_path.read_text()) + word, original = read_source() + matrices = [canonical_label(frame) for frame in word["frames"]] + local = {} + for variant in ("FULL-MODE", "ONE-SIDED-MODE"): + relative = "history-encoding/" + variant + "-PROGRAMS.json.gz" + raw = (LANES / relative).read_bytes() + require(sha256(raw).hexdigest() == PINS[relative], "Mode program pin") + programs = json.loads(gzip.decompress(raw)) + require(set(programs) == {"forward", "backward"}, "Orientation inventory") + local[variant] = {} + for side, program in programs.items(): + result = local_paths(word, program, original[side], matrices) + saved = report["local_words"][variant][side] + require(result["rank_mass"] == saved["rank_mass"] and result["counts"]["add"] == saved["scalar_macros"]["add"], "Saved local invoice") + require(result["counts"]["scale"] == 731 and result["counts"]["climb"] == 3486 + and result["counts"]["adapter"] + result["counts"]["residual_adapter"] == 1570, "Complete local event count") + local[variant][side] = result + sources = {} + for path, pin in GIT_PINS.items(): + raw = subprocess.check_output(["git", "show", BASE + ":" + path], cwd=REPO) + require(sha256(raw).hexdigest() == pin, "Pinned global or prior source") + sources[path] = raw.decode() if path.endswith(".md") else json.loads(raw) + prior = sources["research/format-limits-corrected/README.md"] + require("**Theorem N (proof).**" in prior and "Prepared by DreamingOfClouds with Claude Opus 5.5" in prior, "Prior theorem and source credit") + plan = sources["research/complex-t16-rare-pattern-exchanges/data/PLAN.json"] + assembly = sources["research/community-frontier1094-audit/ASSEMBLY.json"] + require((plan["T"], plan["K"], plan["L"], plan["M"], plan["live"], plan["deficit"]) == (16, 4, 9, 73, 14336, 5120), "Pinned global geometry") + old_profile = Counter({int(k): v for k, v in assembly["complex_profile"].items()}) + mode_path = LANES / "history-encoding/ONE-SHOT-MAX48.json" + require(sha256(mode_path.read_bytes()).hexdigest() == PINS["history-encoding/ONE-SHOT-MAX48.json"], "Mode plan pin") + mode_plan = json.loads(mode_path.read_text()) + delta = Counter({8: -1152, 9: 1152}) + for stage, record in enumerate(mode_plan["stages"]): + require(record["stage"] == stage and record["mode_copies_all_replicas"] == 128 + and record["active"]["rank"] == 9, "Fresh mode cohort") + for label, axes in (("preparation", 8 * stage), ("completion", 64 - 8 * stage)): + ranks = [] if not axes else [axes] if axes <= 48 else [48, axes - 48] + require([child["rank"] for child in record[label]["children_in_execution_order"]] == ranks, "Mode coordinate splits") + for r in ranks: + delta[r] += 128 + require(len(mode_plan["stages"]) == 9, "All fresh cohorts") + before = Counter(old_profile) + before.update(delta) + normalized = Counter(before) + normalized[1] += 14336 + mass = lambda profile: sum(r * count for r, count in profile.items()) + require(mass(old_profile) == 1041408 and mass(before) == 1116288 and mass(normalized) == 1130624, "Complete native rank invoice") + require(73 * (plan["live"] + 1152) == mass(normalized), "Productive endpoint lower bound") + require((mass(normalized) - mass(before)) // 16 == 896, "Per-replica average increase") + require(max(normalized) == 48 and all(count >= 0 for count in normalized.values()), "Admitted profile ranks") + require({str(r): c for r, c in normalized.items()} == report["global_ledger"]["literal_normalized_profile"], "Saved complete normalized profile") + toy = clifford_control() + files = [LANES / "source-domain" / name for name in ("GEODESIC-BOUNDARY.md", "verify_geodesic.py", "GEODESIC-CHECKS.json")] + files += [LANES / "temporal-reuse/review_wire_gauge.py", HERE / "check_geodesic_review.py"] + receipt = { + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION", + "source_base": BASE, "source_archive_sha256": ARCHIVE_PIN, + "source_member_pins": MEMBERS, "source_program_pins": PINS, "source_git_pins": GIT_PINS, + "local_method": "Construct each canonical Lagrangian with a Gaussian nullspace calculation. Compute each distance as the rank of the 9 by 9 symplectic pairing matrix between its two Lagrangians. This also covers source frames with singular Gram matrices. Check each persistent path and scalar access in all four mode words.", + "source_frames": len(matrices), "local_words": local, "small_Clifford_control": toy, + "proof": [ + "Apply S(T)^-1 to both spaces in d(Z,S(T)S(U)^-1 Z) to obtain d(L(T),L(U)). This proves the stated order of U T^-1.", + "The two intersections inside a middle n-dimensional space give dim(L intersect H) >= dim(L intersect K)+dim(K intersect H)-n. This proves the path triangle bound in every dimension.", + "A left monomial Clifford preserves Z, so it cannot change L(T). A common right gauge at both helper endpoints applies one symplectic map to both spaces and preserves their distance.", + "The local frame IDs are relative chart labels in both orientations. The backward chart D_U=T_U F_9^-1 has one common right factor, which preserves every local distance. The global common-I/common-F boundary condition is a separate premise.", + "Retained paths with I and full-F endpoints each have distance 73. Native events belong to one path. Array permutations transport path labels. No productive path may receive a free frame reset or transfer into zero workspace.", + "The complete pinned profile plus the checked conditional mode delta gives 1116288 before normalizers. The 15488 common-boundary productive paths require 1130624, an increase of 14336, or 896 per replica on average.", + "All ranks in the literal normalized profile are below 73. Its rank mass equals 73N, so its moment equals one at exponent zero and exceeds one for every positive exponent. Any admitted retained-path fusion with ranks at most 73 still has moment at least one." + ], + "global_ledger": report["global_ledger"], + "executed_negative_controls": report["negative_controls"], + "scope": "Retained persistent array paths, their scalar accesses, and common-I/common-F productive endpoints with identity joint content. This is not a lower bound for virtual-Q boundaries or changed controllers.", + "inherited_premises": ["Exact mode phases and full-F monomial access from the separate interface reviews", "The whole-owner hosting and backfill invoice", "The original selected supplier's native lowering"], + "not_rerun": ["A global native emitter", "New owner allocation or supplier admission", "The old selected supplier's full admission", "Scalar or address pricing"], + "scratch_scope": "The emitted array macros have no COPY, CLEAR, or C-bank references. Private scalar temporaries do not add productive native paths. New persistent workspace and lifetime transfers are outside this theorem.", + "prior_credit": {"source": "https://github.com/CrocSwap/integer-mult-bounds/blob/" + BASE + "/research/format-limits-corrected/README.md#L392-L438", + "statement": "Section C.2, Theorem N already gives the canonical-subspace port-gauge geodesic bound.", + "source_credit": "The pinned README credits DreamingOfClouds with Claude Opus 5.5 assistance. No external account identity was inferred."}, + "reviewed_files_sha256": {str(path): sha256(path.read_bytes()).hexdigest() for path in files}, + "maximum_resident_bytes": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, + } + (HERE / "GEODESIC-REVIEW.json").write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") + print(receipt["status"]) + print("all_four_local_words=true normalized_rank=1130624 minimum_added_rank=14336") + + +if __name__ == "__main__": + main() diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz new file mode 100644 index 0000000000..d53ce4b3cf Binary files /dev/null and b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz differ diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/HOSTING-PATCH.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/HOSTING-PATCH.json new file mode 100644 index 0000000000..9c8c453590 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/HOSTING-PATCH.json @@ -0,0 +1,12716 @@ +{ + "archive_sha256": "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6", + "calls": 144, + "conditional_physical_families": 14954, + "conditional_profile_delta_per_cover_class": { + "1": 1280, + "8": -1152, + "9": 1152 + }, + "conditions": [ + "An exact global controller restores all old data and every mode family", + "The chosen mode labels have exact compatible stage routes and phases", + "A common finite cover contains all old and new routes", + "The global emitter binds the new data roles, backfill children, and closures" + ], + "construction": "Keep every old family. Add eight mode families per replica. Give each mode its nine active calls. Replace each displaced width-nine helper job by one stand-alone rank-nine child with the same owner route. Use one rank-one closure per permanent target mode, or one rank-one preparation per permanent source mode.", + "displaced_rank9_jobs": 1152, + "distinct_displaced_live_families": 973, + "mode_closure_or_preparation_children": { + "1": 128 + }, + "new_mode_families": 128, + "not_claimed": [ + "A kappa value", + "Global program replay", + "Frontier selection" + ], + "old_physical_families": 14826, + "ordinary_helpers_per_call": 472, + "owner_job_multiplicity": { + "1": 825, + "2": 120, + "3": 25, + "4": 3 + }, + "paid_rank_delta_per_cover_class": 2432, + "productive_output_rank_delta_per_cover_class": 9344, + "scope": "An exact owner inventory and conditional complete child delta. This is not a feasible-controller or supplier-admission certificate.", + "standalone_backfill_jobs": [ + { + "family": 13005, + "local_register": 225, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 13004, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 13001, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 12998, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 8516, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 8515, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 498, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 497, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 0 + }, + { + "family": 1414, + "local_register": 225, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 1413, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 1410, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 1407, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 1398, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 1397, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 1382, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 1381, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 1 + }, + { + "family": 4464, + "local_register": 225, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 1654, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 7753, + "local_register": 229, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 7750, + "local_register": 232, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 7741, + "local_register": 241, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 7740, + "local_register": 242, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 7725, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 7724, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 2 + }, + { + "family": 10331, + "local_register": 225, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 10330, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 10327, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 10324, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 10315, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 10314, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 3173, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 3172, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 3 + }, + { + "family": 10363, + "local_register": 225, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 10362, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 10359, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 10356, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 10347, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 10346, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 9614, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 9613, + "local_register": 258, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 4 + }, + { + "family": 12190, + "local_register": 225, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 12189, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 12186, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 12183, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 12174, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 12173, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 12158, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 12157, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 5 + }, + { + "family": 8847, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 8846, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 8843, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 8840, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 8831, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 8830, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 8815, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 8814, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 6 + }, + { + "family": 10583, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10582, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10568, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10565, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10556, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10555, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10540, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10539, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 7 + }, + { + "family": 10377, + "local_register": 225, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 10376, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 10373, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 10370, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 8638, + "local_register": 241, + "route": [ + 3, + 6, + 4 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 8537, + "local_register": 242, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 1556, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 1555, + "local_register": 258, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 8 + }, + { + "family": 10430, + "local_register": 225, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 10429, + "local_register": 226, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 10426, + "local_register": 229, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 10423, + "local_register": 232, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 10414, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 10413, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 7807, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 7709, + "local_register": 258, + "route": [ + 3, + 4, + 14 + ], + "standalone_child_rank": 9, + "time": 9 + }, + { + "family": 12235, + "local_register": 225, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 12234, + "local_register": 226, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 12231, + "local_register": 229, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 12228, + "local_register": 232, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 12219, + "local_register": 241, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 12218, + "local_register": 242, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 12203, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 12202, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 10 + }, + { + "family": 5849, + "local_register": 225, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 5848, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 5845, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 5842, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 7834, + "local_register": 241, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 7833, + "local_register": 242, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 7818, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 7817, + "local_register": 258, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 11 + }, + { + "family": 11323, + "local_register": 225, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 11322, + "local_register": 226, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 11319, + "local_register": 229, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 11316, + "local_register": 232, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 11307, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 11306, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 11291, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 11290, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 12 + }, + { + "family": 222, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6258, + "local_register": 226, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6255, + "local_register": 229, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6252, + "local_register": 232, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6243, + "local_register": 241, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6242, + "local_register": 242, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6227, + "local_register": 257, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6226, + "local_register": 258, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 13 + }, + { + "family": 6904, + "local_register": 225, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 6736, + "local_register": 226, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 11393, + "local_register": 229, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 11390, + "local_register": 232, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 11381, + "local_register": 241, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 11380, + "local_register": 242, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 11365, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 11364, + "local_register": 258, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 14 + }, + { + "family": 11478, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 11477, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 11474, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 11468, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 757, + "local_register": 241, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 756, + "local_register": 242, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 4935, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 4934, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 15 + }, + { + "family": 165, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 164, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 161, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 158, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 149, + "local_register": 241, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 148, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 771, + "local_register": 257, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 770, + "local_register": 258, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 16 + }, + { + "family": 13326, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 13325, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 13322, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 13319, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 2457, + "local_register": 241, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 2456, + "local_register": 242, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 2441, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 2440, + "local_register": 258, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 17 + }, + { + "family": 962, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 961, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 10403, + "local_register": 229, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 10400, + "local_register": 232, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 10391, + "local_register": 241, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 10390, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 10316, + "local_register": 257, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 10315, + "local_register": 258, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 18 + }, + { + "family": 2553, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 2552, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 2549, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 2546, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 2537, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 2536, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 2518, + "local_register": 257, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 2517, + "local_register": 258, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 19 + }, + { + "family": 932, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 914, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 6951, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 2550, + "local_register": 232, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 2534, + "local_register": 241, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 2533, + "local_register": 242, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 2518, + "local_register": 257, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 2517, + "local_register": 258, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 20 + }, + { + "family": 8100, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 8082, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 13318, + "local_register": 229, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 10633, + "local_register": 232, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 8824, + "local_register": 241, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 8823, + "local_register": 242, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 777, + "local_register": 257, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 776, + "local_register": 258, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 21 + }, + { + "family": 13325, + "local_register": 225, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 13324, + "local_register": 226, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 13320, + "local_register": 229, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 4460, + "local_register": 232, + "route": [ + 3, + 10, + 4 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 4449, + "local_register": 241, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 4448, + "local_register": 242, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 4421, + "local_register": 257, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 4420, + "local_register": 258, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 22 + }, + { + "family": 8846, + "local_register": 225, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 8845, + "local_register": 226, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 8842, + "local_register": 229, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 8839, + "local_register": 232, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 8818, + "local_register": 241, + "route": [ + 3, + 8, + 27 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 8817, + "local_register": 242, + "route": [ + 3, + 8, + 27 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 8695, + "local_register": 257, + "route": [ + 3, + 6, + 14 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 8694, + "local_register": 258, + "route": [ + 3, + 6, + 14 + ], + "standalone_child_rank": 9, + "time": 23 + }, + { + "family": 4475, + "local_register": 225, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 4455, + "local_register": 226, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 4432, + "local_register": 229, + "route": [ + 3, + 10, + 13 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 4427, + "local_register": 232, + "route": [ + 3, + 10, + 0 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 2568, + "local_register": 241, + "route": [ + 3, + 8, + 12 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 2567, + "local_register": 242, + "route": [ + 3, + 8, + 12 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 10357, + "local_register": 257, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 10356, + "local_register": 258, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 24 + }, + { + "family": 13326, + "local_register": 225, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 13321, + "local_register": 226, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 13318, + "local_register": 229, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 5961, + "local_register": 232, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 5952, + "local_register": 241, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 5951, + "local_register": 242, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 11413, + "local_register": 257, + "route": [ + 3, + 6, + 4 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 11412, + "local_register": 258, + "route": [ + 3, + 6, + 4 + ], + "standalone_child_rank": 9, + "time": 25 + }, + { + "family": 12382, + "local_register": 225, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 12381, + "local_register": 226, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 12378, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 12375, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 12366, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 12365, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 11257, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 11256, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 26 + }, + { + "family": 7950, + "local_register": 225, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 7949, + "local_register": 226, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 7946, + "local_register": 229, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 7943, + "local_register": 232, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 7934, + "local_register": 241, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 5874, + "local_register": 242, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 4134, + "local_register": 257, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 4133, + "local_register": 258, + "route": [ + 3, + 4, + 0 + ], + "standalone_child_rank": 9, + "time": 27 + }, + { + "family": 11488, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 11487, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 11483, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 11472, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 11457, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 11456, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 11436, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 11435, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 28 + }, + { + "family": 8214, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8211, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8203, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8186, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8160, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8159, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8104, + "local_register": 257, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8103, + "local_register": 258, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 29 + }, + { + "family": 8172, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 8167, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 8164, + "local_register": 229, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 8161, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 8136, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 8135, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 12411, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 12410, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 30 + }, + { + "family": 5151, + "local_register": 225, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 5150, + "local_register": 226, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 5147, + "local_register": 229, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 5088, + "local_register": 232, + "route": [ + 3, + 6, + 9 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 10494, + "local_register": 241, + "route": [ + 3, + 6, + 9 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 10493, + "local_register": 242, + "route": [ + 3, + 6, + 9 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 10478, + "local_register": 257, + "route": [ + 3, + 6, + 9 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 10477, + "local_register": 258, + "route": [ + 3, + 6, + 9 + ], + "standalone_child_rank": 9, + "time": 31 + }, + { + "family": 175, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 174, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 171, + "local_register": 229, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 168, + "local_register": 232, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 2566, + "local_register": 241, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 2565, + "local_register": 242, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 5942, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 5941, + "local_register": 258, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 32 + }, + { + "family": 2002, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 2001, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 1998, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 1995, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 12182, + "local_register": 241, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 12181, + "local_register": 242, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 12166, + "local_register": 257, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 12165, + "local_register": 258, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 33 + }, + { + "family": 1033, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 177, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 5157, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 5154, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 10604, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 10603, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 10587, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 10586, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 34 + }, + { + "family": 8961, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 8960, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 8201, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 6149, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 6140, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 6139, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 6124, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 6123, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 35 + }, + { + "family": 983, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 982, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 979, + "local_register": 229, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 976, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 955, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 954, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 12430, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 5242, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 36 + }, + { + "family": 8151, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 8150, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 8147, + "local_register": 229, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 8144, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 8123, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 8122, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 6101, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 6100, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 37 + }, + { + "family": 2014, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 2013, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 1067, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 1061, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 1007, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 959, + "local_register": 242, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 204, + "local_register": 257, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 203, + "local_register": 258, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 38 + }, + { + "family": 8974, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 8969, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 8235, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 8229, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 8175, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 8127, + "local_register": 242, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 355, + "local_register": 257, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 354, + "local_register": 258, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 39 + }, + { + "family": 2013, + "local_register": 225, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 7391, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 5153, + "local_register": 229, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 5374, + "local_register": 232, + "route": [ + 3, + 10, + 4 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 10635, + "local_register": 241, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 10633, + "local_register": 242, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 781, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 780, + "local_register": 258, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 40 + }, + { + "family": 8971, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 221, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 218, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 215, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 175, + "local_register": 241, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 174, + "local_register": 242, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 158, + "local_register": 257, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 157, + "local_register": 258, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 41 + }, + { + "family": 991, + "local_register": 225, + "route": [ + 3, + 12, + 4 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 990, + "local_register": 226, + "route": [ + 3, + 12, + 4 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 962, + "local_register": 229, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 942, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 914, + "local_register": 241, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 912, + "local_register": 242, + "route": [ + 3, + 12, + 4 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 12415, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 12414, + "local_register": 258, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 42 + }, + { + "family": 8159, + "local_register": 225, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 8158, + "local_register": 226, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 8130, + "local_register": 229, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 8110, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 8082, + "local_register": 241, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 8080, + "local_register": 242, + "route": [ + 3, + 12, + 4 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 14026, + "local_register": 257, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 14025, + "local_register": 258, + "route": [ + 3, + 6, + 0 + ], + "standalone_child_rank": 9, + "time": 43 + }, + { + "family": 1068, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 1060, + "local_register": 226, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 1043, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 1034, + "local_register": 232, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 1016, + "local_register": 241, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 1015, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 993, + "local_register": 257, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 987, + "local_register": 258, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 44 + }, + { + "family": 8236, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 8228, + "local_register": 226, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 8211, + "local_register": 229, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 8202, + "local_register": 232, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 8184, + "local_register": 241, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 8183, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 8161, + "local_register": 257, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 8155, + "local_register": 258, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 45 + }, + { + "family": 13326, + "local_register": 225, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 13325, + "local_register": 226, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 13322, + "local_register": 229, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 13225, + "local_register": 232, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 5161, + "local_register": 241, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 5160, + "local_register": 242, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 10601, + "local_register": 257, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 10600, + "local_register": 258, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 46 + }, + { + "family": 13275, + "local_register": 225, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 13274, + "local_register": 226, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 5156, + "local_register": 229, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 8415, + "local_register": 232, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 8363, + "local_register": 241, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 8362, + "local_register": 242, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 4140, + "local_register": 257, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 4139, + "local_register": 258, + "route": [ + 3, + 4, + 9 + ], + "standalone_child_rank": 9, + "time": 47 + }, + { + "family": 14222, + "local_register": 225, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 14221, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 14218, + "local_register": 229, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 14215, + "local_register": 232, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 6959, + "local_register": 241, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 6958, + "local_register": 242, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 2571, + "local_register": 257, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 2570, + "local_register": 258, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 48 + }, + { + "family": 938, + "local_register": 225, + "route": [ + 3, + 12, + 26 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 10635, + "local_register": 226, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 3470, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 3467, + "local_register": 232, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 3458, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 3457, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 3442, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 3441, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 49 + }, + { + "family": 13264, + "local_register": 225, + "route": [ + 3, + 8, + 12 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 13263, + "local_register": 226, + "route": [ + 3, + 8, + 12 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 6097, + "local_register": 229, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 6094, + "local_register": 232, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 6085, + "local_register": 241, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 6084, + "local_register": 242, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 6069, + "local_register": 257, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 6068, + "local_register": 258, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 50 + }, + { + "family": 7390, + "local_register": 225, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 6159, + "local_register": 226, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 6156, + "local_register": 229, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 6153, + "local_register": 232, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 6122, + "local_register": 241, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 6121, + "local_register": 242, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 9734, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 9733, + "local_register": 258, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 51 + }, + { + "family": 14212, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 7049, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 7046, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 7043, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 7002, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 7001, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 6986, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 6985, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 52 + }, + { + "family": 11497, + "local_register": 225, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 11496, + "local_register": 226, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 11493, + "local_register": 229, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 10613, + "local_register": 232, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 8839, + "local_register": 241, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 8838, + "local_register": 242, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 8823, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 8822, + "local_register": 258, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 53 + }, + { + "family": 1044, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 1043, + "local_register": 226, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 1015, + "local_register": 229, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 962, + "local_register": 232, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 919, + "local_register": 241, + "route": [ + 3, + 12, + 13 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 907, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 7042, + "local_register": 257, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 7041, + "local_register": 258, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 54 + }, + { + "family": 8212, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 8211, + "local_register": 226, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 8183, + "local_register": 229, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 8130, + "local_register": 232, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 8087, + "local_register": 241, + "route": [ + 3, + 12, + 13 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 8075, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 196, + "local_register": 257, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 195, + "local_register": 258, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 55 + }, + { + "family": 14208, + "local_register": 225, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 14207, + "local_register": 226, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 14204, + "local_register": 229, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 14201, + "local_register": 232, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 14192, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 14191, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 7052, + "local_register": 257, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 7051, + "local_register": 258, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 56 + }, + { + "family": 9742, + "local_register": 225, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 9741, + "local_register": 226, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 8308, + "local_register": 229, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 8303, + "local_register": 232, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 7596, + "local_register": 241, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 7595, + "local_register": 242, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 13986, + "local_register": 257, + "route": [ + 3, + 4, + 5 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 13985, + "local_register": 258, + "route": [ + 3, + 4, + 5 + ], + "standalone_child_rank": 9, + "time": 57 + }, + { + "family": 3806, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 3805, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 2794, + "local_register": 229, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 2009, + "local_register": 232, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 1053, + "local_register": 241, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 1034, + "local_register": 242, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 926, + "local_register": 257, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 925, + "local_register": 258, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 58 + }, + { + "family": 10974, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 10973, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 9178, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 8980, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 8202, + "local_register": 241, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 8201, + "local_register": 242, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 8093, + "local_register": 257, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 8092, + "local_register": 258, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 59 + }, + { + "family": 1064, + "local_register": 225, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 1003, + "local_register": 226, + "route": [ + 3, + 12, + 4 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 7035, + "local_register": 229, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 7032, + "local_register": 232, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 4439, + "local_register": 241, + "route": [ + 3, + 10, + 26 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 10639, + "local_register": 242, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 3413, + "local_register": 257, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 3412, + "local_register": 258, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 60 + }, + { + "family": 8232, + "local_register": 225, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 8171, + "local_register": 226, + "route": [ + 3, + 12, + 17 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 13231, + "local_register": 229, + "route": [ + 3, + 8, + 12 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 6245, + "local_register": 232, + "route": [ + 3, + 10, + 30 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 11522, + "local_register": 241, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 11521, + "local_register": 242, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 11503, + "local_register": 257, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 11502, + "local_register": 258, + "route": [ + 3, + 8, + 0 + ], + "standalone_child_rank": 9, + "time": 61 + }, + { + "family": 6103, + "local_register": 225, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 6102, + "local_register": 226, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 6099, + "local_register": 229, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 6096, + "local_register": 232, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 6087, + "local_register": 241, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 6086, + "local_register": 242, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 6070, + "local_register": 257, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 6069, + "local_register": 258, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 62 + }, + { + "family": 9181, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 8982, + "local_register": 226, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 8972, + "local_register": 229, + "route": [ + 3, + 12, + 8 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 8968, + "local_register": 232, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 13279, + "local_register": 241, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 13278, + "local_register": 242, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 13263, + "local_register": 257, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 13262, + "local_register": 258, + "route": [ + 3, + 8, + 8 + ], + "standalone_child_rank": 9, + "time": 63 + }, + { + "family": 991, + "local_register": 225, + "route": [ + 3, + 12, + 13 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 990, + "local_register": 226, + "route": [ + 3, + 12, + 13 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 223, + "local_register": 229, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 220, + "local_register": 232, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 6998, + "local_register": 241, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 6997, + "local_register": 242, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 5187, + "local_register": 257, + "route": [ + 3, + 8, + 12 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 5186, + "local_register": 258, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 64 + }, + { + "family": 1046, + "local_register": 225, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 1043, + "local_register": 226, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 1035, + "local_register": 229, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 1018, + "local_register": 232, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 992, + "local_register": 241, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 991, + "local_register": 242, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 936, + "local_register": 257, + "route": [ + 3, + 12, + 17 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 935, + "local_register": 258, + "route": [ + 3, + 12, + 17 + ], + "standalone_child_rank": 9, + "time": 65 + }, + { + "family": 1042, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 1041, + "local_register": 226, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 1016, + "local_register": 229, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 1013, + "local_register": 232, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 10589, + "local_register": 241, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 10588, + "local_register": 242, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 10573, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 10572, + "local_register": 258, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 66 + }, + { + "family": 1999, + "local_register": 225, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 1998, + "local_register": 226, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 1995, + "local_register": 229, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 8189, + "local_register": 232, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 14220, + "local_register": 241, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 14219, + "local_register": 242, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 14154, + "local_register": 257, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 14153, + "local_register": 258, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 67 + }, + { + "family": 1019, + "local_register": 225, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 1018, + "local_register": 226, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 1011, + "local_register": 229, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 194, + "local_register": 232, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 185, + "local_register": 241, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 184, + "local_register": 242, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 169, + "local_register": 257, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 168, + "local_register": 258, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 68 + }, + { + "family": 8186, + "local_register": 225, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 8185, + "local_register": 226, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 8178, + "local_register": 229, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 6118, + "local_register": 232, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 6109, + "local_register": 241, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 6108, + "local_register": 242, + "route": [ + 3, + 8, + 18 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 6055, + "local_register": 257, + "route": [ + 3, + 8, + 31 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 6054, + "local_register": 258, + "route": [ + 3, + 8, + 31 + ], + "standalone_child_rank": 9, + "time": 69 + }, + { + "family": 1029, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 1028, + "local_register": 226, + "route": [ + 3, + 13, + 12 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 5193, + "local_register": 229, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 3094, + "local_register": 232, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 2211, + "local_register": 241, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 2210, + "local_register": 242, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 337, + "local_register": 257, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 336, + "local_register": 258, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 70 + }, + { + "family": 8160, + "local_register": 225, + "route": [ + 3, + 12, + 31 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 8159, + "local_register": 226, + "route": [ + 3, + 12, + 31 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 8156, + "local_register": 229, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 13262, + "local_register": 232, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 5259, + "local_register": 241, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 5258, + "local_register": 242, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 10190, + "local_register": 257, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 10189, + "local_register": 258, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 71 + }, + { + "family": 2901, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 2900, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 2897, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 2894, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 2885, + "local_register": 241, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 2884, + "local_register": 242, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 2869, + "local_register": 257, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 2868, + "local_register": 258, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 72 + }, + { + "family": 11520, + "local_register": 225, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 11519, + "local_register": 226, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 11516, + "local_register": 229, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 11513, + "local_register": 232, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 11504, + "local_register": 241, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 11503, + "local_register": 242, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 11488, + "local_register": 257, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 11487, + "local_register": 258, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 73 + }, + { + "family": 2910, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 2909, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 2906, + "local_register": 229, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 2903, + "local_register": 232, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 2883, + "local_register": 241, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 2882, + "local_register": 242, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 2867, + "local_register": 257, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 2866, + "local_register": 258, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 74 + }, + { + "family": 10049, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 10048, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 10045, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 10042, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 10033, + "local_register": 241, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 10032, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 10017, + "local_register": 257, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 10016, + "local_register": 258, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 75 + }, + { + "family": 6158, + "local_register": 225, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 6157, + "local_register": 226, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 6154, + "local_register": 229, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 6151, + "local_register": 232, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 6142, + "local_register": 241, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 6141, + "local_register": 242, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 6120, + "local_register": 257, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 5223, + "local_register": 258, + "route": [ + 3, + 8, + 4 + ], + "standalone_child_rank": 9, + "time": 76 + }, + { + "family": 199, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 198, + "local_register": 226, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 195, + "local_register": 229, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 13314, + "local_register": 232, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 13305, + "local_register": 241, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 13304, + "local_register": 242, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 13289, + "local_register": 257, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 13288, + "local_register": 258, + "route": [ + 3, + 8, + 17 + ], + "standalone_child_rank": 9, + "time": 77 + }, + { + "family": 10079, + "local_register": 225, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 10078, + "local_register": 226, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 10075, + "local_register": 229, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 10072, + "local_register": 232, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 10063, + "local_register": 241, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 10062, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 10011, + "local_register": 257, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 10010, + "local_register": 258, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 78 + }, + { + "family": 8971, + "local_register": 225, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 13327, + "local_register": 226, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 6156, + "local_register": 229, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 6153, + "local_register": 232, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 6144, + "local_register": 241, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 6143, + "local_register": 242, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 6128, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 6127, + "local_register": 258, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 79 + }, + { + "family": 1066, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 1065, + "local_register": 226, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 1061, + "local_register": 229, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 1052, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 1007, + "local_register": 241, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 1003, + "local_register": 242, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 910, + "local_register": 257, + "route": [ + 3, + 12, + 30 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 909, + "local_register": 258, + "route": [ + 3, + 12, + 30 + ], + "standalone_child_rank": 9, + "time": 80 + }, + { + "family": 9179, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 9178, + "local_register": 226, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 8235, + "local_register": 229, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 8232, + "local_register": 232, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 8216, + "local_register": 241, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 8205, + "local_register": 242, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 8092, + "local_register": 257, + "route": [ + 3, + 12, + 22 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 8088, + "local_register": 258, + "route": [ + 3, + 12, + 31 + ], + "standalone_child_rank": 9, + "time": 81 + }, + { + "family": 6995, + "local_register": 225, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 6994, + "local_register": 226, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 13272, + "local_register": 229, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 13269, + "local_register": 232, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 5154, + "local_register": 241, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 4470, + "local_register": 242, + "route": [ + 3, + 10, + 30 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 10107, + "local_register": 257, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 3057, + "local_register": 258, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 82 + }, + { + "family": 9182, + "local_register": 225, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 9178, + "local_register": 226, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 8978, + "local_register": 229, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 8974, + "local_register": 232, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 214, + "local_register": 241, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 213, + "local_register": 242, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 160, + "local_register": 257, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 159, + "local_register": 258, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 83 + }, + { + "family": 9182, + "local_register": 225, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 9181, + "local_register": 226, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 8977, + "local_register": 229, + "route": [ + 3, + 12, + 18 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 8205, + "local_register": 232, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 1057, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 1056, + "local_register": 242, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 998, + "local_register": 257, + "route": [ + 3, + 12, + 21 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 997, + "local_register": 258, + "route": [ + 3, + 12, + 21 + ], + "standalone_child_rank": 9, + "time": 84 + }, + { + "family": 8227, + "local_register": 225, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 8226, + "local_register": 226, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 8223, + "local_register": 229, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 8213, + "local_register": 232, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 204, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 203, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 188, + "local_register": 257, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 187, + "local_register": 258, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 85 + }, + { + "family": 1037, + "local_register": 225, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 1036, + "local_register": 226, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 5179, + "local_register": 229, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 5176, + "local_register": 232, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 5167, + "local_register": 241, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 5166, + "local_register": 242, + "route": [ + 3, + 8, + 21 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 10118, + "local_register": 257, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 10117, + "local_register": 258, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 86 + }, + { + "family": 8961, + "local_register": 225, + "route": [ + 3, + 12, + 30 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 8960, + "local_register": 226, + "route": [ + 3, + 12, + 30 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 8204, + "local_register": 229, + "route": [ + 3, + 13, + 35 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 220, + "local_register": 232, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 211, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 210, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 13306, + "local_register": 257, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 13305, + "local_register": 258, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 87 + }, + { + "family": 3805, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 3804, + "local_register": 226, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 1061, + "local_register": 229, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 1046, + "local_register": 232, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 1019, + "local_register": 241, + "route": [ + 3, + 13, + 35 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 1018, + "local_register": 242, + "route": [ + 3, + 13, + 35 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 993, + "local_register": 257, + "route": [ + 3, + 12, + 30 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 973, + "local_register": 258, + "route": [ + 3, + 12, + 31 + ], + "standalone_child_rank": 9, + "time": 88 + }, + { + "family": 10973, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 10972, + "local_register": 226, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 8229, + "local_register": 229, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 8214, + "local_register": 232, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 8187, + "local_register": 241, + "route": [ + 3, + 13, + 35 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 8186, + "local_register": 242, + "route": [ + 3, + 13, + 35 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 8161, + "local_register": 257, + "route": [ + 3, + 12, + 30 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 8141, + "local_register": 258, + "route": [ + 3, + 12, + 27 + ], + "standalone_child_rank": 9, + "time": 89 + }, + { + "family": 2011, + "local_register": 225, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 2010, + "local_register": 226, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 2007, + "local_register": 229, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 2004, + "local_register": 232, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 1995, + "local_register": 241, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 1994, + "local_register": 242, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 5238, + "local_register": 257, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 5237, + "local_register": 258, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 90 + }, + { + "family": 8973, + "local_register": 225, + "route": [ + 3, + 12, + 18 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 13316, + "local_register": 226, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 6117, + "local_register": 229, + "route": [ + 3, + 8, + 27 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 6114, + "local_register": 232, + "route": [ + 3, + 8, + 27 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 6105, + "local_register": 241, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 6104, + "local_register": 242, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 3086, + "local_register": 257, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 3085, + "local_register": 258, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 91 + }, + { + "family": 6419, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 6403, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 2895, + "local_register": 229, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 2892, + "local_register": 232, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 1045, + "local_register": 241, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 1022, + "local_register": 242, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 5185, + "local_register": 257, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 5184, + "local_register": 258, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 92 + }, + { + "family": 13587, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 13571, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 10040, + "local_register": 229, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 10037, + "local_register": 232, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 10028, + "local_register": 241, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 10027, + "local_register": 242, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 8226, + "local_register": 257, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 8225, + "local_register": 258, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 93 + }, + { + "family": 3804, + "local_register": 225, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 2899, + "local_register": 226, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 1066, + "local_register": 229, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 1028, + "local_register": 232, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 5213, + "local_register": 241, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 5212, + "local_register": 242, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 5197, + "local_register": 257, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 5196, + "local_register": 258, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 94 + }, + { + "family": 10972, + "local_register": 225, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 8974, + "local_register": 226, + "route": [ + 3, + 12, + 18 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 8221, + "local_register": 229, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 8102, + "local_register": 232, + "route": [ + 3, + 12, + 26 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 12427, + "local_register": 241, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 12426, + "local_register": 242, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 11527, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 11526, + "local_register": 258, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 95 + }, + { + "family": 6280, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 6279, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 6276, + "local_register": 229, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 1066, + "local_register": 232, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 1055, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 1054, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 1031, + "local_register": 257, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 1030, + "local_register": 258, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 96 + }, + { + "family": 13448, + "local_register": 225, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 13447, + "local_register": 226, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 13444, + "local_register": 229, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 8980, + "local_register": 232, + "route": [ + 3, + 12, + 18 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 8226, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 8225, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 8209, + "local_register": 257, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 8206, + "local_register": 258, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 97 + }, + { + "family": 6443, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 6392, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 6387, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 6383, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 6283, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 6282, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 1038, + "local_register": 257, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 1034, + "local_register": 258, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 98 + }, + { + "family": 13611, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 13560, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 13555, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 13551, + "local_register": 232, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 13451, + "local_register": 241, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 13450, + "local_register": 242, + "route": [ + 3, + 12, + 0 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 8215, + "local_register": 257, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 8212, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 99 + }, + { + "family": 1051, + "local_register": 225, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 1050, + "local_register": 226, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 1038, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 987, + "local_register": 232, + "route": [ + 3, + 12, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 978, + "local_register": 241, + "route": [ + 3, + 12, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 977, + "local_register": 242, + "route": [ + 3, + 12, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 949, + "local_register": 257, + "route": [ + 3, + 12, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 948, + "local_register": 258, + "route": [ + 3, + 12, + 39 + ], + "standalone_child_rank": 9, + "time": 100 + }, + { + "family": 10070, + "local_register": 225, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 10069, + "local_register": 226, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 10066, + "local_register": 229, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 10063, + "local_register": 232, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 10054, + "local_register": 241, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 10053, + "local_register": 242, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 8219, + "local_register": 257, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 8218, + "local_register": 258, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 101 + }, + { + "family": 6493, + "local_register": 225, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 6492, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 6480, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 6477, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 6443, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 6414, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 6275, + "local_register": 257, + "route": [ + 3, + 12, + 4 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 6274, + "local_register": 258, + "route": [ + 3, + 12, + 18 + ], + "standalone_child_rank": 9, + "time": 102 + }, + { + "family": 13661, + "local_register": 225, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 13660, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 13648, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 13645, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 13611, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 13582, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 13443, + "local_register": 257, + "route": [ + 3, + 12, + 4 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 13442, + "local_register": 258, + "route": [ + 3, + 12, + 18 + ], + "standalone_child_rank": 9, + "time": 103 + }, + { + "family": 6392, + "local_register": 225, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 6391, + "local_register": 226, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 6295, + "local_register": 229, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 6284, + "local_register": 232, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 2910, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 2909, + "local_register": 242, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 2828, + "local_register": 257, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 2827, + "local_register": 258, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 104 + }, + { + "family": 13560, + "local_register": 225, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 13559, + "local_register": 226, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 13463, + "local_register": 229, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 13452, + "local_register": 232, + "route": [ + 3, + 12, + 9 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 9182, + "local_register": 241, + "route": [ + 3, + 13, + 35 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 9180, + "local_register": 242, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 12429, + "local_register": 257, + "route": [ + 3, + 8, + 31 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 12428, + "local_register": 258, + "route": [ + 3, + 8, + 31 + ], + "standalone_child_rank": 9, + "time": 105 + }, + { + "family": 10248, + "local_register": 225, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 10247, + "local_register": 226, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 10244, + "local_register": 229, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 10241, + "local_register": 232, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 10232, + "local_register": 241, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 10231, + "local_register": 242, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 3116, + "local_register": 257, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 3115, + "local_register": 258, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 106 + }, + { + "family": 10078, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 10077, + "local_register": 226, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 10074, + "local_register": 229, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 10071, + "local_register": 232, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 10040, + "local_register": 241, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 10039, + "local_register": 242, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 10024, + "local_register": 257, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 10023, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 107 + }, + { + "family": 2843, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 2842, + "local_register": 226, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 2839, + "local_register": 229, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 2836, + "local_register": 232, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 7021, + "local_register": 241, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 7020, + "local_register": 242, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 11095, + "local_register": 257, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 11094, + "local_register": 258, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 108 + }, + { + "family": 9180, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 8974, + "local_register": 226, + "route": [ + 3, + 12, + 35 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 14205, + "local_register": 229, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 14202, + "local_register": 232, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 14193, + "local_register": 241, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 14192, + "local_register": 242, + "route": [ + 3, + 8, + 9 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 12085, + "local_register": 257, + "route": [ + 3, + 15, + 5 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 12084, + "local_register": 258, + "route": [ + 3, + 15, + 5 + ], + "standalone_child_rank": 9, + "time": 109 + }, + { + "family": 2845, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 7055, + "local_register": 226, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 7052, + "local_register": 229, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 7049, + "local_register": 232, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 7040, + "local_register": 241, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 7039, + "local_register": 242, + "route": [ + 3, + 8, + 13 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 11172, + "local_register": 257, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 11171, + "local_register": 258, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 110 + }, + { + "family": 2014, + "local_register": 225, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 2013, + "local_register": 226, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 2010, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 2007, + "local_register": 232, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 1998, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 1997, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 14138, + "local_register": 257, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 14137, + "local_register": 258, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 111 + }, + { + "family": 13316, + "local_register": 225, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 13315, + "local_register": 226, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 13312, + "local_register": 229, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 13309, + "local_register": 232, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 13300, + "local_register": 241, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 13299, + "local_register": 242, + "route": [ + 3, + 8, + 31 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 13277, + "local_register": 257, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 13276, + "local_register": 258, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 112 + }, + { + "family": 9179, + "local_register": 225, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 8972, + "local_register": 226, + "route": [ + 3, + 12, + 39 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 14212, + "local_register": 229, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 14172, + "local_register": 232, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 14162, + "local_register": 241, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 14161, + "local_register": 242, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 14146, + "local_register": 257, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 14145, + "local_register": 258, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 113 + }, + { + "family": 6486, + "local_register": 225, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 6485, + "local_register": 226, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 6442, + "local_register": 229, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 6412, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 6398, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 6397, + "local_register": 242, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 10074, + "local_register": 257, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 10073, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 114 + }, + { + "family": 13654, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 13653, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 13610, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 13580, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 13566, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 13565, + "local_register": 242, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 14215, + "local_register": 257, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 11007, + "local_register": 258, + "route": [ + 3, + 14, + 9 + ], + "standalone_child_rank": 9, + "time": 115 + }, + { + "family": 10019, + "local_register": 225, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 10018, + "local_register": 226, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 10015, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 10012, + "local_register": 232, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 2903, + "local_register": 241, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 2902, + "local_register": 242, + "route": [ + 3, + 13, + 18 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 2887, + "local_register": 257, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 2886, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 116 + }, + { + "family": 14223, + "local_register": 225, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 14222, + "local_register": 226, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 14219, + "local_register": 229, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 14216, + "local_register": 232, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 14177, + "local_register": 241, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 14176, + "local_register": 242, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 5710, + "local_register": 257, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 5709, + "local_register": 258, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 117 + }, + { + "family": 2836, + "local_register": 225, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 2835, + "local_register": 226, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 2832, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 2829, + "local_register": 232, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 2820, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 7039, + "local_register": 242, + "route": [ + 3, + 8, + 22 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 7024, + "local_register": 257, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 7023, + "local_register": 258, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 118 + }, + { + "family": 14210, + "local_register": 225, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 14209, + "local_register": 226, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 14206, + "local_register": 229, + "route": [ + 3, + 8, + 26 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 14203, + "local_register": 232, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 14194, + "local_register": 241, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 14193, + "local_register": 242, + "route": [ + 3, + 8, + 30 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 14168, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 14167, + "local_register": 258, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 119 + }, + { + "family": 3804, + "local_register": 225, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 2888, + "local_register": 226, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 2885, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 2882, + "local_register": 232, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 2873, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 2872, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 2857, + "local_register": 257, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 2856, + "local_register": 258, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 120 + }, + { + "family": 10972, + "local_register": 225, + "route": [ + 3, + 13, + 31 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 14211, + "local_register": 226, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 14208, + "local_register": 229, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 14205, + "local_register": 232, + "route": [ + 3, + 8, + 35 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 14196, + "local_register": 241, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 14195, + "local_register": 242, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 14180, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 14179, + "local_register": 258, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 121 + }, + { + "family": 6414, + "local_register": 225, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 6410, + "local_register": 226, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 6294, + "local_register": 229, + "route": [ + 3, + 12, + 12 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 6273, + "local_register": 232, + "route": [ + 3, + 12, + 26 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 2903, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 2902, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 7038, + "local_register": 257, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 7037, + "local_register": 258, + "route": [ + 3, + 8, + 39 + ], + "standalone_child_rank": 9, + "time": 122 + }, + { + "family": 13582, + "local_register": 225, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 13578, + "local_register": 226, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 13462, + "local_register": 229, + "route": [ + 3, + 12, + 12 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 13441, + "local_register": 232, + "route": [ + 3, + 12, + 26 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 10071, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 10070, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 10055, + "local_register": 257, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 10054, + "local_register": 258, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 123 + }, + { + "family": 13728, + "local_register": 225, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13727, + "local_register": 226, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13724, + "local_register": 229, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13721, + "local_register": 232, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13712, + "local_register": 241, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13711, + "local_register": 242, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13696, + "local_register": 257, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13695, + "local_register": 258, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 124 + }, + { + "family": 13665, + "local_register": 225, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 6587, + "local_register": 226, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 6584, + "local_register": 229, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 6581, + "local_register": 232, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 6547, + "local_register": 241, + "route": [ + 3, + 14, + 5 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 6523, + "local_register": 242, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 12925, + "local_register": 257, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 12924, + "local_register": 258, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 125 + }, + { + "family": 6491, + "local_register": 225, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 6466, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 6463, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 6460, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 6451, + "local_register": 241, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 6450, + "local_register": 242, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 13860, + "local_register": 257, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 13859, + "local_register": 258, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 126 + }, + { + "family": 13585, + "local_register": 225, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 13584, + "local_register": 226, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 10973, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 13682, + "local_register": 232, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 13673, + "local_register": 241, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 13672, + "local_register": 242, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 12967, + "local_register": 257, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 12966, + "local_register": 258, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 127 + }, + { + "family": 6440, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 6439, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 6436, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 6433, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 4863, + "local_register": 241, + "route": [ + 3, + 15, + 5 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 4862, + "local_register": 242, + "route": [ + 3, + 15, + 5 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 4847, + "local_register": 257, + "route": [ + 3, + 15, + 5 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 4846, + "local_register": 258, + "route": [ + 3, + 15, + 5 + ], + "standalone_child_rank": 9, + "time": 128 + }, + { + "family": 13608, + "local_register": 225, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 13607, + "local_register": 226, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 13604, + "local_register": 229, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 13601, + "local_register": 232, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 6680, + "local_register": 241, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 6679, + "local_register": 242, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 12077, + "local_register": 257, + "route": [ + 3, + 15, + 14 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 12063, + "local_register": 258, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 129 + }, + { + "family": 5820, + "local_register": 225, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 5819, + "local_register": 226, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 5816, + "local_register": 229, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 5813, + "local_register": 232, + "route": [ + 3, + 15, + 0 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 5804, + "local_register": 241, + "route": [ + 3, + 15, + 4 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 5803, + "local_register": 242, + "route": [ + 3, + 15, + 4 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 4864, + "local_register": 257, + "route": [ + 3, + 15, + 14 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 4863, + "local_register": 258, + "route": [ + 3, + 15, + 14 + ], + "standalone_child_rank": 9, + "time": 130 + }, + { + "family": 6607, + "local_register": 225, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 6606, + "local_register": 226, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 6603, + "local_register": 229, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 6600, + "local_register": 232, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 6591, + "local_register": 241, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 6590, + "local_register": 242, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 12860, + "local_register": 257, + "route": [ + 3, + 14, + 14 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 12830, + "local_register": 258, + "route": [ + 3, + 14, + 0 + ], + "standalone_child_rank": 9, + "time": 131 + }, + { + "family": 6490, + "local_register": 225, + "route": [ + 3, + 13, + 12 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 6489, + "local_register": 226, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 6483, + "local_register": 229, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 6480, + "local_register": 232, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 6471, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 6470, + "local_register": 242, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 6455, + "local_register": 257, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 6454, + "local_register": 258, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 132 + }, + { + "family": 13658, + "local_register": 225, + "route": [ + 3, + 13, + 12 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 13657, + "local_register": 226, + "route": [ + 3, + 13, + 4 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 13651, + "local_register": 229, + "route": [ + 3, + 13, + 8 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 13648, + "local_register": 232, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 13639, + "local_register": 241, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 13638, + "local_register": 242, + "route": [ + 3, + 13, + 9 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 13623, + "local_register": 257, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 13622, + "local_register": 258, + "route": [ + 3, + 13, + 0 + ], + "standalone_child_rank": 9, + "time": 133 + }, + { + "family": 6490, + "local_register": 225, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 6487, + "local_register": 226, + "route": [ + 3, + 13, + 12 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 6467, + "local_register": 229, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 6447, + "local_register": 232, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 6427, + "local_register": 241, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 6425, + "local_register": 242, + "route": [ + 3, + 13, + 12 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 6404, + "local_register": 257, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 6403, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 134 + }, + { + "family": 13658, + "local_register": 225, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13655, + "local_register": 226, + "route": [ + 3, + 13, + 12 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13635, + "local_register": 229, + "route": [ + 3, + 13, + 17 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13615, + "local_register": 232, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13595, + "local_register": 241, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13593, + "local_register": 242, + "route": [ + 3, + 13, + 12 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13572, + "local_register": 257, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13571, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 135 + }, + { + "family": 13455, + "local_register": 225, + "route": [ + 3, + 12, + 21 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13865, + "local_register": 226, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13862, + "local_register": 229, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13859, + "local_register": 232, + "route": [ + 3, + 15, + 9 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13850, + "local_register": 241, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13849, + "local_register": 242, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13834, + "local_register": 257, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13833, + "local_register": 258, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 136 + }, + { + "family": 13659, + "local_register": 225, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 13634, + "local_register": 226, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 13631, + "local_register": 229, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 13628, + "local_register": 232, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 13619, + "local_register": 241, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 13618, + "local_register": 242, + "route": [ + 3, + 13, + 13 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 6707, + "local_register": 257, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 6706, + "local_register": 258, + "route": [ + 3, + 15, + 13 + ], + "standalone_child_rank": 9, + "time": 137 + }, + { + "family": 6494, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 6493, + "local_register": 226, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 6488, + "local_register": 229, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 6485, + "local_register": 232, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 6474, + "local_register": 241, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 6473, + "local_register": 242, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 6458, + "local_register": 257, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 6457, + "local_register": 258, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 138 + }, + { + "family": 13662, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 13661, + "local_register": 226, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 13656, + "local_register": 229, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 13653, + "local_register": 232, + "route": [ + 3, + 13, + 21 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 13642, + "local_register": 241, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 13641, + "local_register": 242, + "route": [ + 3, + 13, + 26 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 13626, + "local_register": 257, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 13625, + "local_register": 258, + "route": [ + 3, + 13, + 22 + ], + "standalone_child_rank": 9, + "time": 139 + }, + { + "family": 6490, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 6489, + "local_register": 226, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 6486, + "local_register": 229, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 6483, + "local_register": 232, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 6429, + "local_register": 241, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 6427, + "local_register": 242, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 6389, + "local_register": 257, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 6388, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 140 + }, + { + "family": 13658, + "local_register": 225, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 13657, + "local_register": 226, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 13654, + "local_register": 229, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 13651, + "local_register": 232, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 13597, + "local_register": 241, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 13595, + "local_register": 242, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 13557, + "local_register": 257, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 13556, + "local_register": 258, + "route": [ + 3, + 13, + 30 + ], + "standalone_child_rank": 9, + "time": 141 + }, + { + "family": 6494, + "local_register": 225, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 6493, + "local_register": 226, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 6490, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 6487, + "local_register": 232, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 6478, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 6477, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 6462, + "local_register": 257, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 6461, + "local_register": 258, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 142 + }, + { + "family": 13662, + "local_register": 225, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + }, + { + "family": 13661, + "local_register": 226, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + }, + { + "family": 13658, + "local_register": 229, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + }, + { + "family": 13655, + "local_register": 232, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + }, + { + "family": 13646, + "local_register": 241, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + }, + { + "family": 13645, + "local_register": 242, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + }, + { + "family": 13630, + "local_register": 257, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + }, + { + "family": 13629, + "local_register": 258, + "route": [ + 3, + 13, + 39 + ], + "standalone_child_rank": 9, + "time": 143 + } + ], + "status": "PASS_CONDITIONAL_HOSTING_PATCH_INVENTORY", + "template_compressed_sha256": "2acf02b418078e37090495c601fe550448751d4f35912757b13a1f778efc7760", + "template_member": "candidate/strict/global/hosted/GLOBAL-TEMPLATE.json.gz" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/ONE-SHOT-MAX48.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/ONE-SHOT-MAX48.json new file mode 100644 index 0000000000..71d395a437 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/ONE-SHOT-MAX48.json @@ -0,0 +1,277 @@ +{ + "additional_arrays_or_clean_values": 0, + "admission_margin": 721, + "conditional_child_profile_delta": { + "8": -640, + "9": 1152, + "16": 512, + "24": 256, + "32": 256, + "40": 256, + "48": 768 + }, + "conditional_excess_rank_saved_per_replica": 576, + "conditional_paid_rank_delta": 74880, + "conditional_physical_family_count": 15978, + "conditional_productive_rank_delta": 84096, + "full_mode_program_payload_sha256": "f271842a741584389e166e700e262f161b0dd570ce8c7a540f2717e90ead5205", + "literal_factorization": "F_(A disjoint_union B)=F_A F_B, including native normalization and phase", + "max_child_rank": 48, + "mode_content_map_changed": false, + "new_boundary_scalar_accesses": 0, + "one_shot_source_receipt_sha256": "47218d29f69103b0ca876f1a31ebec24651e6d0078077a5b92a49b9a5d9369a4", + "preparation_outer_monomial_maps_changed": false, + "scope": "An exact native child plan and conditional invoice compatible with the inherited maximum rank48. A complete global emitter, boundary content repair, finite cost, and supplier admission remain separate obligations.", + "stages": [ + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 9, + "rank": 48 + }, + { + "first_coordinate": 57, + "rank": 16 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 0 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 17, + "rank": 48 + }, + { + "first_coordinate": 65, + "rank": 8 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 8 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 1 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 25, + "rank": 48 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 16 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 2 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 33, + "rank": 40 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 24 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 3 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 41, + "rank": 32 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 32 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 4 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 49, + "rank": 24 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 40 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 5 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 57, + "rank": 16 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 48 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 6 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [ + { + "first_coordinate": 65, + "rank": 8 + } + ], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 48 + }, + { + "first_coordinate": 48, + "rank": 8 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 7 + }, + { + "active": { + "rank": 9, + "source": "Retained FULL-MODE word" + }, + "completion": { + "children_in_execution_order": [], + "coordinate_system": "The original future coordinate axes" + }, + "mode_copies_all_replicas": 128, + "preparation": { + "children_in_execution_order": [ + { + "first_coordinate": 0, + "rank": 48 + }, + { + "first_coordinate": 48, + "rank": 16 + } + ], + "coordinate_system": "The preparation B coordinates from the reviewed G_previous recipe", + "outer_recipe": "P_B P_Gram D_+ [product of the listed native F children] D_+ P_B^-1" + }, + "stage": 8 + } + ], + "status": "PASS_EXACT_ONE_SHOT_MAX48_CHILD_PLAN" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz new file mode 100644 index 0000000000..062c7d83df Binary files /dev/null and b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz differ diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/WALSH-MODE-PROOF.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/WALSH-MODE-PROOF.md new file mode 100644 index 0000000000..c04f3b846b --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/history-encoding/WALSH-MODE-PROOF.md @@ -0,0 +1,285 @@ +# Mode transport in the growing Walsh frame + +This note gives two explicit monomial adapters for each call of the +full-output promoted-mode word. The adapters put each of its eight modes +in a canonical frame on the completed axes. They use the existing +nine-axis output of that mode. They add no recursive child. The result +includes the mixed data-to-mode and mode-to-data maps; it is not only an +endpoint rank calculation. A controller that restores the contents of +all data and mode families is still required. + +## Conventions and source + +All binary vectors use the standard dot product. An address map has +columns `A` and acts by `P_A|x> = |Ax>`. Operators act from right to left. +Let + + C_q = ((1+i)I + (1-i)X_q)/2. + +On a coordinate space `W`, `F_W` is the product of its coordinate `C` +operators. Thus `F_W` is the compiler's native transform, including its +phase. Write `omega_W` for the sum of the coordinate vectors. + +For odd-dimensional `W`, let `G_W` be the normalized Walsh transform on +the even space `omega_W-perp`, with the identity on the characteristic +line. In this note all dimensions are `1 mod 8`. The exact identity is + + C_(omega_W) G_W = Z_W F_W Z_W, + Z_W|x> = (-1)^(sum_(i. + +The common-line identity and the native rank-eight/rank-nine recipes are +also checked in the residual-syndrome, root, and interface-proof lanes. +This note uses their canonical Walsh frame, then supplies the input and +output adapters needed by the actual promoted-mode circuit. + +The base word is `FULL-MODE-PROGRAMS.json.gz`, with decompressed payload +SHA-256 + + f271842a741584389e166e700e262f161b0dd570ce8c7a540f2717e90ead5205. + +It has 112 old source wires, 112 old target wires, eight arbitrary mode +wires, and 472 arbitrary ordinary helpers. Its logical forward map is + + x' = x, + y' = y + (I-P)x - Ku, + u' = -u - 2Rx, + h' = h, + +where `K=R^T/4`, `P=KR`, and `RR^T=56I`. The backward map is + + x' = x - (I+P)y - 8Ku, + y' = y, + u' = -u - Ry/4, + h' = h. + +Each mode enters the local identity frame and leaves `F_local`. All 472 +ordinary helpers are restored before the output adapter. The exact +704-column replay, scalar frame checks, and native event checks are in +`FULL-MODE-PORT-REVIEW.json` in the interface-proof lane. + +## Literal adapters + +At stage `s=0,...,8`, put + + n = 8s, m = n+1, N = n+9. + +The previous completed space has dimension `m`, and the current one has +dimension `N`. Stage zero uses a one-dimensional previous space and +`G_previous=I`. Let `o` and `w` be their characteristic vectors. + +Choose the basis + + h_i = e_i + e_n, 0 <= i < n, + B = [h_0,...,h_(n-1), o, e_(n+1),...,e_(n+8)]. + +The first `n` columns span the old even space. Their Gram matrix is +`B_H=I_n+11^T`, which satisfies `B_H^2=I_n`, since `n` is even. +The last nine columns are an orthonormal basis of its perpendicular +complement. + +Let `P_E` move the first `n` coordinates to positions `9,...,N-1` and the +last nine coordinates to positions `0,...,8`. Define + + A = P_E B^-1, + q(z) = sum_(0<=i = i^wt(z_exterior) (-1)^q(z_local)|z>, + D_-|z> = i^-wt(z_exterior) (-1)^q(z_local)|z>, + M = D_+ P_A, + A_in = D_- P_(P_E diag(B_H,I_9) B^-1), + B_out = P_(A^T) D_+. + +In particular, `M` includes the stated phase. It is not only `P_A`. +The receipt lists every address matrix by its columns, and states the +phase and order for each map. Each adapter is an invertible address +permutation followed or preceded by phases from `{1,-1,i,-i}`. + +Let `F_exterior` be the native transform on local positions `9,...,N-1`. +Then + + A_in G_previous = F_exterior M, (1) + B_out F_local F_exterior M = C_w G_current. (2) + +These identities include their global phases. + +For (1), write the old even-space input in coordinates `t`, the local +nine-coordinate input as `ell`, and the exterior output as `v`. Both +kernels have normalization `2^(-n/2)`. Their phase equality modulo four +is + + 2(t dot v) - wt(v) + 2q(ell) + = wt(t) - wt(t xor v) + 2q(ell). + +The Gram factor in `A_in` is needed for this pairing. The native exterior +global phase is one, since `n` is a multiple of eight. + +For (2), write `z=Ax` and `z'=A^-T y`. The two characteristic identities + + A w = omega_local, A^T omega_local = w + +give `parity(z_local)=parity(x)` and +`parity(z'_local)=parity(y)`. Also `z dot z'=x dot y`. The native kernel +has phase + + D_+(z) D_+(z') (-i)^(wt(z)+wt(z')) (-1)^(z dot z') + = (-i)^(parity(x)+parity(y)) (-1)^(x dot y). + +Its coefficient is `(1+i)/2^((N+1)/2)`, since `N=1 mod 8`. This is the +kernel of `C_w G_current`, with no omitted scalar phase. + +## Alternating types + +Use mode types + + T_previous^a = C_o^a G_previous, + T_current^b = C_w^b G_current. + +Set `a=s mod 2` and `b=1-a`. Start with `T_previous^0=I` at stage zero. +For `a=0`, use the adapters just stated. For `a=1`, append the following +monomial map to `B_out`: + + h = w+o, + L|x> = (-i)^(h dot x) |x + (1+h dot x)w>. + +The vector `h` is even, so `h dot w=0`. The common-line identity gives + + L B_out F_local A_in (C_o G_previous) = G_current. + +Consequently, with `B_(s,a)=B_out` for `a=0` and `L B_out` for `a=1`, + + B_(s,a) F_local A_in T_previous^a = T_current^(1-a). (3) + +The extra map `L` composes with the output adapter. Each call therefore +still needs only two added monomial maps per mode. The ninth output type +is `C_(omega_73) G_73`. + +The one-dimensional factor remains explicit in the mixed access: + + E_s = F_exterior^-1 A_in T_previous^a = M C_o^a. (4) + +Thus the mixed access contains a monomial operator when `a=0`, and a +monomial operator times one `C` line when `a=1`. It does not contain an +unpriced Walsh query on all completed axes. Equation (4) is an identity +used to state the contents. The implementation runs the original local +word between the two monomial adapters; it does not separately run +`C_o`, `G_previous`, or `F_exterior`. + +## Binding to the actual mixed ports + +Let `D_p` be the actual supplier router for the 112 old ports at this +stage. In a local call of cover class `d`, take the eight mode owners +from that same cover class `d`. Conjugate the within-array adapters above +by `d`. This needs no new orthogonal cover generator and no change to an +old port route. + +In these local coordinates, the old target bank and the normalized old +source bank have common background `F_exterior`. Equation (1), or its +typed version (4), puts each adapted mode in the same background with +logical content `E_s u`. Thus every scalar gate of the old 704-register +word remains legal. This statement holds for arbitrary old data, modes, +and ordinary helper inputs. + +Strip the stated data frames and the new mode output frame. The exact +forward update is + + x' = x, + y' = y + (I-D_p^-1 P D_p)x - D_p^-1 K E_s u, + u' = -u - 2E_s^-1 R D_p x. + +The exact backward update is + + x' = x - (I+D_p^-1 P D_p)y - 8D_p^-1 K E_s u, + y' = y, + u' = -u - E_s^-1 R D_p y/4. + +The first equation uses the actual phase-correct old entry and exit +frames. The mode equation uses (3) to cancel its background. Every +ordinary helper is restored by the base word before its own old endpoint +operation; the new adapters touch only the eight mode families. + +The mode map `P_A` is a general invertible binary address map. No claim +is made that the nine-dimensional chart extends to an orthogonal chart +of all 73 axes. Such an extension can fail at the final stage. Within-array +monomial operations remove the need for that extension. + +The forward and backward content maps with the same `E_s` need not be +inverse transposes, because `M` has nonreal phases. An explicit rank-zero +mode conjugation repairs this if a controller requires the dual pair. +Put + + ell = A^T omega_exterior, + Q_s = Z_ell X_o^a. + +Here `ell dot o=0`, and direct multiplication gives + + E_s^T E_s = Q_s, E_s^-T = E_s Q_s. + +Conjugate the backward logical mode coordinates by `Q_s` at both ends. +The resulting content map is the inverse transpose of the forward map. +The physical input repair is `X_(ell+a o)`. The physical output repair is +`X_(ell+a w) Z_(a h)`, where `h=w+o`. The independent kernel and Pauli +review in `temporal-reuse/GROWING-MODE-LIFT-REVIEW.json` checks that no +extra scalar phase is needed. Both maps can compose with the existing +adapters. This repair does not replace the obligation to compose the full +changing-stage controller. + +## Endpoint and invoice + +The bare nine-stage mode product is `C_(omega_73)G_73=Z_73 F_73 Z_73`. +Apply `Z_73` to each new mode family before the first call and after the +last call. If the content controller restores the initial logical mode +value `Z_73 h`, the physical mode output is exactly `F_73 h` for arbitrary +input `h`. The preparation is invertible and does not require a clean +mode. + +For 16 replicas with eight modes each, the adapters add 2,304 monomial +maps across all 144 calls, and the boundary chirps add 256 maps. Each map +has explicit binary-linear addresses and phases from `{1,-1,i,-i}`. It +can be applied in place by binary elementary address permutations and +pointwise phases, with one coefficient of temporary storage. Its finite +address and scalar work must be included when the global implementation +is emitted. No extra array, clean state, or recursive child is assumed. + +The local paid rank mass remains 5,522. The conditional owner patch from +`HOSTING-PATCH.json` retains all original old-family jobs, adds 128 mode +families, and replaces the 1,152 displaced width-nine helper jobs with +their exact old native operations at the same invocation. The complete +child-profile change is still + + {8:-1152, 9:+1152}. + +This increases paid rank by 1,152 and productive output rank by 9,344. +The difference is 512 per replica. This is a conditional invoice. It is +not a supplier certificate or a kappa result: the coupled content +controller, its legal boundary operations, and its finite work remain +open. + +## Exact check + +`check_walsh_mode_adapters.py` pins the full-mode word, emits all nine +address recipes, verifies all address inverses and characteristic +vectors, and verifies the phase identities by extracting every +coefficient of their explicit quadratic polynomials modulo four. It also +checks the controlled phase in the alternating output correction. The +result is `WALSH-MODE-ADAPTERS.json`. + +Run: + +```text +python3 -I -O -B work/centre-encoding-campaign-20261014/lanes/history-encoding/check_walsh_mode_adapters.py --program work/centre-encoding-campaign-20261014/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz --out work/centre-encoding-campaign-20261014/lanes/history-encoding/WALSH-MODE-ADAPTERS.json +``` + +The expected first line is + +```text +PASS_EXACT_GROWING_WALSH_MODE_ADAPTERS +``` + +The checker proves these finite-dimensional operator identities. Their +tensor powers give the same identities for every positive tensor size. +The independent physical-block and phase review in +`temporal-reuse/GROWING-MODE-LIFT-REVIEW.json` passed. It uses separate +exact kernels, checks the full first-call kernel, and includes the mode +duality repair. A second separate review passed in +`interface-proof/WALSH-MODE-REVIEW.json`, including the literal address +columns, global phases, and transpose repair. No global content closure +is claimed by these checks. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json new file mode 100644 index 0000000000..54e9544696 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json @@ -0,0 +1,51 @@ +{ + "actual_data_owner_routes": 32256, + "actual_invocations": 144, + "archive_sha256": "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6", + "data_phase_recipe_sha256": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "displaced_jobs": 1152, + "distinct_displaced_live_families": 973, + "eight_target_modes": { + "child_delta": { + "1": 1280, + "8": -1152, + "9": 1152 + }, + "new_physical_families": 14954, + "paid_rank_delta": 2432, + "productive_rank_delta": 9344 + }, + "four_bank_round_robin_conditional_only": { + "active_counts_per_bank": [ + 3, + 2, + 2, + 2 + ], + "child_delta": { + "1": 384, + "8": 2304, + "9": 1152 + }, + "inactive_rank8_jobs": 3456, + "new_physical_families": 15338, + "paid_rank_delta": 29184, + "productive_minus_paid_rank_delta": 8192, + "productive_rank_delta": 37376, + "rank1_final_closures": 384 + }, + "maximum_resident_bytes": 170606592, + "not_checked": [ + "A routed scalar controller", + "Mode content closure", + "The global emitted program", + "The full recurrence and kappa", + "Private workspace reuse or reduction" + ], + "old_physical_families": 14826, + "producer_receipt_sha256": "d095384882575475c0a99a424acef3eadf36c56e3c2ae466fadfac72cceb0823", + "retained_owner_slots": 100224, + "scope": "Exact owner inventory, collision-free stock replacement, and conditional child counts", + "status": "PASS_INDEPENDENT_CONDITIONAL_OWNER_INVENTORY", + "template_compressed_sha256": "2acf02b418078e37090495c601fe550448751d4f35912757b13a1f778efc7760" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md new file mode 100644 index 0000000000..b84b835b17 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md @@ -0,0 +1,50 @@ +# Review of the conditional mode-owner patch + +The owner inventory in the history-encoding lane passes an independent +check against the selected 1094 hosted template. The archive SHA-256 is +`f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6`. +The compressed template SHA-256 is +`2acf02b418078e37090495c601fe550448751d4f35912757b13a1f778efc7760`. + +`review_hosting_patch.py` checks all 144 invocation positions and all 1,152 +displaced jobs. For each job it compares the actual call owner with the +separate pooled-slot record, including the child number, offset, and width. +All displaced jobs have width nine and lie on 973 live physical families. +Each displaced family has no other role in its invocation. + +The eight old helper positions have the full nine-axis native endpoint. +A stand-alone rank-nine child on the same family and route can therefore +replace their native productive work. It can run immediately after the +modified invocation, before the next old execution event. The new modes +occupy different families, and the 472 retained helper owners are unchanged. +This preserves the old idle obligations and the chronological position of +every backfill operation. It does not establish the new data controller. + +For eight permanent target modes per replica, the conditional stock is +14,954 families and the child-profile change is + + {1:+1280, 8:-1152, 9:+1152}. + +The paid rank increases by 2,432. Productive rank increases by 9,344 only +if the new controller supplies the full required output on all 128 modes. + +For four banks of eight raw modes, a round-robin assignment has active +counts (3,2,2,2) over nine calls. The 24 inactive modes per call require +3,456 rank-eight advances across all replicas. The native endpoint phase +requires 24 rank-one closures per replica for this assignment, hence 384 +closures in total. Under those endpoint assumptions the conditional stock +is 15,338 and the profile change is + + {1:+384, 8:+2304, 9:+1152}. + +This increases paid rank by 29,184 and productive rank by 37,376. The +difference of 8,192 is a conditional rank inventory, not a recurrence root. +The round-robin assignment passes the family-collision check. It is not an +emitted or verified scalar controller. + +`HOSTING-PATCH-REVIEW.json` records the exact checks and limitations. The +review ran with `python3 -I -O -B` and used less than 200 MB of memory. +It did not run global native replay, calculate kappa, or reduce private +workspace. All old physical families and idle obligations remain in this +conditional inventory. The history-encoding lane supplied the owner patch. +This work used substantial OpenAI Codex assistance and agent review. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json new file mode 100644 index 0000000000..5ddc571c74 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json @@ -0,0 +1,132 @@ +{ + "conditional_added_mode_families": 1152, + "conditional_child_profile_delta": { + "8": -896, + "9": 1152, + "16": 256, + "24": 256, + "32": 256, + "40": 256, + "48": 256, + "56": 256, + "64": 256 + }, + "conditional_excess_rank_saved_per_replica": 576, + "conditional_paid_rank_delta": 74880, + "conditional_physical_stock": 15978, + "conditional_productive_rank_delta": 84096, + "limits": [ + "No coupled mode/data content restoration", + "No admission of the new recursive child jobs", + "No complete finite scalar/address invoice or supplier/kappa claim" + ], + "literal_adapter_receipt_sha256": "c8ea223ddd139387bbed17ef6dc1175324cec3e4e5431f834e121dc35dcb9bbd", + "logical_decoder": "N_s=M_s Z_s", + "logical_encoder": "N_s^-1=Z_s M_s^-1", + "physical_decoder": "F73 N_s F73^-1=B_s^-1 Z_s", + "physical_encoder": "F73 N_s^-1 F73^-1=Z_s B_s", + "raw_to_standardized_content": "u_in=Z_s h; z_out=Z_s u_out", + "scope": "Exact arbitrary-input endpoint, all phases, literal monomial access in both empty and full frames, and complete native rank inventory", + "stages": [ + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 64, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 0, + "stage": 0, + "width": 9 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 56, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 8, + "stage": 1, + "width": 17 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 48, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 16, + "stage": 2, + "width": 25 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 40, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 24, + "stage": 3, + "width": 33 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 32, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 32, + "stage": 4, + "width": 41 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 24, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 40, + "stage": 5, + "width": 49 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 16, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 48, + "stage": 6, + "width": 57 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 8, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 56, + "stage": 7, + "width": 65 + }, + { + "active_rank": 9, + "complete_rank": 73, + "completion_rank": 0, + "full_73_axis_kernel_phase_cases": 10732, + "input_mode_type": 0, + "inverse_monomial_phase_cases": 2702, + "preparation_rank": 64, + "stage": 8, + "width": 73 + } + ], + "status": "PASS_INDEPENDENT_ONE_SHOT_MODE_ENDPOINT" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md new file mode 100644 index 0000000000..84cab0781c --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md @@ -0,0 +1,156 @@ +# A complete native endpoint for one mode cohort + +The one-shot mode endpoint proposed by the history-encoding and +encoded-controller lanes passes independent review. It works on arbitrary +initial mode contents. It gives legal monomial access to the mode decoder +both before native processing and after the full 73-axis transform. It +does not restore the contents changed by the coupled active call. + +The source adapters and their exact phases are pinned in +`WALSH-MODE-ADAPTERS-SOURCE.json`. Their payload and the underlying raw +mode primitive are specified in `WALSH-MODE-REVIEW.md`. This proof uses +that independently checked mixed interface. + +## Preparation, active call, and completion + +At stage s, let `N=9+8s` and `m=1+8s`. Let Z_s be the quadratic sign +`(-1)^sum_(i2*r_max^2`. The unsplit rank-56 and rank-64 jobs do not meet it. +There is an exact rank-count repair: split the coordinate F_56 in each +preparation or tail into disjoint F_48 and F_8 children, and split F_64 +into disjoint F_48 and F_16 children. The enclosing monomial maps stay the same. +The new maximum rank is 48, so the displayed inequality then holds. This +factorization preserves the endpoints and the rank sum, but adds recursive +calls. Their routing, admission, and changed recurrence moment must be +charged. The native rank sum alone does not price this repair. +These splits minimize the concave moment among coordinate splits with +maximum rank 48: for fixed total rank, a concave power sum is least when +the parts are as unequal as the upper bound permits. + +## The exact contents and their access maps + +Put `N_s=M_s Z_s`. Its inverse is `Z_s M_s^-1`. In the notation of the +reviewed mixed map, set + + A_s=D_p^-1 K N_s, + B_s^content=N_s^-1 R D_p, + P_s=D_p^-1 P D_p. + +Here B_s without the superscript remains the native output adapter. +The forward contents are + + x'=x, + y'=y+(I-P_s)x-A_s h, + z'=-h-2 B_s^content x. + +The backward contents are + + x'=x-(I+P_s)y-8 A_s h, + y'=y, + z'=-h-B_s^content y/4. + +The order of N_s is required: its Z_s acts first. All 472 ordinary helpers +are restored by the unchanged active primitive. The preparation and +completion operate only on this mode cohort. + +The already checked adapter identity is + + B_s F_N M_s=Z_s F_N Z_s. + +It gives + + F_73 N_s F_73^-1=B_s^-1 Z_s, + F_73 N_s^-1 F_73^-1=Z_s B_s. + +The extension from N to 73 is valid because every factor is the identity +on the future axes. These are exact monomial maps, including their +phases. Thus both N_s and its inverse can be used at the empty frame and +the final full frame without a recursive conversion child. The result +does not make every old-data source query monomial. + +There is also a simple complex transpose correction if a controller +needs it. In the one-shot coordinates, `N_s^T N_s=Z_ell`, where +`ell=(1<<(8s))-1`. Its two physical repairs are Z_ell at the empty frame +and `X_ell Z_ell` at the full frame. The scalar phase in the latter is +one because ell has weight 8s. This follows from the more general repair +in `WALSH-MODE-REVIEW.md`; it changes no recursive rank count. + +## Independent checks and conditional invoice + +Run: + +```sh +python3 -I -O -B work/centre-encoding-campaign-20261014/lanes/interface-proof/review_one_shot_modes.py +``` + +The expected output is `PASS_INDEPENDENT_ONE_SHOT_MODE_ENDPOINT`. For +each of the nine stages, it reconstructs both kernels of +`F_73 N_s=(B_s^-1 Z_s) F_73` from the literal address columns and native +Gaussian coefficients. It checks all 10,732 coefficients in a complete +quadratic phase witness on the two 73-bit kernel coordinates. It also +checks the literal inverse monomials, the preparation's global phase, +and the complete native rank count. No producer phase expressions are +imported. All requirements remain active under `-O`. + +For a new eight-mode cohort at every call, there are 72 new mode families +per replica and 1,152 over the 16 replicas. Add the independently checked +old width-nine owner backfill. The conditional child profile change is + + {8:-896, 9:1152, 16:256, 24:256, 32:256, + 40:256, 48:256, 56:256, 64:256}. + +Its paid rank change is 74,880. If every new mode is a valid full output, +its productive rank change is 84,096. The difference is 9,216, or 576 +per replica. The resulting physical stock would be 15,978. These counts +include all displayed preparations, completions, and displaced old jobs. + +With the optional split just described, replace the 256 jobs of rank 56 +by 256 jobs each of ranks 48 and 8, and replace the 256 jobs of rank 64 +by 256 jobs each of ranks 48 and 16. The resulting profile change is + + {8:-640, 9:1152, 16:512, 24:256, + 32:256, 40:256, 48:768}. + +It has the same paid rank change and stock. Its concave recursive moment +is larger than that of the unsplit profile. + +The rank count alone is not a recurrence improvement. The new child +jobs require admission, the larger stock must be charged, and every +finite scalar and address operation must be counted. Most directly, +the coupled content controller must restore z'=h and its required data +outputs, or prove another exact productive content contract. No such +controller, complete supplier, or kappa result is certified here. + +The identities hold for all positive tensor powers, since the base +operator and scalar phase are exact. Prepared with substantial OpenAI +Codex assistance and independent agent review. No independent human +review is claimed. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-ADAPTERS-SOURCE.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-ADAPTERS-SOURCE.json new file mode 100644 index 0000000000..25460505dc --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-ADAPTERS-SOURCE.json @@ -0,0 +1,1786 @@ +{ + "alternating_identity": "B_(s,a) F_local A_s T_previous^a = T_current^(1-a)", + "backward_mixed_map": "x'=x-(I+D_p^-1 P D_p)y-8D_p^-1 K E_s u; y'=y; u'=-u-E_s^-1 R D_p y/4", + "conditional_child_delta_for_one_group": { + "8": -1152, + "9": 1152 + }, + "conditions": [ + "The coupled controller restores all old data and all128 arbitrary new mode families", + "The global emitter implements the supplied within-family monomial maps and exact phase factors", + "The finite scalar and address work is included in the complete implementation invoice" + ], + "extra_initial_and_final_mode_monomial_maps": 256, + "extra_monomial_maps_all_calls": 2304, + "extra_recursive_children": 0, + "forward_mixed_map": "x'=x; y'=y+(I-D_p^-1 P D_p)x-D_p^-1 K E_s u; u'=-u-2E_s^-1 R D_p x", + "full_mode_program_payload_sha256": "f271842a741584389e166e700e262f161b0dd570ce8c7a540f2717e90ead5205", + "input_identity": "A_s G_previous = F_exterior M_s", + "mode_boundary_maps": "Apply Z_73 before all calls and after all calls. Then the bare final mode map is F_73. A content controller must restore the initial logical mode Z_73 h.", + "mode_frame": "T_s^a=C_(omega_s)^a G_s, with G_s the canonical Walsh transform on omega_s-perp", + "mode_owner_route": "Use the same cover class d as the local call. Conjugate all within-array adapter maps by d. Do not use a new orthogonal cover chart.", + "ordinary_helpers_restored_before_mode_output_adapter": 472, + "output_identity": "B_s F_local F_exterior M_s = C_omega G_current", + "scope": "Exact local mode adapters, mixed interface, and bare mode endpoint. This does not certify source-dependent multi-stage content closure or a kappa improvement.", + "stages": [ + { + "M_address_columns": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 9, + "exact_input_phase_coefficients": 46, + "exact_output_phase_coefficients": 172, + "input_adapter_address_columns": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 0, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": null, + "old_even_basis_and_complement_columns": [ + 1, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "old_omega": 1, + "omega": 511, + "output_type": 1, + "previous_width": 1, + "stage": 0 + }, + { + "M_address_columns": [ + 130049, + 129537, + 128513, + 126465, + 122369, + 114177, + 97793, + 65025, + 130561, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 511, + 512, + 1024, + 2048, + 4096, + 8192, + 16384, + 32768, + 65536, + 510, + 509, + 507, + 503, + 495, + 479, + 447, + 383 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 17, + "exact_input_phase_coefficients": 326, + "exact_output_phase_coefficients": 596, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 130561, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 1, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": { + "address": "x -> x + (1 + h dot x) omega", + "h": 130560, + "phase": "(-i)^(h dot x)", + "translation": 131071 + }, + "old_even_basis_and_complement_columns": [ + 257, + 258, + 260, + 264, + 272, + 288, + 320, + 384, + 511, + 512, + 1024, + 2048, + 4096, + 8192, + 16384, + 32768, + 65536 + ], + "old_omega": 511, + "omega": 131071, + "output_type": 0, + "previous_width": 9, + "stage": 1 + }, + { + "M_address_columns": [ + 33553409, + 33552897, + 33551873, + 33549825, + 33545729, + 33537537, + 33521153, + 33488385, + 33422849, + 33291777, + 33029633, + 32505345, + 31456769, + 29359617, + 25165313, + 16776705, + 33553921, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 131071, + 131072, + 262144, + 524288, + 1048576, + 2097152, + 4194304, + 8388608, + 16777216, + 131070, + 131069, + 131067, + 131063, + 131055, + 131039, + 131007, + 130943, + 130815, + 130559, + 130047, + 129023, + 126975, + 122879, + 114687, + 98303 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 25, + "exact_input_phase_coefficients": 862, + "exact_output_phase_coefficients": 1276, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 131073, + 262145, + 524289, + 1048577, + 2097153, + 4194305, + 8388609, + 16777217, + 33553921, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 0, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": null, + "old_even_basis_and_complement_columns": [ + 65537, + 65538, + 65540, + 65544, + 65552, + 65568, + 65600, + 65664, + 65792, + 66048, + 66560, + 67584, + 69632, + 73728, + 81920, + 98304, + 131071, + 131072, + 262144, + 524288, + 1048576, + 2097152, + 4194304, + 8388608, + 16777216 + ], + "old_omega": 131071, + "omega": 33554431, + "output_type": 1, + "previous_width": 17, + "stage": 2 + }, + { + "M_address_columns": [ + 8589933569, + 8589933057, + 8589932033, + 8589929985, + 8589925889, + 8589917697, + 8589901313, + 8589868545, + 8589803009, + 8589671937, + 8589409793, + 8588885505, + 8587836929, + 8585739777, + 8581545473, + 8573156865, + 8556379649, + 8522825217, + 8455716353, + 8321498625, + 8053063169, + 7516192257, + 6442450433, + 4294966785, + 8589934081, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 33554431, + 33554432, + 67108864, + 134217728, + 268435456, + 536870912, + 1073741824, + 2147483648, + 4294967296, + 33554430, + 33554429, + 33554427, + 33554423, + 33554415, + 33554399, + 33554367, + 33554303, + 33554175, + 33553919, + 33553407, + 33552383, + 33550335, + 33546239, + 33538047, + 33521663, + 33488895, + 33423359, + 33292287, + 33030143, + 32505855, + 31457279, + 29360127, + 25165823 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 33, + "exact_input_phase_coefficients": 1654, + "exact_output_phase_coefficients": 2212, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 131073, + 262145, + 524289, + 1048577, + 2097153, + 4194305, + 8388609, + 16777217, + 33554433, + 67108865, + 134217729, + 268435457, + 536870913, + 1073741825, + 2147483649, + 4294967297, + 8589934081, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 1, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": { + "address": "x -> x + (1 + h dot x) omega", + "h": 8556380160, + "phase": "(-i)^(h dot x)", + "translation": 8589934591 + }, + "old_even_basis_and_complement_columns": [ + 16777217, + 16777218, + 16777220, + 16777224, + 16777232, + 16777248, + 16777280, + 16777344, + 16777472, + 16777728, + 16778240, + 16779264, + 16781312, + 16785408, + 16793600, + 16809984, + 16842752, + 16908288, + 17039360, + 17301504, + 17825792, + 18874368, + 20971520, + 25165824, + 33554431, + 33554432, + 67108864, + 134217728, + 268435456, + 536870912, + 1073741824, + 2147483648, + 4294967296 + ], + "old_omega": 33554431, + "omega": 8589934591, + "output_type": 0, + "previous_width": 25, + "stage": 3 + }, + { + "M_address_columns": [ + 2199023254529, + 2199023254017, + 2199023252993, + 2199023250945, + 2199023246849, + 2199023238657, + 2199023222273, + 2199023189505, + 2199023123969, + 2199022992897, + 2199022730753, + 2199022206465, + 2199021157889, + 2199019060737, + 2199014866433, + 2199006477825, + 2198989700609, + 2198956146177, + 2198889037313, + 2198754819585, + 2198486384129, + 2197949513217, + 2196875771393, + 2194728287745, + 2190433320449, + 2181843385857, + 2164663516673, + 2130303778305, + 2061584301569, + 1924145348097, + 1649267441153, + 1099511627265, + 2199023255041, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 8589934591, + 8589934592, + 17179869184, + 34359738368, + 68719476736, + 137438953472, + 274877906944, + 549755813888, + 1099511627776, + 8589934590, + 8589934589, + 8589934587, + 8589934583, + 8589934575, + 8589934559, + 8589934527, + 8589934463, + 8589934335, + 8589934079, + 8589933567, + 8589932543, + 8589930495, + 8589926399, + 8589918207, + 8589901823, + 8589869055, + 8589803519, + 8589672447, + 8589410303, + 8588886015, + 8587837439, + 8585740287, + 8581545983, + 8573157375, + 8556380159, + 8522825727, + 8455716863, + 8321499135, + 8053063679, + 7516192767, + 6442450943 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 41, + "exact_input_phase_coefficients": 2702, + "exact_output_phase_coefficients": 3404, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 131073, + 262145, + 524289, + 1048577, + 2097153, + 4194305, + 8388609, + 16777217, + 33554433, + 67108865, + 134217729, + 268435457, + 536870913, + 1073741825, + 2147483649, + 4294967297, + 8589934593, + 17179869185, + 34359738369, + 68719476737, + 137438953473, + 274877906945, + 549755813889, + 1099511627777, + 2199023255041, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 0, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": null, + "old_even_basis_and_complement_columns": [ + 4294967297, + 4294967298, + 4294967300, + 4294967304, + 4294967312, + 4294967328, + 4294967360, + 4294967424, + 4294967552, + 4294967808, + 4294968320, + 4294969344, + 4294971392, + 4294975488, + 4294983680, + 4295000064, + 4295032832, + 4295098368, + 4295229440, + 4295491584, + 4296015872, + 4297064448, + 4299161600, + 4303355904, + 4311744512, + 4328521728, + 4362076160, + 4429185024, + 4563402752, + 4831838208, + 5368709120, + 6442450944, + 8589934591, + 8589934592, + 17179869184, + 34359738368, + 68719476736, + 137438953472, + 274877906944, + 549755813888, + 1099511627776 + ], + "old_omega": 8589934591, + "omega": 2199023255551, + "output_type": 1, + "previous_width": 33, + "stage": 4 + }, + { + "M_address_columns": [ + 562949953420289, + 562949953419777, + 562949953418753, + 562949953416705, + 562949953412609, + 562949953404417, + 562949953388033, + 562949953355265, + 562949953289729, + 562949953158657, + 562949952896513, + 562949952372225, + 562949951323649, + 562949949226497, + 562949945032193, + 562949936643585, + 562949919866369, + 562949886311937, + 562949819203073, + 562949684985345, + 562949416549889, + 562948879678977, + 562947805937153, + 562945658453505, + 562941363486209, + 562932773551617, + 562915593682433, + 562881233944065, + 562812514467329, + 562675075513857, + 562400197606913, + 561850441793025, + 560750930165249, + 558551906909697, + 554153860398593, + 545357767376385, + 527765581331969, + 492581209243137, + 422212465065473, + 281474976710145, + 562949953420801, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 2199023255551, + 2199023255552, + 4398046511104, + 8796093022208, + 17592186044416, + 35184372088832, + 70368744177664, + 140737488355328, + 281474976710656, + 2199023255550, + 2199023255549, + 2199023255547, + 2199023255543, + 2199023255535, + 2199023255519, + 2199023255487, + 2199023255423, + 2199023255295, + 2199023255039, + 2199023254527, + 2199023253503, + 2199023251455, + 2199023247359, + 2199023239167, + 2199023222783, + 2199023190015, + 2199023124479, + 2199022993407, + 2199022731263, + 2199022206975, + 2199021158399, + 2199019061247, + 2199014866943, + 2199006478335, + 2198989701119, + 2198956146687, + 2198889037823, + 2198754820095, + 2198486384639, + 2197949513727, + 2196875771903, + 2194728288255, + 2190433320959, + 2181843386367, + 2164663517183, + 2130303778815, + 2061584302079, + 1924145348607, + 1649267441663 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 49, + "exact_input_phase_coefficients": 4006, + "exact_output_phase_coefficients": 4852, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 131073, + 262145, + 524289, + 1048577, + 2097153, + 4194305, + 8388609, + 16777217, + 33554433, + 67108865, + 134217729, + 268435457, + 536870913, + 1073741825, + 2147483649, + 4294967297, + 8589934593, + 17179869185, + 34359738369, + 68719476737, + 137438953473, + 274877906945, + 549755813889, + 1099511627777, + 2199023255553, + 4398046511105, + 8796093022209, + 17592186044417, + 35184372088833, + 70368744177665, + 140737488355329, + 281474976710657, + 562949953420801, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 1, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": { + "address": "x -> x + (1 + h dot x) omega", + "h": 560750930165760, + "phase": "(-i)^(h dot x)", + "translation": 562949953421311 + }, + "old_even_basis_and_complement_columns": [ + 1099511627777, + 1099511627778, + 1099511627780, + 1099511627784, + 1099511627792, + 1099511627808, + 1099511627840, + 1099511627904, + 1099511628032, + 1099511628288, + 1099511628800, + 1099511629824, + 1099511631872, + 1099511635968, + 1099511644160, + 1099511660544, + 1099511693312, + 1099511758848, + 1099511889920, + 1099512152064, + 1099512676352, + 1099513724928, + 1099515822080, + 1099520016384, + 1099528404992, + 1099545182208, + 1099578736640, + 1099645845504, + 1099780063232, + 1100048498688, + 1100585369600, + 1101659111424, + 1103806595072, + 1108101562368, + 1116691496960, + 1133871366144, + 1168231104512, + 1236950581248, + 1374389534720, + 1649267441664, + 2199023255551, + 2199023255552, + 4398046511104, + 8796093022208, + 17592186044416, + 35184372088832, + 70368744177664, + 140737488355328, + 281474976710656 + ], + "old_omega": 2199023255551, + "omega": 562949953421311, + "output_type": 0, + "previous_width": 41, + "stage": 5 + }, + { + "M_address_columns": [ + 144115188075854849, + 144115188075854337, + 144115188075853313, + 144115188075851265, + 144115188075847169, + 144115188075838977, + 144115188075822593, + 144115188075789825, + 144115188075724289, + 144115188075593217, + 144115188075331073, + 144115188074806785, + 144115188073758209, + 144115188071661057, + 144115188067466753, + 144115188059078145, + 144115188042300929, + 144115188008746497, + 144115187941637633, + 144115187807419905, + 144115187538984449, + 144115187002113537, + 144115185928371713, + 144115183780888065, + 144115179485920769, + 144115170895986177, + 144115153716116993, + 144115119356378625, + 144115050636901889, + 144114913197948417, + 144114638320041473, + 144114088564227585, + 144112989052599809, + 144110790029344257, + 144106391982833153, + 144097595889810945, + 144080003703766529, + 144044819331677697, + 143974450587500033, + 143833713099144705, + 143552238122434049, + 142989288169012737, + 141863388262170113, + 139611588448484865, + 135107988821114369, + 126100789566373377, + 108086391056891393, + 72057594037927425, + 144115188075855361, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 562949953421311, + 562949953421312, + 1125899906842624, + 2251799813685248, + 4503599627370496, + 9007199254740992, + 18014398509481984, + 36028797018963968, + 72057594037927936, + 562949953421310, + 562949953421309, + 562949953421307, + 562949953421303, + 562949953421295, + 562949953421279, + 562949953421247, + 562949953421183, + 562949953421055, + 562949953420799, + 562949953420287, + 562949953419263, + 562949953417215, + 562949953413119, + 562949953404927, + 562949953388543, + 562949953355775, + 562949953290239, + 562949953159167, + 562949952897023, + 562949952372735, + 562949951324159, + 562949949227007, + 562949945032703, + 562949936644095, + 562949919866879, + 562949886312447, + 562949819203583, + 562949684985855, + 562949416550399, + 562948879679487, + 562947805937663, + 562945658454015, + 562941363486719, + 562932773552127, + 562915593682943, + 562881233944575, + 562812514467839, + 562675075514367, + 562400197607423, + 561850441793535, + 560750930165759, + 558551906910207, + 554153860399103, + 545357767376895, + 527765581332479, + 492581209243647, + 422212465065983 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 57, + "exact_input_phase_coefficients": 5566, + "exact_output_phase_coefficients": 6556, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 131073, + 262145, + 524289, + 1048577, + 2097153, + 4194305, + 8388609, + 16777217, + 33554433, + 67108865, + 134217729, + 268435457, + 536870913, + 1073741825, + 2147483649, + 4294967297, + 8589934593, + 17179869185, + 34359738369, + 68719476737, + 137438953473, + 274877906945, + 549755813889, + 1099511627777, + 2199023255553, + 4398046511105, + 8796093022209, + 17592186044417, + 35184372088833, + 70368744177665, + 140737488355329, + 281474976710657, + 562949953421313, + 1125899906842625, + 2251799813685249, + 4503599627370497, + 9007199254740993, + 18014398509481985, + 36028797018963969, + 72057594037927937, + 144115188075855361, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 0, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": null, + "old_even_basis_and_complement_columns": [ + 281474976710657, + 281474976710658, + 281474976710660, + 281474976710664, + 281474976710672, + 281474976710688, + 281474976710720, + 281474976710784, + 281474976710912, + 281474976711168, + 281474976711680, + 281474976712704, + 281474976714752, + 281474976718848, + 281474976727040, + 281474976743424, + 281474976776192, + 281474976841728, + 281474976972800, + 281474977234944, + 281474977759232, + 281474978807808, + 281474980904960, + 281474985099264, + 281474993487872, + 281475010265088, + 281475043819520, + 281475110928384, + 281475245146112, + 281475513581568, + 281476050452480, + 281477124194304, + 281479271677952, + 281483566645248, + 281492156579840, + 281509336449024, + 281543696187392, + 281612415664128, + 281749854617600, + 282024732524544, + 282574488338432, + 283673999966208, + 285873023221760, + 290271069732864, + 299067162755072, + 316659348799488, + 351843720888320, + 422212465065984, + 562949953421311, + 562949953421312, + 1125899906842624, + 2251799813685248, + 4503599627370496, + 9007199254740992, + 18014398509481984, + 36028797018963968, + 72057594037927936 + ], + "old_omega": 562949953421311, + "omega": 144115188075855871, + "output_type": 1, + "previous_width": 49, + "stage": 6 + }, + { + "M_address_columns": [ + 36893488147419102209, + 36893488147419101697, + 36893488147419100673, + 36893488147419098625, + 36893488147419094529, + 36893488147419086337, + 36893488147419069953, + 36893488147419037185, + 36893488147418971649, + 36893488147418840577, + 36893488147418578433, + 36893488147418054145, + 36893488147417005569, + 36893488147414908417, + 36893488147410714113, + 36893488147402325505, + 36893488147385548289, + 36893488147351993857, + 36893488147284884993, + 36893488147150667265, + 36893488146882231809, + 36893488146345360897, + 36893488145271619073, + 36893488143124135425, + 36893488138829168129, + 36893488130239233537, + 36893488113059364353, + 36893488078699625985, + 36893488009980149249, + 36893487872541195777, + 36893487597663288833, + 36893487047907474945, + 36893485948395847169, + 36893483749372591617, + 36893479351326080513, + 36893470555233058305, + 36893452963047013889, + 36893417778674925057, + 36893347409930747393, + 36893206672442392065, + 36892925197465681409, + 36892362247512260097, + 36891236347605417473, + 36888984547791732225, + 36884480948164361729, + 36875473748909620737, + 36857459350400138753, + 36821430553381174785, + 36749372959343246849, + 36605257771267390977, + 36317027395115679233, + 35740566642812255745, + 34587645138205408769, + 32281802128991714817, + 27670116110564326913, + 18446744073709551105, + 36893488147419102721, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 144115188075855871, + 144115188075855872, + 288230376151711744, + 576460752303423488, + 1152921504606846976, + 2305843009213693952, + 4611686018427387904, + 9223372036854775808, + 18446744073709551616, + 144115188075855870, + 144115188075855869, + 144115188075855867, + 144115188075855863, + 144115188075855855, + 144115188075855839, + 144115188075855807, + 144115188075855743, + 144115188075855615, + 144115188075855359, + 144115188075854847, + 144115188075853823, + 144115188075851775, + 144115188075847679, + 144115188075839487, + 144115188075823103, + 144115188075790335, + 144115188075724799, + 144115188075593727, + 144115188075331583, + 144115188074807295, + 144115188073758719, + 144115188071661567, + 144115188067467263, + 144115188059078655, + 144115188042301439, + 144115188008747007, + 144115187941638143, + 144115187807420415, + 144115187538984959, + 144115187002114047, + 144115185928372223, + 144115183780888575, + 144115179485921279, + 144115170895986687, + 144115153716117503, + 144115119356379135, + 144115050636902399, + 144114913197948927, + 144114638320041983, + 144114088564228095, + 144112989052600319, + 144110790029344767, + 144106391982833663, + 144097595889811455, + 144080003703767039, + 144044819331678207, + 143974450587500543, + 143833713099145215, + 143552238122434559, + 142989288169013247, + 141863388262170623, + 139611588448485375, + 135107988821114879, + 126100789566373887, + 108086391056891903 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 65, + "exact_input_phase_coefficients": 7382, + "exact_output_phase_coefficients": 8516, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 131073, + 262145, + 524289, + 1048577, + 2097153, + 4194305, + 8388609, + 16777217, + 33554433, + 67108865, + 134217729, + 268435457, + 536870913, + 1073741825, + 2147483649, + 4294967297, + 8589934593, + 17179869185, + 34359738369, + 68719476737, + 137438953473, + 274877906945, + 549755813889, + 1099511627777, + 2199023255553, + 4398046511105, + 8796093022209, + 17592186044417, + 35184372088833, + 70368744177665, + 140737488355329, + 281474976710657, + 562949953421313, + 1125899906842625, + 2251799813685249, + 4503599627370497, + 9007199254740993, + 18014398509481985, + 36028797018963969, + 72057594037927937, + 144115188075855873, + 288230376151711745, + 576460752303423489, + 1152921504606846977, + 2305843009213693953, + 4611686018427387905, + 9223372036854775809, + 18446744073709551617, + 36893488147419102721, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 1, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": { + "address": "x -> x + (1 + h dot x) omega", + "h": 36749372959343247360, + "phase": "(-i)^(h dot x)", + "translation": 36893488147419103231 + }, + "old_even_basis_and_complement_columns": [ + 72057594037927937, + 72057594037927938, + 72057594037927940, + 72057594037927944, + 72057594037927952, + 72057594037927968, + 72057594037928000, + 72057594037928064, + 72057594037928192, + 72057594037928448, + 72057594037928960, + 72057594037929984, + 72057594037932032, + 72057594037936128, + 72057594037944320, + 72057594037960704, + 72057594037993472, + 72057594038059008, + 72057594038190080, + 72057594038452224, + 72057594038976512, + 72057594040025088, + 72057594042122240, + 72057594046316544, + 72057594054705152, + 72057594071482368, + 72057594105036800, + 72057594172145664, + 72057594306363392, + 72057594574798848, + 72057595111669760, + 72057596185411584, + 72057598332895232, + 72057602627862528, + 72057611217797120, + 72057628397666304, + 72057662757404672, + 72057731476881408, + 72057868915834880, + 72058143793741824, + 72058693549555712, + 72059793061183488, + 72061992084439040, + 72066390130950144, + 72075186223972352, + 72092778410016768, + 72127962782105600, + 72198331526283264, + 72339069014638592, + 72620543991349248, + 73183493944770560, + 74309393851613184, + 76561193665298432, + 81064793292668928, + 90071992547409920, + 108086391056891904, + 144115188075855871, + 144115188075855872, + 288230376151711744, + 576460752303423488, + 1152921504606846976, + 2305843009213693952, + 4611686018427387904, + 9223372036854775808, + 18446744073709551616 + ], + "old_omega": 144115188075855871, + "omega": 36893488147419103231, + "output_type": 0, + "previous_width": 57, + "stage": 7 + }, + { + "M_address_columns": [ + 9444732965739290426369, + 9444732965739290425857, + 9444732965739290424833, + 9444732965739290422785, + 9444732965739290418689, + 9444732965739290410497, + 9444732965739290394113, + 9444732965739290361345, + 9444732965739290295809, + 9444732965739290164737, + 9444732965739289902593, + 9444732965739289378305, + 9444732965739288329729, + 9444732965739286232577, + 9444732965739282038273, + 9444732965739273649665, + 9444732965739256872449, + 9444732965739223318017, + 9444732965739156209153, + 9444732965739021991425, + 9444732965738753555969, + 9444732965738216685057, + 9444732965737142943233, + 9444732965734995459585, + 9444732965730700492289, + 9444732965722110557697, + 9444732965704930688513, + 9444732965670570950145, + 9444732965601851473409, + 9444732965464412519937, + 9444732965189534612993, + 9444732964639778799105, + 9444732963540267171329, + 9444732961341243915777, + 9444732956943197404673, + 9444732948147104382465, + 9444732930554918338049, + 9444732895370546249217, + 9444732825001802071553, + 9444732684264313716225, + 9444732402789337005569, + 9444731839839383584257, + 9444730713939476741633, + 9444728462139663056385, + 9444723958540035685889, + 9444714951340780944897, + 9444696936942271462913, + 9444660908145252498945, + 9444588850551214571009, + 9444444735363138715137, + 9444156504986987003393, + 9443580044234683579905, + 9442427122730076732929, + 9440121279720863038977, + 9435509593702435651073, + 9426286221665580875265, + 9407839477591871323649, + 9370945989444452220417, + 9297159013149614013953, + 9149585060559937601025, + 8854437155380584775169, + 8264141345021879123457, + 7083549724304467820033, + 4722366482869645213185, + 9444732965739290426881, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "M_operator_order": "M_s=D_+ P_A: apply the address map first, then its phase", + "M_phase_after_address": "i^(wt(exterior)) (-1)^q(local9)", + "added_monomial_maps_per_active_mode": 2, + "base_output_adapter_address_columns": [ + 36893488147419103231, + 36893488147419103232, + 73786976294838206464, + 147573952589676412928, + 295147905179352825856, + 590295810358705651712, + 1180591620717411303424, + 2361183241434822606848, + 4722366482869645213696, + 36893488147419103230, + 36893488147419103229, + 36893488147419103227, + 36893488147419103223, + 36893488147419103215, + 36893488147419103199, + 36893488147419103167, + 36893488147419103103, + 36893488147419102975, + 36893488147419102719, + 36893488147419102207, + 36893488147419101183, + 36893488147419099135, + 36893488147419095039, + 36893488147419086847, + 36893488147419070463, + 36893488147419037695, + 36893488147418972159, + 36893488147418841087, + 36893488147418578943, + 36893488147418054655, + 36893488147417006079, + 36893488147414908927, + 36893488147410714623, + 36893488147402326015, + 36893488147385548799, + 36893488147351994367, + 36893488147284885503, + 36893488147150667775, + 36893488146882232319, + 36893488146345361407, + 36893488145271619583, + 36893488143124135935, + 36893488138829168639, + 36893488130239234047, + 36893488113059364863, + 36893488078699626495, + 36893488009980149759, + 36893487872541196287, + 36893487597663289343, + 36893487047907475455, + 36893485948395847679, + 36893483749372592127, + 36893479351326081023, + 36893470555233058815, + 36893452963047014399, + 36893417778674925567, + 36893347409930747903, + 36893206672442392575, + 36892925197465681919, + 36892362247512260607, + 36891236347605417983, + 36888984547791732735, + 36884480948164362239, + 36875473748909621247, + 36857459350400139263, + 36821430553381175295, + 36749372959343247359, + 36605257771267391487, + 36317027395115679743, + 35740566642812256255, + 34587645138205409279, + 32281802128991715327, + 27670116110564327423 + ], + "base_output_adapter_phase_before_address": "i^(wt(exterior)) (-1)^q(local9)", + "current_width": 73, + "exact_input_phase_coefficients": 9454, + "exact_output_phase_coefficients": 10732, + "input_adapter_address_columns": [ + 513, + 1025, + 2049, + 4097, + 8193, + 16385, + 32769, + 65537, + 131073, + 262145, + 524289, + 1048577, + 2097153, + 4194305, + 8388609, + 16777217, + 33554433, + 67108865, + 134217729, + 268435457, + 536870913, + 1073741825, + 2147483649, + 4294967297, + 8589934593, + 17179869185, + 34359738369, + 68719476737, + 137438953473, + 274877906945, + 549755813889, + 1099511627777, + 2199023255553, + 4398046511105, + 8796093022209, + 17592186044417, + 35184372088833, + 70368744177665, + 140737488355329, + 281474976710657, + 562949953421313, + 1125899906842625, + 2251799813685249, + 4503599627370497, + 9007199254740993, + 18014398509481985, + 36028797018963969, + 72057594037927937, + 144115188075855873, + 288230376151711745, + 576460752303423489, + 1152921504606846977, + 2305843009213693953, + 4611686018427387905, + 9223372036854775809, + 18446744073709551617, + 36893488147419103233, + 73786976294838206465, + 147573952589676412929, + 295147905179352825857, + 590295810358705651713, + 1180591620717411303425, + 2361183241434822606849, + 4722366482869645213697, + 9444732965739290426881, + 2, + 4, + 8, + 16, + 32, + 64, + 128, + 256 + ], + "input_adapter_phase_after_address": "i^(-wt(exterior)) (-1)^q(local9)", + "input_type": 0, + "mode_input_factor": "E_s=M_s C_(old_omega)^(input_type)", + "native_children_per_active_mode": { + "9": 1 + }, + "odd_input_extra_output_map": null, + "old_even_basis_and_complement_columns": [ + 18446744073709551617, + 18446744073709551618, + 18446744073709551620, + 18446744073709551624, + 18446744073709551632, + 18446744073709551648, + 18446744073709551680, + 18446744073709551744, + 18446744073709551872, + 18446744073709552128, + 18446744073709552640, + 18446744073709553664, + 18446744073709555712, + 18446744073709559808, + 18446744073709568000, + 18446744073709584384, + 18446744073709617152, + 18446744073709682688, + 18446744073709813760, + 18446744073710075904, + 18446744073710600192, + 18446744073711648768, + 18446744073713745920, + 18446744073717940224, + 18446744073726328832, + 18446744073743106048, + 18446744073776660480, + 18446744073843769344, + 18446744073977987072, + 18446744074246422528, + 18446744074783293440, + 18446744075857035264, + 18446744078004518912, + 18446744082299486208, + 18446744090889420800, + 18446744108069289984, + 18446744142429028352, + 18446744211148505088, + 18446744348587458560, + 18446744623465365504, + 18446745173221179392, + 18446746272732807168, + 18446748471756062720, + 18446752869802573824, + 18446761665895596032, + 18446779258081640448, + 18446814442453729280, + 18446884811197906944, + 18447025548686262272, + 18447307023662972928, + 18447869973616394240, + 18448995873523236864, + 18451247673336922112, + 18455751272964292608, + 18464758472219033600, + 18482772870728515584, + 18518801667747479552, + 18590859261785407488, + 18734974449861263360, + 19023204826012975104, + 19599665578316398592, + 20752587082923245568, + 23058430092136939520, + 27670116110564327424, + 36893488147419103231, + 36893488147419103232, + 73786976294838206464, + 147573952589676412928, + 295147905179352825856, + 590295810358705651712, + 1180591620717411303424, + 2361183241434822606848, + 4722366482869645213696 + ], + "old_omega": 36893488147419103231, + "omega": 9444732965739290427391, + "output_type": 1, + "previous_width": 65, + "stage": 8 + } + ], + "status": "PASS_EXACT_GROWING_WALSH_MODE_ADAPTERS", + "total_exact_quadratic_phase_coefficients": 70314 +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-REVIEW.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-REVIEW.json new file mode 100644 index 0000000000..18a71bbce9 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-REVIEW.json @@ -0,0 +1,168 @@ +{ + "inverse_transpose": "The same-E pair is inverse adjoint; conjugate backward modes by R_s=Z_ell X_omega_prev^a to obtain the inverse transpose", + "limits": [ + "All finite address and scalar work still needs a complete invoice", + "No coupled content controller or final data/mode restoration is emitted", + "The owner-class choice remains a conditional global program change" + ], + "literal_receipt_sha256": "c8ea223ddd139387bbed17ef6dc1175324cec3e4e5431f834e121dc35dcb9bbd", + "mixed_interface": "With E_s=M_s C_omega_prev^a, conjugate the reviewed raw mode map by the input E_s and output E_s^-1", + "native_repair_cost": "Two Pauli maps per backward mode; zero recursive children", + "stages": [ + { + "input_kernel_phase_cases": 46, + "input_repair": { + "X": 0, + "Z": 0, + "phase": 0 + }, + "input_type": 0, + "output_kernel_phase_cases": 172, + "output_repair": { + "X": 0, + "Z": 0, + "phase": 0 + }, + "stage": 0, + "transpose_repair_ell": 0 + }, + { + "input_kernel_phase_cases": 326, + "input_repair": { + "X": 256, + "Z": 0, + "phase": 0 + }, + "input_type": 1, + "output_kernel_phase_cases": 596, + "output_repair": { + "X": 130816, + "Z": 130560, + "phase": 0 + }, + "stage": 1, + "transpose_repair_ell": 255 + }, + { + "input_kernel_phase_cases": 862, + "input_repair": { + "X": 65535, + "Z": 0, + "phase": 0 + }, + "input_type": 0, + "output_kernel_phase_cases": 1276, + "output_repair": { + "X": 65535, + "Z": 0, + "phase": 0 + }, + "stage": 2, + "transpose_repair_ell": 65535 + }, + { + "input_kernel_phase_cases": 1654, + "input_repair": { + "X": 16777216, + "Z": 0, + "phase": 0 + }, + "input_type": 1, + "output_kernel_phase_cases": 2212, + "output_repair": { + "X": 8573157376, + "Z": 8556380160, + "phase": 0 + }, + "stage": 3, + "transpose_repair_ell": 16777215 + }, + { + "input_kernel_phase_cases": 2702, + "input_repair": { + "X": 4294967295, + "Z": 0, + "phase": 0 + }, + "input_type": 0, + "output_kernel_phase_cases": 3404, + "output_repair": { + "X": 4294967295, + "Z": 0, + "phase": 0 + }, + "stage": 4, + "transpose_repair_ell": 4294967295 + }, + { + "input_kernel_phase_cases": 4006, + "input_repair": { + "X": 1099511627776, + "Z": 0, + "phase": 0 + }, + "input_type": 1, + "output_kernel_phase_cases": 4852, + "output_repair": { + "X": 561850441793536, + "Z": 560750930165760, + "phase": 0 + }, + "stage": 5, + "transpose_repair_ell": 1099511627775 + }, + { + "input_kernel_phase_cases": 5566, + "input_repair": { + "X": 281474976710655, + "Z": 0, + "phase": 0 + }, + "input_type": 0, + "output_kernel_phase_cases": 6556, + "output_repair": { + "X": 281474976710655, + "Z": 0, + "phase": 0 + }, + "stage": 6, + "transpose_repair_ell": 281474976710655 + }, + { + "input_kernel_phase_cases": 7382, + "input_repair": { + "X": 72057594037927936, + "Z": 0, + "phase": 0 + }, + "input_type": 1, + "output_kernel_phase_cases": 8516, + "output_repair": { + "X": 36821430553381175296, + "Z": 36749372959343247360, + "phase": 0 + }, + "stage": 7, + "transpose_repair_ell": 72057594037927935 + }, + { + "input_kernel_phase_cases": 9454, + "input_repair": { + "X": 18446744073709551615, + "Z": 0, + "phase": 0 + }, + "input_type": 0, + "output_kernel_phase_cases": 10732, + "output_repair": { + "X": 18446744073709551615, + "Z": 0, + "phase": 0 + }, + "stage": 8, + "transpose_repair_ell": 18446744073709551615 + } + ], + "status": "PASS_INDEPENDENT_MIXED_WALSH_MODE_ADAPTERS", + "tensor_scope": "All positive lambda and all arbitrary mode inputs" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-REVIEW.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-REVIEW.md new file mode 100644 index 0000000000..bc122fd6e0 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/interface-proof/WALSH-MODE-REVIEW.md @@ -0,0 +1,166 @@ +# Exact mixed-mode lift and transpose repair + +The history-encoding lane's literal growing Walsh adapters pass this +independent review. The result supplies a typed mixed interface on the +actual raw mode primitive. It does not close the contents over nine calls. +The temporal-reuse lane derived the same mixed interface and Pauli repair +independently. The common-line and growing-frame inputs come from the +residual-syndrome and coordinating lanes. + +The pinned raw program has payload SHA-256 +`f271842a741584389e166e700e262f161b0dd570ce8c7a540f2717e90ead5205`. +`FULL-MODE-PORT-REVIEW.json` already checks its complete 704-column map, +all 472 arbitrary ordinary helpers, all native phases, and its scalar bill. +This note uses that checked primitive. The literal adapter receipt is +copied in `WALSH-MODE-ADAPTERS-SOURCE.json`, with SHA-256 +`c8ea223ddd139387bbed17ef6dc1175324cec3e4e5431f834e121dc35dcb9bbd`. + +## Literal adapter identities + +At call s, put `n=8s`, `m=n+1`, and `N=n+9`. The first call has m=1 and +G_1=I. Let A be the address matrix listed as `M_address_columns`. In this +section P_A denotes its basis permutation. Define + + D_+(w)=i^wt(w_exterior) (-1)^q(w_local9), + D_-(w)=i^-wt(w_exterior) (-1)^q(w_local9), + q(w_local9)=sum_(i = (-i)^(h dot x) |x+(1+h dot x) omega_N>, + h=omega_N+omega_m. + +This is `X_omega_N L_(omega_m,N)^-1`. It gives + + B_(s,a) F_local A_s T_m^a = T_N^(1-a). + +This uses one existing rank-nine mode advance. The two added mode +adapters are monomial. They do not change the ordinary helper program. + +## The actual mixed interface + +Let D_p denote the already checked data routing operators. With +`K=R^T/4`, `P=KR`, and `RR^T=56I`, the forward map is + + x'=x, + y'=y+(I-D_p^-1 P D_p)x-D_p^-1 K E_s u, + u'=-u-2 E_s^-1 R D_p x. + +The backward map from the same adapters is + + x'=x-(I+D_p^-1 P D_p)y-8 D_p^-1 K E_s u, + y'=y, + u'=-u-E_s^-1 R D_p y/4. + +The input identity gives the raw primitive exactly its common exterior +frame, with logical mode E_s u. The output identity strips that same E_s +after the raw mode update. This proves the displayed order; E_s must not +move through D_p, R, or K. All modes and ordinary helpers are arbitrary. +The checked raw primitive restores all 472 ordinary helpers before the +new output adapter is applied to the eight modes. + +The mode owner remains the same cover class d as the call. Conjugate each +within-array adapter by d. No new orthogonal cover generator is needed +for these adapters. A global emitter must still implement that owner +choice and the stated operations. + +## Exact complex transpose repair + +The same-E pair is an inverse-adjoint pair. It need not be an inverse +transpose pair. Let `ell=A^T 1_exterior`. For the emitted chart, + + ell=(1<<(8s))-1, ell dot omega_m=0. + +Since the square of D_+ is the exterior sign character, + + M_s^T M_s=Z_ell, + E_s^T E_s=Z_ell X_omega_m^a=:R_s. + +The factors in R_s commute, and `R_s^2=I`. Hence + + E_s^-T=E_s R_s. + +Conjugate the backward logical mode coordinate by R_s before and after +the call. The resulting backward map is the complex inverse transpose +of the forward map. The two physical endpoint corrections are exactly + + input: T_m^a R_s (T_m^a)^-1 + = X_(ell+a omega_m), + + output: T_N^(1-a) R_s (T_N^(1-a))^-1 + = X_(ell+a omega_N) Z_(a h). + +There is no omitted scalar phase. In the output formula, ell dot h and +omega_N dot h are zero. This prevents a sign from reordering the Pauli +factors. The corrections need two Pauli maps per backward mode and no +recursive child. Their finite address and sign costs remain payable. + +## Endpoint, verification, and limits + +The nine frame types end at `T_73^1=D_73 F_73 D_73`. The full G_73 and +C_omega_73 commute with every orthogonal cover class, so this final frame +does not depend on d. Apply D_73 before the first call and after the last. +If the content controller restores its initial logical value D_73 h, +the final arbitrary mode value is exactly F_73 h. This is a conditional +content contract, not a proof that the controller restores that value. + +Run: + +```sh +python3 -I -O -B work/centre-encoding-campaign-20261014/lanes/interface-proof/review_walsh_mode_adapters.py +``` + +The expected output is `PASS_INDEPENDENT_MIXED_WALSH_MODE_ADAPTERS`. +The checker reads the literal address columns and reconstructs both +Gaussian integer kernels. It checks support conditions and a complete +quadratic phase witness at all nine stages. It detects omission of the +M_s phase. It also checks all nine exact transpose-repair Paulis and their +commutation with the native boundary line. It imports neither the adapter +producer nor its phase expressions. All requirements remain active under +`-O`. + +The exact base identities tensor to every positive lambda. This result +resolves the local native access and phase binding for the supplied +mixed family. A controller must still close all old data and mode +contents. The global owner program, all scalar and address costs, and the +complete recursive invoice remain open. No supplier or kappa claim is +made. + +Prepared with substantial OpenAI Codex assistance and independent agent +review. No independent human review is claimed. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md new file mode 100644 index 0000000000..d154dc356a --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md @@ -0,0 +1,256 @@ +# Common-boundary normalization cannot gain rank by frame fusion + +The direct common-frame inverse for the one-shot mode controller cannot +give a positive supplier exponent by frame gauges or native-child fusion +alone. Its minimum native rank mass is the full productive rank. The +explicit rank-one boundary normalizations attain this lower bound. This +is a result for the retained wire paths and the common boundary encoding. +It is not a lower bound for the required computation with arbitrary +encodings or controllers. + +The argument uses the frame-distance idea in the pinned +`research/format-limits-corrected/README.md`, Section C.2, Theorem N. That +source proves the canonical-subspace port-gauge bound. This note gives +the Lagrangian form for arbitrary Clifford gauges, checks the current +emitted mode words, and applies the bound to the one-shot common-frame +inverse. It does not claim the triangle argument as a new idea. + +## The frame-path theorem + +Fix a native dimension `n`. Put + + Z={(0,z): z in F_2^n}. + +For a Clifford frame operator T, let S(T) be its binary symplectic action +on Pauli labels and define + + L(T)=S(T)^-1 Z. + +This is an n-dimensional Lagrangian. For two such spaces set + + d(L,K)=n-dim(L intersect K). + +The native Fourier rank of A is + + rho(A)=d(Z,S(A)^-1 Z). + +Thus an exact native step from frame T to frame U has rank + + rho(U T^-1)=d(L(T),L(U)). (1) + +The equality includes all monomial Clifford wrappers. A monomial M +preserves Z, so `L(M T)=L(T)`. Its global phase also does not change L. +The rank lower bound therefore does not discard a phase charge; it gives +a lower bound before the nonnegative cost of phase and address work. + +For three Lagrangians, the two intersections with the middle space give + + dim(L intersect H) >= dim(L intersect K) + +dim(K intersect H)-n. + +Indeed, the intersection of the two subspaces inside K lies in +`L intersect H`. Rearrangement gives the triangle inequality for d. +Apply it to the successive frames of one wire path and use (1): + + sum_native_steps rho(step) >= d(L(T_in),L(T_out)). (2) + +The following hypotheses specify the circuit class. + +1. Retain the persistent array-register paths of the scalar macro program. + An explicit array permutation transports the paths and their frames. + A native event belongs to exactly one such path and is counted once. +2. Each scalar ADD or COPY has a common frame on its live operands. A + scalar SCALE does not change the frame. Retain the scalar accesses; + do not replace them by native operator-valued coefficients for free. +3. A productive path is not cleared and assigned a new frame at no cost. + Its arbitrary input lifetime is not moved into private zero workspace + and replaced by another lifetime. Native work on other paths is + nonnegative and is not credited twice. +4. Price every changed native step, including a step that used to have + rank zero. Exact fusions of adjacent native steps are allowed. They + still satisfy (2). Arbitrary Clifford frame gauges are allowed, subject + to legal scalar access and the specified boundary frames. + +Summing (2) gives a lower bound for the whole native job invoice. It does +not assume that the new frames are canonical subspace frames or that a +gauge comes from a fixed finite palette. + +If N productive paths start in the chosen frame I and end in the full +native frame F_n, up to left monomial wrappers, then each endpoint distance +is n. Hence + + sum_native_steps rho(step) >= n N. (3) + +For tensor power lambda, use binary dimension `n*lambda`. A rank-r native +child has binary rank `r*lambda`. Divide (3) by lambda. The same bound +therefore holds at every allowed tensor power. Cover permutations only +permute the paths. Sum over the whole finite cover and then divide by its +order; no equality of the data in different cover classes is assumed. + +For a common-boundary implementation whose scalar content endpoint is +the identity, the frame endpoint in (3) is the required full native map. +This is the contract used by the direct common-frame inverse below. + +## The actual local mode words attain their path distances + +The local source is commit +`bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. The archive and member hashes +are checked by `verify_geodesic.py`. It also pins the emitted +`FULL-MODE-PROGRAMS.json.gz` and `ONE-SIDED-MODE-PROGRAMS.json.gz` from +the history-encoding lane. + +In either orientation, each word has 704 persistent paths. Its 3,486 +native climbs are all nested upward steps. The original frame before +each step is U, the frame after it is V, and + + U subset V, rho(step)=dim(V)-dim(U). + +Their total rank is 5,522. On every persistent path, this sum equals the +distance between that path's original endpoints. All 1,570 rank-zero +adapters remain in the event inventory. + +These local frame labels refer to the relative chart. In the backward +coordinates `D_U=T_U F_9^-1`, the common right factor preserves every +Lagrangian distance. Thus the local I and F_9 labels below do not state +an additional physical boundary contract. The global common-I/common-F +contract is specified separately in the next section. + +The full-mode macro word has 19,658 ADDs and 731 SCALEs. The one-sided +variant has 20,106 ADDs and 731 SCALEs. Neither emitted word has an array +COPY, an array CLEAR, or a reference to the private C bank. This statement +is about the full-array macro program. The lower real-arithmetic code can +still use private scratch COPY and CLEAR operations. Such scratch is not +a productive array path and is not a new native storage resource in this +gauge-only class. The theorem does not permit promotion of that scratch +or a new transfer of a productive lifetime into it. + +For each of the 112 ports q, the old X path starts at C_q and ends at the +full local frame. Its endpoint distance is eight. The old Y path starts +at I and ends at `F_9 C_q^-1`, up to its exact monomial adapter. Its +distance is also eight. Changing the X input to I and the Y output to +F_9 makes both distances nine. This forces 224 additional rank units: + + local normalized rank >= 5522+224=5746. (4) + +This bound allows port-dependent Clifford gauges on all interior scalar +components. Ordinary restored helpers can have equal right gauges at +both boundaries: a common symplectic action preserves their endpoint +distance. The other prescribed data and mode endpoints remain fixed. + +The literal first native event on each X path is a rank-zero +`old_to_new` adapter. The last event on each Y path is a rank-zero +`new_to_old` adapter. A line normalization fused there has rank one. +For every port, scalar accesses occur before the first paid X climb and +after the last paid Y climb. Thus those paid children are not adjacent +to the proposed correction. Moving a correction through the scalar +accesses requires changing all affected frames; (4) still applies. + +Equation (4) is a local check. The global construction pays a boundary +normalization only at each complete data history, not at every call. + +## Application to the one-shot common-frame inverse + +The encoded-controller lane gives an exact joint content map on all old +data and the 72 fresh mode arrays per replica. Its direct common-frame +inverse has this order: + +1. Apply Q on the four old X input banks, where `Q=diag(C_q)`. +2. Run the one-shot controller, its retained bridges, and its signed + terminal exchange, with the exact mode histories and owner backfills. +3. Apply `Q^-1` to the old X output banks. These outputs come from the + preterminal Y paths. +4. Invert the full joint content map in the common final full-F frame. + +This is a different placement from separately conjugating the individual +Schur queries. All data and modes in step 4 have the same full boundary +frame. Its operator-valued coefficients have the monomial realization +specified in `encoded-controller/ONE-SHOT.md`; that realization is an +inherited construction premise, not re-emitted here. + +With the initial Q operations included, every old productive path starts +at I. With the terminal Q corrections included, every such path ends at +F_73, following the terminal exchange as a path permutation. The new +stopped mode histories also start at I and end at F_73. The common-frame +inverse makes the joint scalar content endpoint the identity. + +Thus (3) applies to any frame-gauge rewrite or fusion of this retained +common-boundary realization. It already grants the scalar inverse, its +monomial accesses, and its finite work. Extra hosting or workspace work +cannot reduce the lower bound. + +Here is the exact invoice over all 16 replicas, per cover class. The +selected complete profile has rank mass 1,041,408 and 14,336 productive +old families. Removing its 1,152 rank-eight centre children leaves + + 1,032,192 = 72*14,336. + +The 1,152 fresh modes, their preparations, active uses, tails, and retained +old-owner backfills add exactly `73*1152=84,096` to this centre-free bill. +The pre-normalization one-shot mass is therefore 1,116,288. This equality +uses the inherited whole-owner invoice; it does not assign its costs +independently to a single replica. + +There are now 15,488 productive families. The common-boundary lower bound +and the required increase are + + 73*15,488 = 1,130,624, + 1,130,624-1,116,288 = 14,336. + +The average increase per replica is 896. The explicit input and output +normalizers use `2*4*112=896` rank-one children per replica, so this rank +bound is sharp. Fusion can reduce the number of recorded operations, but +cannot reduce this complete rank mass. + +The checked rank-48 mode plan splits the large preparation and tail +children. With the normalizers added, every child rank is at most 48, +and the native moment at exponent zero is exactly one. For any `b>0`, + + sum_r c_r r^(1-b)/(N*73^(1-b)) + =sum_r c_r r*(73/r)^b/(73*N) > 1. + +For a different admitted fusion, all native child ranks are at most 73. +Equation (3) still gives a moment at least one for every `b>=0`. A +positive supplier exponent therefore cannot follow from this route by +frame fusion alone. No new kappa value or supplier admission is claimed. + +## Limits and controls + +An arbitrary physical input is not required to have formal frame I. +The old supplier uses virtual Q input frames, complementary output +frames, and a nontrivial logical bank exchange. It saves one rank unit +on each old data path. This is a counterexample to any attempt to impose +the common-boundary premise on every correct supplier. + +A private array known to be zero can be given a different formal frame +without a native operation. It is not an arbitrary productive path in +(2). New lifetime transfers, new scalar interfaces, native operator-valued +ADDs, joint recursive children, and encodings that retain virtual Q at a +boundary need separate analysis. This result does not exclude them. + +The checker rejects a changed native rank, a productive-array CLEAR, and +an unequal-frame scalar access. It checks the local paths in both +orientations and both emitted variants. Its global part verifies the +exact inherited profile and the stated conditional one-shot rank delta. +It does not emit the global word, validate a new owner allocation, or +price scalar/address work. Separate-agent proof review passed. The receipt +is `encoded-controller/review/GEODESIC-REVIEW.json`. That review rebuilt +all 1,004 source frame spaces by Gaussian nullspaces and checked the four +words with symplectic pairing ranks. It also checked the complete two-bit +symplectic group as a control for the matrix order and metric identities. +The producer output was reproduced byte for byte under `-I -O -B`, and +all three damaged-input controls were rejected. + +Run from the workspace root: + +```sh +python3 -I -O -B work/centre-encoding-campaign-20261014/lanes/source-domain/verify_geodesic.py --repo worktrees/k5-centre-sharing --out work/centre-encoding-campaign-20261014/lanes/source-domain/GEODESIC-CHECKS.json +``` + +Expected status: `PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE`. + +Before any PR description, read +`/Users/aliromman/Projects/IntegerMultiplicationBounds/PR-DESCRIPTION-STANDARD.md`. +This note was prepared with OpenAI Codex assistance. The mode construction, +its owner backfills, and its exact content decoder come from the named +campaign lanes; the canonical frame-distance premise is prior work as +credited above. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-CHECKS.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-CHECKS.json new file mode 100644 index 0000000000..9ee07f3684 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-CHECKS.json @@ -0,0 +1,3748 @@ +{ + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "assembly_sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "2": 60192, + "3": 62585, + "4": 20448, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152, + "16": 512, + "24": 256, + "32": 256, + "40": 256, + "48": 5634 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "local_words": { + "FULL-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + }, + "ONE-SIDED-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8296, + "last_Y_native_event": 18025, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8297, + "last_Y_native_event": 18026, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8298, + "last_Y_native_event": 18027, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8299, + "last_Y_native_event": 18028, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8300, + "last_Y_native_event": 18029, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8301, + "last_Y_native_event": 18030, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8302, + "last_Y_native_event": 18031, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8303, + "last_Y_native_event": 18032, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8304, + "last_Y_native_event": 18033, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8305, + "last_Y_native_event": 18034, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8306, + "last_Y_native_event": 18035, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8307, + "last_Y_native_event": 18036, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8308, + "last_Y_native_event": 18037, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8309, + "last_Y_native_event": 18038, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8310, + "last_Y_native_event": 18039, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8311, + "last_Y_native_event": 18040, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8312, + "last_Y_native_event": 18041, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8313, + "last_Y_native_event": 18042, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8314, + "last_Y_native_event": 18043, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8315, + "last_Y_native_event": 18044, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8316, + "last_Y_native_event": 18045, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8317, + "last_Y_native_event": 18046, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8318, + "last_Y_native_event": 18047, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8319, + "last_Y_native_event": 18048, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8320, + "last_Y_native_event": 18049, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8321, + "last_Y_native_event": 18050, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8322, + "last_Y_native_event": 18051, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8323, + "last_Y_native_event": 18052, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8324, + "last_Y_native_event": 18053, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8325, + "last_Y_native_event": 18054, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8326, + "last_Y_native_event": 18055, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8327, + "last_Y_native_event": 18056, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8328, + "last_Y_native_event": 18057, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8329, + "last_Y_native_event": 18058, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8330, + "last_Y_native_event": 18059, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8331, + "last_Y_native_event": 18060, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8332, + "last_Y_native_event": 18061, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8333, + "last_Y_native_event": 18062, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8334, + "last_Y_native_event": 18063, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8335, + "last_Y_native_event": 18064, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8336, + "last_Y_native_event": 18065, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8337, + "last_Y_native_event": 18066, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8338, + "last_Y_native_event": 18067, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8339, + "last_Y_native_event": 18068, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8340, + "last_Y_native_event": 18069, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8341, + "last_Y_native_event": 18070, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8342, + "last_Y_native_event": 18071, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8343, + "last_Y_native_event": 18072, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8344, + "last_Y_native_event": 18073, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8345, + "last_Y_native_event": 18074, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8346, + "last_Y_native_event": 18075, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8347, + "last_Y_native_event": 18076, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8348, + "last_Y_native_event": 18077, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8349, + "last_Y_native_event": 18078, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8350, + "last_Y_native_event": 18079, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8351, + "last_Y_native_event": 18080, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8352, + "last_Y_native_event": 18081, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8353, + "last_Y_native_event": 18082, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8354, + "last_Y_native_event": 18083, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8355, + "last_Y_native_event": 18084, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8356, + "last_Y_native_event": 18085, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8357, + "last_Y_native_event": 18086, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8358, + "last_Y_native_event": 18087, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8359, + "last_Y_native_event": 18088, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8360, + "last_Y_native_event": 18089, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8361, + "last_Y_native_event": 18090, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8362, + "last_Y_native_event": 18091, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8363, + "last_Y_native_event": 18092, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8364, + "last_Y_native_event": 18093, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8365, + "last_Y_native_event": 18094, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8366, + "last_Y_native_event": 18095, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8367, + "last_Y_native_event": 18096, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8368, + "last_Y_native_event": 18097, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8369, + "last_Y_native_event": 18098, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8370, + "last_Y_native_event": 18099, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8371, + "last_Y_native_event": 18100, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8372, + "last_Y_native_event": 18101, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8373, + "last_Y_native_event": 18102, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8374, + "last_Y_native_event": 18103, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8375, + "last_Y_native_event": 18104, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8376, + "last_Y_native_event": 18105, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8377, + "last_Y_native_event": 18106, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8378, + "last_Y_native_event": 18107, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8379, + "last_Y_native_event": 18108, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8380, + "last_Y_native_event": 18109, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8381, + "last_Y_native_event": 18110, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8382, + "last_Y_native_event": 18111, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8383, + "last_Y_native_event": 18112, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8384, + "last_Y_native_event": 18113, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8385, + "last_Y_native_event": 18114, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8386, + "last_Y_native_event": 18115, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8387, + "last_Y_native_event": 18116, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8388, + "last_Y_native_event": 18117, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8389, + "last_Y_native_event": 18118, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8390, + "last_Y_native_event": 18119, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8391, + "last_Y_native_event": 18120, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8392, + "last_Y_native_event": 18121, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8393, + "last_Y_native_event": 18122, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8394, + "last_Y_native_event": 18123, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8395, + "last_Y_native_event": 18124, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8396, + "last_Y_native_event": 18125, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8397, + "last_Y_native_event": 18126, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8398, + "last_Y_native_event": 18127, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8399, + "last_Y_native_event": 18128, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8400, + "last_Y_native_event": 18129, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8401, + "last_Y_native_event": 18130, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8402, + "last_Y_native_event": 18131, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8403, + "last_Y_native_event": 18132, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8404, + "last_Y_native_event": 18133, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8405, + "last_Y_native_event": 18134, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8406, + "last_Y_native_event": 18135, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8407, + "last_Y_native_event": 18136, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + } + }, + "negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "plan_sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "reader_sha256": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", + "scope": "Retained persistent wire paths and scalar accesses, arbitrary Clifford frame gauges, and priced fusions, with raw input and full-F output frames on every productive path. The global one-shot application inherits the owner-job invoice and exact mode history. This check is not a global native emitter or supplier admission.", + "scratch_scope": "No array COPY or CLEAR occurs in the two emitted mode macro words. This does not assert absence of private scratch in real-arithmetic lowering. Private zero arrays are excluded from productive paths; the allowed rewrite does not move a productive lifetime into them or reset its frame for free.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/verify_geodesic.py b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/verify_geodesic.py new file mode 100644 index 0000000000..563a4e4ad7 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/verify_geodesic.py @@ -0,0 +1,235 @@ +"""Check the retained wire paths and the common-boundary rank invoice.""" + +from collections import Counter +from hashlib import sha256 +from importlib.util import module_from_spec, spec_from_file_location +from pathlib import Path +import argparse +import gzip +import json +import subprocess + + +BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +ARCHIVE_HASH = "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754" +PLAN = "research/complex-t16-rare-pattern-exchanges/data/PLAN.json" +PLAN_HASH = "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0" +PINS = { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": + "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": + "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7", + "history-encoding/ONE-SHOT-MAX48.json": + "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", +} +ASSEMBLY_HASH = "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045" +READER_HASH = "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860" + + +def require(condition, label): + if not condition: + raise ValueError(label) + + +def pin(path, expected): + raw = path.read_bytes() + require(sha256(raw).hexdigest() == expected, str(path) + " source pin") + return raw + + +def load_reader(path): + pin(path, READER_HASH) + spec = spec_from_file_location("geodesic_source_reader", path) + reader = module_from_spec(spec) + spec.loader.exec_module(reader) + return reader + + +def audit_program(word, program, original, reader): + frames, start = word["frames"], word["start"] + labels = [reader.lagrangian(frame) for frame in frames] + current = list(start) + paid = [0] * len(start) + profile, operations = Counter(), Counter() + touches = [[] for _ in start] + native_kinds = ("climb", "adapter", "residual_adapter") + require([e for e in program if e[0] in native_kinds] == + [e for e in original if e[0] in native_kinds], + "complete retained native inventory") + + def distance(left, right): + return len(reader.gf2_basis(labels[left] + labels[right])) - 9 + + for index, event in enumerate(program): + kind = event[0] + if kind == "phase": + continue + if kind == "scalar": + gate, frame = event[1:] + operations[gate[0]] += 1 + require(gate[0] in ("add", "scale"), "no persistent reset or copy in this word") + registers = [gate[1]] + ([gate[2]] if gate[0] == "add" else []) + for bank, register in registers: + require(bank == "L" and 0 <= register < len(start), "persistent scalar register") + require(current[register] == frame, "scalar access frame") + touches[register].append((index, kind, event)) + continue + require(kind in native_kinds, "retained native grammar") + register = event[2] + touches[register].append((index, kind, event)) + if kind != "climb": + continue + _, part, register, before, after, rank = event + require(current[register] == before, "continuous persistent frame path") + require(len(reader.gf2_basis(frames[before] + frames[after])) == len(frames[after]), + "nested upward native step") + require(rank == len(frames[after]) - len(frames[before]) == distance(before, after), + "exact paid native rank") + paid[register] += rank + profile[rank] += 1 + current[register] = after + endpoint = [distance(a, b) for a, b in zip(start, current)] + require(paid == endpoint, "each persistent path attains its endpoint distance") + require(sum(paid) == 5522 and sum(profile.values()) == 3486, "retained local rank invoice") + normalized = list(endpoint) + boundary_rows = [] + for port, q in enumerate(word["ports"]): + x, y = port, word["v"] + port + require(frames[start[x]] == [q] and start[y] == 0, "old data input frames") + require(current[x] == 1, "old source full output frame") + require(len(reader.gf2_basis(reader.transform(labels[start[x]], q) + labels[0])) == 9, + "source line gauge gives raw input") + require(len(reader.gf2_basis(reader.transform(labels[current[y]], q) + labels[1])) == 9, + "target line gauge gives full output") + require(endpoint[x] == endpoint[y] == 8, "old two data path distances") + normalized[x] = distance(0, current[x]) + normalized[y] = distance(start[y], 1) + require(normalized[x] == normalized[y] == 9, "new two data path distances") + first, last = touches[x][0], touches[y][-1] + require(first[1] == last[1] == "adapter", "literal adjacent boundary adapters") + require(first[2][1] == "old_to_new" and last[2][1] == "new_to_old", + "literal boundary adapter direction") + first_climb = next(t for t in touches[x] if t[1] == "climb") + last_climb = next(t for t in reversed(touches[y]) if t[1] == "climb") + before = sum(t[1] == "scalar" and first[0] < t[0] < first_climb[0] for t in touches[x]) + after = sum(t[1] == "scalar" and last_climb[0] < t[0] < last[0] for t in touches[y]) + require(before > 0 and after > 0, "scalar access prevents direct paid-child adjacency") + boundary_rows.append({"port": port, "line": q, "first_X_native_event": first[0], + "last_Y_native_event": last[0], "X_scalar_uses_before_paid_child": before, + "Y_scalar_uses_after_paid_child": after}) + require(sum(normalized) == 5746, "normalized local endpoint lower bound") + return {"persistent_paths": len(start), "native_climbs": sum(profile.values()), + "rank_zero_wrappers": sum(e[0] in ("adapter", "residual_adapter") for e in program), + "scalar_macros": dict(operations), "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, "private_C_references": 0, + "native_profile": dict(sorted(profile.items())), "rank_mass": sum(paid), + "wire_endpoint_distance_sum": sum(endpoint), + "normalized_endpoint_distance_sum": sum(normalized), + "minimum_added_rank_for_both_local_data_boundaries": sum(normalized) - sum(endpoint), + "boundary_native_adjacency": boundary_rows} + + +def main(args): + lane = Path(__file__).parent + lanes = lane.parent + reader = load_reader(lanes / "temporal-reuse/review_wire_gauge.py") + word, original = reader.load_source(args.repo) + programs = {} + for name in ("FULL-MODE", "ONE-SIDED-MODE"): + relative = "history-encoding/" + name + "-PROGRAMS.json.gz" + programs[name] = json.loads(gzip.decompress(pin(lanes / relative, PINS[relative]))) + checks = {name: {side: audit_program(word, program, original[side], reader) + for side, program in variants.items()} for name, variants in programs.items()} + + controls = [] + for label, operation in (("wrong_native_rank", "rank"), ("persistent_clear", "clear"), + ("wrong_scalar_frame", "frame")): + changed = json.loads(json.dumps(programs["FULL-MODE"]["forward"])) + if operation == "rank": + next(e for e in changed if e[0] == "climb")[-1] -= 1 + elif operation == "clear": + changed.insert(0, ["scalar", ["clear", ["L", 0]], word["start"][0]]) + else: + event = next(e for e in changed if e[0] == "scalar") + event[-1] = 1 if event[-1] == 0 else 0 + try: + audit_program(word, changed, original["forward"], reader) + except ValueError as error: + controls.append({"control": label, "rejected_by": str(error)}) + else: + raise ValueError("negative control accepted: " + label) + + plan_raw = subprocess.check_output(["git", "-C", str(args.repo), "show", BASE + ":" + PLAN]) + require(sha256(plan_raw).hexdigest() == PLAN_HASH, "pinned controller plan") + plan = json.loads(plan_raw) + require((plan["T"], plan["M"], plan["live"], plan["K"], plan["L"]) == + (16, 73, 14336, 4, 9), "global productive geometry") + assembly_path = lanes.parent / "sources/research__community-frontier1094-audit__ASSEMBLY.json" + assembly = json.loads(pin(assembly_path, ASSEMBLY_HASH)) + old_profile = Counter({int(r): count for r, count in assembly["complex_profile"].items()}) + old_mass = sum(r * count for r, count in old_profile.items()) + require(old_mass == 1041408 and old_profile[8] == 1152, "selected whole invoice") + mode_plan = json.loads(pin(lanes / "history-encoding/ONE-SHOT-MAX48.json", + PINS["history-encoding/ONE-SHOT-MAX48.json"])) + mode_count = sum(stage["mode_copies_all_replicas"] for stage in mode_plan["stages"]) + require(mode_count == 1152, "nine fresh mode cohorts") + tails = Counter() + for stage in mode_plan["stages"]: + preparation = stage["preparation"]["children_in_execution_order"] + completion = stage["completion"]["children_in_execution_order"] + ranks = [child["rank"] for child in preparation + completion] + require(sum(ranks) + stage["active"]["rank"] == 73, "each mode has full rank history") + for rank in ranks: + tails[rank] += stage["mode_copies_all_replicas"] + delta = Counter(tails) + delta[8] -= 1152 + delta[9] += 1152 + require(dict(sorted(delta.items())) == + {int(r): count for r, count in mode_plan["conditional_child_profile_delta"].items()}, + "complete inherited mode delta") + before = Counter(old_profile) + before.update(delta) + live = plan["live"] + mode_count + bound = 73 * live + before_mass = sum(r * count for r, count in before.items()) + normalized = Counter(before) + normalized[1] += plan["live"] + require(old_mass - 8 * 1152 == 72 * plan["live"], "old non-centre geodesic mass") + require(before_mass == 72 * plan["live"] + 73 * mode_count == 1116288, + "one-shot pre-normalization whole invoice") + require(sum(r * count for r, count in normalized.items()) == bound == 1130624, + "common-boundary normalized invoice reaches the lower bound") + require(all(0 < r <= 48 and count >= 0 for r, count in normalized.items()), + "proper child ranks and nonnegative multiplicities") + report = {"status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE", + "source_base": BASE, "archive_sha256": ARCHIVE_HASH, + "source_program_pins": PINS, "reader_sha256": READER_HASH, + "assembly_sha256": ASSEMBLY_HASH, "plan_sha256": PLAN_HASH, + "local_words": checks, "negative_controls": controls, + "global_ledger": {"ambient_rank": 73, "replicas": 16, + "old_productive_families": plan["live"], "new_mode_families": mode_count, + "productive_families": live, "old_native_rank_mass": old_mass, + "before_boundary_rank_mass": before_mass, + "common_boundary_path_lower_bound": bound, + "minimum_added_rank": bound - before_mass, + "minimum_added_rank_per_replica_average": (bound - before_mass) // 16, + "literal_normalized_profile": dict(sorted(normalized.items())), + "moment_at_b_zero": "1", "moment_for_every_b_positive": ">1"}, + "scope": "Retained persistent wire paths and scalar accesses, arbitrary Clifford frame gauges, " + "and priced fusions, with raw input and full-F output frames on every productive path. " + "The global one-shot application inherits the owner-job invoice and exact mode history. " + "This check is not a global native emitter or supplier admission.", + "scratch_scope": "No array COPY or CLEAR occurs in the two emitted mode macro words. " + "This does not assert absence of private scratch in real-arithmetic lowering. " + "Private zero arrays are excluded from productive paths; the allowed rewrite " + "does not move a productive lifetime into them or reset its frame for free."} + args.out.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n") + print(report["status"]) + print("local rank 5522 -> at least 5746; whole common-boundary rank 1130624; added rank 14336") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/temporal-reuse/review_wire_gauge.py b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/temporal-reuse/review_wire_gauge.py new file mode 100644 index 0000000000..70ac4c6a7d --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/temporal-reuse/review_wire_gauge.py @@ -0,0 +1,454 @@ +"""Independently check a wire-gauge flow certificate from pinned local programs.""" + +from collections import Counter, defaultdict +from fractions import Fraction +from hashlib import sha256 +from itertools import product +from pathlib import Path +import argparse +import gzip +import io +import json +import subprocess +import tarfile + + +BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +ARCHIVE = "research/community-frontier1042-audit/selected-replay.tar.gz" +MEMBERS = { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", +} + + +def check(value, message): + if not value: + raise ValueError(message) + + +def load_source(repo): + raw = subprocess.check_output(["git", "show", BASE + ":" + ARCHIVE], cwd=repo) + check(sha256(raw).hexdigest() == "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", "Archive pin") + with tarfile.open(fileobj=io.BytesIO(raw), mode="r:gz") as archive: + output = [] + for name, expected in MEMBERS.items(): + payload = archive.extractfile(name).read() + check(sha256(payload).hexdigest() == expected, "Member pin: " + name) + output.append(json.loads(gzip.decompress(payload))) + return output + + +def gf2_basis(rows): + pivot = {} + for value in rows: + while value: + index = value.bit_length() - 1 + if index not in pivot: + pivot[index] = value + break + value ^= pivot[index] + return list(pivot.values()) + + +def lagrangian(frame): + orthogonal = gf2_basis(x for x in range(1, 512) + if all((x & row).bit_count() % 2 == 0 for row in frame)) + rows = [u | (u << 9) for u in frame] + [v << 9 for v in orthogonal] + check(len(gf2_basis(rows)) == 9, "Canonical Lagrangian dimension") + return rows + + +def transform(rows, line): + return [v ^ (line if ((v >> 9) & line).bit_count() % 2 else 0) for v in rows] + + +def frame_span(frame): + result = {0} + for row in frame: + result |= {value ^ row for value in result} + return result + + +def scalar_endpoint(word, program, backward): + n = len(word["start"]) + rows = [{j: Fraction(1)} for j in range(n + 8)] + def index(register): + return register[1] + (n if register[0] == "C" else 0) + for event in program: + if event[0] != "scalar": + continue + gate = event[1] + i = index(gate[1]) + if gate[0] == "clear": + rows[i] = {} + elif gate[0] == "copy": + rows[i] = rows[index(gate[2])].copy() + elif gate[0] == "scale": + factor = Fraction(gate[2], gate[3]) + rows[i] = {j: factor * value for j, value in rows[i].items()} + else: + check(gate[0] == "add", "Scalar opcode") + factor = Fraction(gate[3], gate[4]) + for j, value in list(rows[index(gate[2])].items()): + value = rows[i].get(j, Fraction(0)) + factor * value + if value: + rows[i][j] = value + else: + rows[i].pop(j, None) + expected = [{j: Fraction(1)} for j in range(n)] + [{} for _ in range(8)] + for p in range(word["v"]): + if backward: + expected[p][word["v"] + p] = Fraction(-1) + else: + expected[word["v"] + p][p] = Fraction(1) + check(rows == expected, "The original scalar endpoint is not the stated dirty shear") + + +def check_orientation_duality(word, programs): + records = [] + for name in ("forward", "backward"): + current = {("L", r): ("L", r, 0) for r in range(len(word["start"]))} + serial = Counter() + clear_count = Counter() + scalar_links = Counter() + native_edges = [] + for event in programs[name]: + kind = event[0] + if kind == "scalar": + gate, frame = event[1:] + target = tuple(gate[1]) + if gate[0] == "clear": + clear_count[target] += 1 + level = "dead" if clear_count[target] == 2 else ("high" if frame else "low") + current[target] = ("C", target[1], level) + elif gate[0] in ("add", "copy"): + scalar_links[tuple(sorted((current[target], current[tuple(gate[2])])))] += 1 + elif kind == "center": + _, register, before, after, rank = event + old = current["C", register] + current["C", register] = ("C", register, "high" if after else "low") + native_edges.append(("center", tuple(sorted((old, current["C", register]))), + tuple(sorted((before, after))), rank)) + elif kind in ("climb", "adapter", "residual_adapter"): + register = event[2] + old = current["L", register] + serial[register] += 1 + current["L", register] = ("L", register, serial[register]) + native_edges.append((kind, old, current["L", register], tuple(event[1:]))) + check(set(clear_count.values()) == {2} and len(clear_count) == 8, + "Private lifetimes for orientation duality") + records.append((scalar_links, native_edges, + [current["L", r] for r in range(len(word["start"]))])) + check(records[0] == records[1], "The forward and backward gauge graphs differ") + + +def rebuild_graph(word, program, certificate): + labels = [] + links = [] + native = [] + current = {} + def fresh(frame): + labels.append(frame) + return len(labels) - 1 + for r, frame in enumerate(word["start"]): + current["L", r] = fresh(frame) + starts = [current["L", r] for r in range(len(word["start"]))] + previous_scalar = None + for event_index, event in enumerate(program): + kind = event[0] + if kind == "phase": + continue + if kind == "scalar": + gate, frame = event[1:] + target = tuple(gate[1]) + if gate[0] == "clear": + check(target[0] == "C", "Persistent CLEAR") + current[target] = fresh(frame) + else: + check(target in current and labels[current[target]] == frame, "Scalar target frame") + if gate[0] in ("add", "copy"): + source = tuple(gate[2]) + check(source in current and labels[current[source]] == frame, "Scalar source frame") + links.append((current[target], current[source])) + if gate[0] == "copy": + check(previous_scalar == ["scalar", ["clear", list(target)], frame], + "COPY must follow a fresh CLEAR in this source word") + else: + check(gate[0] == "scale", "Unexpected scalar operation") + previous_scalar = event + continue + if kind == "climb": + _, _, register, before, after, rank = event + key = ("L", register) + elif kind == "center": + _, register, before, after, rank = event + key = ("C", register) + else: + check(kind in ("adapter", "residual_adapter"), "Unexpected native operation") + key = ("L", event[2]) + before = after = labels[current[key]] + rank = 0 + check(labels[current[key]] == before, "Native entrance frame") + old = current[key] + current[key] = fresh(after) + native.append((old, current[key], before, after, rank, kind, event_index)) + ends = [current["L", r] for r in range(len(starts))] + check([labels[node] for node in ends] == word["final"], "Persistent final frames") + for helper in range(2 * word["v"], len(starts)): + links.append((starts[helper], ends[helper])) + for port in range(word["v"]): + for node in (starts[word["v"] + port], ends[port], ends[word["v"] + port]): + links.append((starts[port], node)) + + # Components are built after all constraints, with a different root rule. + parent = list(range(len(labels))) + def find(node): + while parent[node] != node: + node = parent[node] + return node + for left, right in links: + a, b = find(left), find(right) + parent[max(a, b)] = min(a, b) + roots = {find(node) for node in range(len(labels))} + graph = certificate["graph"] + check(graph["paired_boundaries"] and not graph["fixed"], "Boundary mode") + check(len(labels) == graph["raw_segments"], "Segment count") + check(len(roots) == len(graph["labels"]), "Component count") + check(len(labels) - len(roots) == graph["scalar_access_unions"], "Union count") + check(len(native) == len(graph["edges"]), "Native edge count") + mapping = {} + inverse = {} + centres = [] + for position, (ours, saved) in enumerate(zip(native, graph["edges"])): + check(list(ours[2:]) == saved[2:], "A native edge differs from the source word") + for node, component in zip(ours[:2], saved[:2]): + root = find(node) + check(mapping.get(root, component) == component, "A source component was split") + check(inverse.get(component, root) == root, "Source components were merged") + mapping[root] = component + inverse[component] = root + if ours[5] == "center": + centres.append(position) + check(centres == graph["centre_edges"] and len(centres) == 8, "Centre traversal inventory") + check(len(roots - mapping.keys()) == 8, "Unexpected isolated wire components") + check(len(set(range(len(roots))) - inverse.keys()) == 8, "Unexpected isolated certificate components") + return graph["edges"] + + +def reduce_energy(edges, fixed, count): + values = defaultdict(lambda: [0, 0]) + constant = 0 + capacity = Counter() + for (u, v), weight in edges.items(): + if u in fixed and v in fixed: + constant += weight * (fixed[u] != fixed[v]) + elif u in fixed or v in fixed: + anchor, other = (u, v) if u in fixed else (v, u) + for bit in (0, 1): + values[other][bit] += weight * (fixed[anchor] != bit) + else: + check(weight >= 0, "A negative edge is not covered by a branch variable") + capacity[u, v] += weight + capacity[v, u] += weight + for node, (zero_cost, one_cost) in values.items(): + constant += min(zero_cost, one_cost) + if one_cost > zero_cost: + capacity[count, node] += one_cost - zero_cost + elif zero_cost > one_cost: + capacity[node, count + 1] += zero_cost - one_cost + return constant, {pair: value for pair, value in capacity.items() if value} + + +def check_flow_cut(case, signed_edges, count, fixed, expected_energy): + check(case["fixed"] == [list(item) for item in sorted(fixed.items())], "Fixed branch assignments") + selected = set(case["flipped_frames"]) + check(len(selected) == len(case["flipped_frames"]) and selected <= set(range(count)), "Selected nodes") + check(all((node in selected) == bool(bit) for node, bit in fixed.items()), "Cut violates a fixed bit") + constant, capacity = reduce_energy(signed_edges, fixed, count) + check(constant == case["constant"], "Cut constant") + flow = {} + for u, v, value in case["flow"]: + check(all(type(x) is int for x in (u, v, value)) and 0 <= u < v < count + 2, + "Flow entry type or node") + check((u, v) not in flow, "Duplicate flow entry") + flow[u, v], flow[v, u] = value, -value + divergence = Counter() + for (u, v), value in flow.items(): + check(-capacity.get((v, u), 0) <= value <= capacity.get((u, v), 0), "Flow capacity") + divergence[u] += value + check(all(divergence[node] == 0 for node in range(count)), "Flow conservation") + flow_value = divergence[count] + check(flow_value == case["flow_value"] and divergence[count + 1] == -flow_value, + "Flow terminal values") + zero_side = {count} | (set(range(count)) - set(fixed) - selected) + cut = sum(value for (u, v), value in capacity.items() if u in zero_side and v not in zero_side) + check(cut == flow_value, "The feasible flow and cut do not agree") + energy = sum(weight for (u, v), weight in signed_edges.items() if (u in selected) != (v in selected)) + check(energy == flow_value + constant == expected_energy, "Exact objective") + return energy, capacity, flow, selected + + +def zero_cut_rigidity(capacity, flow, count, fixed, native): + forward, reverse = defaultdict(list), defaultdict(list) + for u, v in capacity.keys() | flow.keys(): + if capacity.get((u, v), 0) - flow.get((u, v), 0) > 0: + forward[u].append(v) + reverse[v].append(u) + def reachable(start, adjacency): + seen, pending = {start}, [start] + while pending: + for target in adjacency[pending.pop()]: + if target not in seen: + seen.add(target) + pending.append(target) + return seen + zero = reachable(count, forward) - {count} + one = reachable(count + 1, reverse) - {count + 1} + check(not (zero & one), "A residual source to sink path remains") + forced = dict(fixed) + forced.update((node, 0) for node in zero) + forced.update((node, 1) for node in one) + incident = {node for edge in native for node in edge[:2]} + check(incident <= forced.keys(), "A native gauge is free in an optimal cut") + values = {forced[node] for node in incident} + check(len(values) == 1, "An optimal native gauge is not constant") + check(len(set(range(count)) - forced.keys()) == 8, + "The optimal cut has unexpected isolated freedom") + return dict(common_native_bit=values.pop(), forced_native_components=len(incident), + free_isolated_zero_components=8) + + +def check_profile(case, native, deltas, selected): + profile = Counter() + by_kind = Counter() + centres = [] + for index, (edge, delta) in enumerate(zip(native, deltas)): + u, v, _, _, rank, kind, _ = edge + crossed = (u in selected) != (v in selected) + profile[rank + delta * crossed] += 1 + by_kind[kind] += delta * crossed + if kind == "center" and crossed: + centres.append(index) + check(dict(profile) == {int(k): v for k, v in case["profile"].items()}, "Candidate child profile") + check(dict(by_kind) == case["kind_rank_delta"], "Candidate operation cost") + check(sum(by_kind.values()) == case["rank_delta"] and centres == case["changed_centres"], "Changed centre set") + + +def check_case(case, signed_edges, native, deltas, count, fixed): + energy, capacity, flow, selected = check_flow_cut(case, signed_edges, count, fixed, case["rank_delta"]) + check_profile(case, native, deltas, selected) + rigidity = (zero_cut_rigidity(capacity, flow, count, fixed, native) + if energy == 0 and case["forced_centre_cross"] is None else None) + return energy, rigidity + + +def run(repo, certificate_path): + raw = certificate_path.read_bytes() + digest = sha256(raw).hexdigest() + certificate = json.loads(gzip.decompress(raw) if certificate_path.suffix == ".gz" else raw) + word, programs = load_source(repo) + check(certificate["source_base"] == BASE, "Certificate source base") + check(certificate["word_sha256"] == MEMBERS["slots/local/CANONICAL-WORD.json.gz"], "Certificate word pin") + check(certificate["programs_sha256"] == MEMBERS["slots/local/LOCAL-PROGRAMS.json.gz"], "Certificate program pin") + for name, program in programs.items(): + scalar_endpoint(word, program, name == "backward") + check_orientation_duality(word, programs) + orientation = certificate["orientation"] + native = rebuild_graph(word, programs[orientation], certificate) + frames = word["frames"] + spaces = list(map(frame_span, frames)) + lagrangians = list(map(lagrangian, frames)) + count = len(certificate["graph"]["labels"]) + distinct_pairs = {(before, after, rank) for _, _, before, after, rank, _, _ in native} + for before, after, rank in distinct_pairs: + check(len(gf2_basis(lagrangians[before] + lagrangians[after])) - 9 == rank, "Original native rank") + summaries = [] + rank_checks = 0 + all_common = sorted(set.intersection(*(spaces[f] for f in word["center_frames"]))) + all_common = [a for a in all_common if a.bit_count() % 2] + for entry in certificate["lines"]: + line = entry["line"] + check(line in all_common, "The gauge line is not odd and common to the centre frames") + changed = [transform(rows, line) for rows in lagrangians] + pair_delta = {} + for before, after, rank in distinct_pairs: + left = len(gf2_basis(changed[before] + lagrangians[after])) - 9 + right = len(gf2_basis(lagrangians[before] + changed[after])) - 9 + both = len(gf2_basis(changed[before] + changed[after])) - 9 + check(left == right and both == rank, "Gauge bit symmetry") + lower, upper = (before, after) if len(frames[before]) <= len(frames[after]) else (after, before) + nested = spaces[lower] <= spaces[upper] + check(nested, "A native edge is not nested") + good = line in spaces[upper] and all((line & u).bit_count() % 2 == 0 for u in frames[lower]) + check(left - rank == (-1 if good else 1), "Signed edge price differs from direct Lagrangian rank") + pair_delta[before, after, rank] = left - rank + rank_checks += 3 + deltas = [pair_delta[edge[2], edge[3], edge[4]] for edge in native] + signed = Counter() + for edge, delta in zip(native, deltas): + if edge[0] != edge[1]: + signed[tuple(sorted(edge[:2]))] += delta + signed = {key: value for key, value in signed.items() if value} + cover = entry["negative_cover"] + check(len(set(cover)) == len(cover) and all(0 <= node < count for node in cover), "Branch cover nodes") + check(all(u in cover or v in cover for (u, v), weight in signed.items() if weight < 0), "Negative edge cover") + expected = {} + scenarios = [(None, {})] + for index in certificate["graph"]["centre_edges"]: + u, v = native[index][:2] + check(u != v, "A centre traversal is internally identified") + scenarios.extend(((index, bit), {u: bit, v: 1 - bit}) for bit in (0, 1)) + for scenario, forcing in scenarios: + for bits in product((0, 1), repeat=len(cover)): + fixed = dict(zip(cover, bits)) + if any(node in fixed and fixed[node] != bit for node, bit in forcing.items()): + continue + fixed.update(forcing) + expected[scenario, bits] = fixed + cases = {} + zero_cut_rigidity = [] + for case in entry["cases"]: + scenario = case["forced_centre_cross"] + scenario = tuple(scenario) if scenario is not None else None + key = scenario, tuple(case["branch"]) + check(key in expected and key not in cases, "Missing or repeated scenario") + cases[key], rigidity = check_case(case, signed, native, deltas, count, expected[key]) + if rigidity is not None: + zero_cut_rigidity.append(rigidity) + check(cases.keys() == expected.keys(), "The exhaustive branch list is incomplete") + ordinary = min(value for (scenario, _), value in cases.items() if scenario is None) + forced = min(value for (scenario, _), value in cases.items() if scenario is not None) + check(ordinary == entry["minimum_rank_delta"] and forced == entry["minimum_with_centre_cross"], "Reported minima") + summaries.append(dict(line=line, certified_cases=len(cases), minimum_rank_delta=ordinary, + minimum_if_any_centre_traversal_changes=forced, + all_zero_cost_cuts_constant_on_native_components=zero_cut_rigidity)) + check(sha256(certificate_path.read_bytes()).hexdigest() == digest, "Certificate changed during review") + return dict( + status="PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE", + certificate=str(certificate_path.resolve()), certificate_sha256=digest, + source_base=BASE, source_member_pins=MEMBERS, + original_scalar_endpoint_columns=712, original_scalar_orientations=2, + forward_backward_gauge_graph_isomorphism=True, + native_events=len(native), native_event_kinds=dict(Counter(e[5] for e in native)), + raw_segments=certificate["graph"]["raw_segments"], components=count, + fixed_external_components=0, isolated_final_zero_components=8, + direct_binary_rank_checks=rank_checks, common_odd_centre_lines=all_common, + all_common_odd_lines_reviewed=sorted(x["line"] for x in summaries) == all_common, + lines=summaries, + total_flow_cut_cases=sum(x["certified_cases"] for x in summaries), + proof_scope="A common odd line, two gauge values I and C_a, the old scalar schedule, and actual wire segments with paired boundary gauges.", + native_rank_scope="Exact binary ranks. The symbolic boundary identity includes phases; no changed native recipe is admitted.", + not_checked=["a changed native lowering", "whole-call hosting", "complete recursive moment", "selected cold replay"], + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() + result = run(args.repo, args.certificate) + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"]) + print("lines=" + str(len(result["lines"])) + " flow_cut_cases=" + str(result["total_flow_cut_cases"])) diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/portable/check_geodesic_review.py b/research/fixed-word-gauge-limits/annex/geodesic-boundary/portable/check_geodesic_review.py new file mode 100644 index 0000000000..87910cede0 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/portable/check_geodesic_review.py @@ -0,0 +1,344 @@ +"""Check the common-boundary obstruction from independent binary matrices.""" + +from collections import Counter, deque +from hashlib import sha256 +from pathlib import Path +import argparse +import gzip +import json +import resource + + +ANNEX = Path(__file__).resolve().parents[1] +PACKAGE = ANNEX.parents[1] +LANES = ANNEX / "frozen/lanes" +HERE = LANES / "encoded-controller/review" +BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +ARCHIVE = "research/community-frontier1042-audit/selected-replay.tar.gz" +ARCHIVE_PIN = "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754" +MEMBERS = { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", +} +PINS = { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", +} +GIT_PINS = { + "research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e", +} + + +def require(condition, label): + if not condition: + raise ValueError(label) + + +def rank(rows): + pivots = {} + for value in rows: + while value: + pivot = value.bit_length() - 1 + if pivot not in pivots: + pivots[pivot] = value + break + value ^= pivots[pivot] + return len(pivots) + + +def image(matrix, value): + result = 0 + for column in matrix: + if value & 1: + result ^= column + value >>= 1 + require(value == 0, "Matrix domain") + return result + + +def compose(left, right): + return tuple(image(left, column) for column in right) + + +def inverse(matrix): + n = len(matrix) + rows = [sum(((column >> i) & 1) << j for j, column in enumerate(matrix)) | (1 << (n + i)) + for i in range(n)] + for i in range(n): + pivot = next((j for j in range(i, n) if (rows[j] >> i) & 1), None) + require(pivot is not None, "Nonsingular binary matrix") + rows[i], rows[pivot] = rows[pivot], rows[i] + for j in range(n): + if j != i and (rows[j] >> i) & 1: + rows[j] ^= rows[i] + result = tuple(sum(((rows[i] >> (n + j)) & 1) << i for i in range(n)) for j in range(n)) + require(compose(matrix, result) == tuple(1 << i for i in range(n)), "Binary inverse") + return result + + +def pairing(a, b, n=9): + mask = (1 << n) - 1 + return (((a & mask) & (b >> n)).bit_count() + ((b & mask) & (a >> n)).bit_count()) % 2 + + +def canonical_label(frame): + rows = list(frame) + pivots = [] + for j in range(9): + p = len(pivots) + k = next((k for k in range(p, len(rows)) if (rows[k] >> j) & 1), None) + if k is None: + continue + rows[p], rows[k] = rows[k], rows[p] + for k in range(len(rows)): + if k != p and (rows[k] >> j) & 1: + rows[k] ^= rows[p] + pivots.append(j) + require(len(pivots) == len(frame), "Independent canonical frame basis") + nullspace = [] + for j in range(9): + if j not in pivots: + nullspace.append((1 << j) | sum(((rows[i] >> j) & 1) << p for i, p in enumerate(pivots))) + result = [u | (u << 9) for u in frame] + [v << 9 for v in nullspace] + require(len(result) == rank(result) == 9, "Lagrangian dimension") + require(all(pairing(a, b) == 0 for a in result for b in result), "Isotropic canonical label") + return result + + +def distance(left, right): + return rank([sum(pairing(a, b) << j for j, b in enumerate(right)) for a in left]) + + +def read_source(): + result = {} + for member, expected in MEMBERS.items(): + raw = (PACKAGE / "data" / Path(member).name).read_bytes() + require(sha256(raw).hexdigest() == expected, "Local member pin") + result[member] = json.loads(gzip.decompress(raw)) + require(set(result) == set(MEMBERS), "Local source inventory") + return result["slots/local/CANONICAL-WORD.json.gz"], result["slots/local/LOCAL-PROGRAMS.json.gz"] + + +def local_paths(word, program, original, matrices): + current = list(word["start"]) + paid = [0] * len(current) + touches = [[] for _ in current] + counts = Counter() + profile = Counter() + native_kinds = ("climb", "adapter", "residual_adapter") + require([e for e in program if e[0] in native_kinds] == [e for e in original if e[0] in native_kinds], "Source native inventory") + for index, event in enumerate(program): + kind = event[0] + if kind == "phase": + continue + if kind == "scalar": + gate, frame = event[1:] + require(gate[0] in ("add", "scale"), "No persistent COPY or CLEAR") + registers = [gate[1]] + ([gate[2]] if gate[0] == "add" else []) + for bank, register in registers: + require(bank == "L" and 0 <= register < len(current), "No private array bank") + require(current[register] == frame, "Equal scalar frames") + touches[register].append((index, kind, event)) + counts[gate[0]] += 1 + else: + require(kind in native_kinds, "Native grammar") + register = event[2] + touches[register].append((index, kind, event)) + counts[kind] += 1 + if kind == "climb": + before, after, paid_rank = event[3:] + require(current[register] == before, "Continuous native path") + require(rank(word["frames"][before] + word["frames"][after]) == len(word["frames"][after]), "Nested source frames") + native_rank = distance(matrices[before], matrices[after]) + require(native_rank == paid_rank == len(word["frames"][after]) - len(word["frames"][before]), "Direct symplectic pairing rank") + paid[register] += paid_rank + profile[paid_rank] += 1 + current[register] = after + require(current == word["final"], "Pinned final frames") + endpoints = [distance(matrices[first], matrices[last]) for first, last in zip(word["start"], current)] + require(paid == endpoints and sum(paid) == 5522, "All individual endpoint distances") + boundary_touches = [] + for port, line in enumerate(word["ports"]): + x, y = port, 112 + port + empty = [1 << (9 + j) for j in range(9)] + full = [(1 << j) | (1 << (9 + j)) for j in range(9)] + line_action = lambda basis: [v ^ (line if ((v >> 9) & line).bit_count() % 2 else 0) for v in basis] + require(distance(matrices[word["start"][x]], line_action(empty)) == 0 + and distance(matrices[current[x]], full) == 0, "Source line and full frames") + require(distance(matrices[word["start"][y]], empty) == 0 + and distance(matrices[current[y]], line_action(full)) == 0, "Target empty and complement frames") + require(endpoints[x] == endpoints[y] == 8 and distance(empty, line_action(empty)) == 1, "Data endpoint distance") + first, last = touches[x][0], touches[y][-1] + require(first[1] == last[1] == "adapter" and first[2][1] == "old_to_new" and last[2][1] == "new_to_old", "Rank-zero boundary wrappers") + first_paid = next(t[0] for t in touches[x] if t[1] == "climb") + last_paid = next(t[0] for t in reversed(touches[y]) if t[1] == "climb") + before = sum(first[0] < t[0] < first_paid and t[1] == "scalar" for t in touches[x]) + after = sum(last_paid < t[0] < last[0] and t[1] == "scalar" for t in touches[y]) + require(before > 0 and after > 0, "Paid child has intervening scalar access") + boundary_touches.append((before, after)) + require(sum(endpoints[224:]) + 224 * 9 == 5746, "All normalized endpoint distances") + return {"persistent_paths": len(current), "rank_mass": sum(paid), + "normalized_endpoint_distance_sum": 5746, "native_profile": dict(profile), + "counts": dict(counts), "scalar_uses_before_first_X_paid_child": sorted({a for a, b in boundary_touches}), + "scalar_uses_after_last_Y_paid_child": sorted({b for a, b in boundary_touches})} + + +def clifford_control(): + n, mask = 2, 3 + unit = tuple(1 << i for i in range(4)) + generators = [] + for i in range(n): + h = list(unit) + h[i], h[n + i] = h[n + i], h[i] + generators.append(tuple(h)) + s = list(unit) + s[i] ^= 1 << (n + i) + generators.append(tuple(s)) + for i, j in ((0, 1), (1, 0)): + c = list(unit) + c[i] ^= 1 << j + c[n + j] ^= 1 << (n + i) + generators.append(tuple(c)) + group, pending = {unit}, deque([unit]) + while pending: + s = pending.popleft() + for g in generators: + t = compose(g, s) + if t not in group: + group.add(t) + pending.append(t) + require(len(group) == 720, "Complete Sp(4,2) control group") + inverse_group = {s: inverse(s) for s in group} + labels = {s: inverse_group[s][n:] for s in group} + distance = lambda a, b: rank(a + b) - n + spaces = {} + for basis in labels.values(): + spaces[tuple(sorted((0, basis[0], basis[1], basis[0] ^ basis[1])))] = basis + require(len(spaces) == 15, "All two-dimensional Lagrangians") + wrong_order_detected = False + for t in group: + for u in group: + relative = compose(u, inverse_group[t]) + rho = rank([column & mask for column in relative[n:]]) + require(rho == distance(labels[t], labels[u]), "Relative Fourier rank equals endpoint distance") + wrong = compose(inverse_group[t], u) + wrong_order_detected |= rank([column & mask for column in wrong[n:]]) != rho + for a in spaces.values(): + for b in spaces.values(): + for c in spaces.values(): + require(distance(a, c) <= distance(a, b) + distance(b, c), "Metric triangle control") + monomials = [m for m in group if not rank([v & mask for v in m[n:]])] + for m in monomials: + for t in group: + require(distance(labels[compose(m, t)], labels[t]) == 0, "Left monomial frame invariance") + require(wrong_order_detected, "Relative operator order negative control") + return {"symplectic_frames": 720, "ordered_frame_pairs": 720 ** 2, + "distinct_Lagrangians": 15, "metric_triples": 15 ** 3, + "left_monomial_checks": len(monomials) * 720, "wrong_relative_order_rejected": True, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality."} + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--producer-receipt", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() + report_path = args.producer_receipt + report = json.loads(report_path.read_text()) + expected = json.loads((HERE / "GEODESIC-rerun.json").read_text()) + reader_hash = sha256((PACKAGE / "checkers/review_wire_gauge.py").read_bytes()).hexdigest() + require(report["reader_sha256"] == reader_hash, "Portable source reader pin") + expected["reader_sha256"] = reader_hash + require(report == expected, "Producer reproduction with declared reader hash change") + word, original = read_source() + matrices = [canonical_label(frame) for frame in word["frames"]] + local = {} + for variant in ("FULL-MODE", "ONE-SIDED-MODE"): + relative = "history-encoding/" + variant + "-PROGRAMS.json.gz" + raw = (LANES / relative).read_bytes() + require(sha256(raw).hexdigest() == PINS[relative], "Mode program pin") + programs = json.loads(gzip.decompress(raw)) + require(set(programs) == {"forward", "backward"}, "Orientation inventory") + local[variant] = {} + for side, program in programs.items(): + result = local_paths(word, program, original[side], matrices) + saved = report["local_words"][variant][side] + require(result["rank_mass"] == saved["rank_mass"] and result["counts"]["add"] == saved["scalar_macros"]["add"], "Saved local invoice") + require(result["counts"]["scale"] == 731 and result["counts"]["climb"] == 3486 + and result["counts"]["adapter"] + result["counts"]["residual_adapter"] == 1570, "Complete local event count") + local[variant][side] = result + sources = {} + for path, pin in GIT_PINS.items(): + raw = (ANNEX / "sources" / path).read_bytes() + require(sha256(raw).hexdigest() == pin, "Pinned global or prior source") + sources[path] = raw.decode() if path.endswith(".md") else json.loads(raw) + prior = sources["research/format-limits-corrected/README.md"] + require("**Theorem N (proof).**" in prior and "Prepared by DreamingOfClouds with Claude Opus 5.5" in prior, "Prior theorem and source credit") + plan = sources["research/complex-t16-rare-pattern-exchanges/data/PLAN.json"] + assembly = sources["research/community-frontier1094-audit/ASSEMBLY.json"] + require((plan["T"], plan["K"], plan["L"], plan["M"], plan["live"], plan["deficit"]) == (16, 4, 9, 73, 14336, 5120), "Pinned global geometry") + old_profile = Counter({int(k): v for k, v in assembly["complex_profile"].items()}) + mode_path = LANES / "history-encoding/ONE-SHOT-MAX48.json" + require(sha256(mode_path.read_bytes()).hexdigest() == PINS["history-encoding/ONE-SHOT-MAX48.json"], "Mode plan pin") + mode_plan = json.loads(mode_path.read_text()) + delta = Counter({8: -1152, 9: 1152}) + for stage, record in enumerate(mode_plan["stages"]): + require(record["stage"] == stage and record["mode_copies_all_replicas"] == 128 + and record["active"]["rank"] == 9, "Fresh mode cohort") + for label, axes in (("preparation", 8 * stage), ("completion", 64 - 8 * stage)): + ranks = [] if not axes else [axes] if axes <= 48 else [48, axes - 48] + require([child["rank"] for child in record[label]["children_in_execution_order"]] == ranks, "Mode coordinate splits") + for r in ranks: + delta[r] += 128 + require(len(mode_plan["stages"]) == 9, "All fresh cohorts") + before = Counter(old_profile) + before.update(delta) + normalized = Counter(before) + normalized[1] += 14336 + mass = lambda profile: sum(r * count for r, count in profile.items()) + require(mass(old_profile) == 1041408 and mass(before) == 1116288 and mass(normalized) == 1130624, "Complete native rank invoice") + require(73 * (plan["live"] + 1152) == mass(normalized), "Productive endpoint lower bound") + require((mass(normalized) - mass(before)) // 16 == 896, "Per-replica average increase") + require(max(normalized) == 48 and all(count >= 0 for count in normalized.values()), "Admitted profile ranks") + require({str(r): c for r, c in normalized.items()} == report["global_ledger"]["literal_normalized_profile"], "Saved complete normalized profile") + toy = clifford_control() + files = [LANES / "source-domain/GEODESIC-BOUNDARY.md", + ANNEX / "portable/verify_geodesic.py", report_path, + PACKAGE / "checkers/review_wire_gauge.py", Path(__file__).resolve()] + receipt = { + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION", + "source_base": BASE, "source_archive_sha256": ARCHIVE_PIN, + "source_member_pins": MEMBERS, "source_program_pins": PINS, "source_git_pins": GIT_PINS, + "local_method": "Construct each canonical Lagrangian with a Gaussian nullspace calculation. Compute each distance as the rank of the 9 by 9 symplectic pairing matrix between its two Lagrangians. This also covers source frames with singular Gram matrices. Check each persistent path and scalar access in all four mode words.", + "source_frames": len(matrices), "local_words": local, "small_Clifford_control": toy, + "proof": [ + "Apply S(T)^-1 to both spaces in d(Z,S(T)S(U)^-1 Z) to obtain d(L(T),L(U)). This proves the stated order of U T^-1.", + "The two intersections inside a middle n-dimensional space give dim(L intersect H) >= dim(L intersect K)+dim(K intersect H)-n. This proves the path triangle bound in every dimension.", + "A left monomial Clifford preserves Z, so it cannot change L(T). A common right gauge at both helper endpoints applies one symplectic map to both spaces and preserves their distance.", + "The local frame IDs are relative chart labels in both orientations. The backward chart D_U=T_U F_9^-1 has one common right factor, which preserves every local distance. The global common-I/common-F boundary condition is a separate premise.", + "Retained paths with I and full-F endpoints each have distance 73. Native events belong to one path. Array permutations transport path labels. No productive path may receive a free frame reset or transfer into zero workspace.", + "The complete pinned profile plus the checked conditional mode delta gives 1116288 before normalizers. The 15488 common-boundary productive paths require 1130624, an increase of 14336, or 896 per replica on average.", + "All ranks in the literal normalized profile are below 73. Its rank mass equals 73N, so its moment equals one at exponent zero and exceeds one for every positive exponent. Any admitted retained-path fusion with ranks at most 73 still has moment at least one." + ], + "global_ledger": report["global_ledger"], + "executed_negative_controls": report["negative_controls"], + "scope": "Retained persistent array paths, their scalar accesses, and common-I/common-F productive endpoints with identity joint content. This is not a lower bound for virtual-Q boundaries or changed controllers.", + "inherited_premises": ["Exact mode phases and full-F monomial access from the separate interface reviews", "The whole-owner hosting and backfill invoice", "The original selected supplier's native lowering"], + "not_rerun": ["A global native emitter", "New owner allocation or supplier admission", "The old selected supplier's full admission", "Scalar or address pricing"], + "scratch_scope": "The emitted array macros have no COPY, CLEAR, or C-bank references. Private scalar temporaries do not add productive native paths. New persistent workspace and lifetime transfers are outside this theorem.", + "prior_credit": {"source": "https://github.com/CrocSwap/integer-mult-bounds/blob/" + BASE + "/research/format-limits-corrected/README.md#L392-L438", + "statement": "Section C.2, Theorem N already gives the canonical-subspace port-gauge geodesic bound.", + "source_credit": "The pinned README credits DreamingOfClouds with Claude Opus 5.5 assistance. No external account identity was inferred."}, + "reviewed_files_sha256": {str(path): sha256(path.read_bytes()).hexdigest() for path in files}, + "maximum_resident_bytes": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, + } + args.out.write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") + print(receipt["status"]) + print("all_four_local_words=true normalized_rank=1130624 minimum_added_rank=14336") + + +if __name__ == "__main__": + main() diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/portable/verify_geodesic.py b/research/fixed-word-gauge-limits/annex/geodesic-boundary/portable/verify_geodesic.py new file mode 100644 index 0000000000..7466552a29 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/portable/verify_geodesic.py @@ -0,0 +1,235 @@ +"""Check the retained wire paths and the common-boundary rank invoice.""" + +from collections import Counter +from hashlib import sha256 +from importlib.util import module_from_spec, spec_from_file_location +from pathlib import Path +import argparse +import gzip +import json + + +ANNEX = Path(__file__).resolve().parents[1] +PACKAGE = ANNEX.parents[1] + +BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +ARCHIVE_HASH = "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754" +PLAN = "research/complex-t16-rare-pattern-exchanges/data/PLAN.json" +PLAN_HASH = "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0" +PINS = { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": + "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": + "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7", + "history-encoding/ONE-SHOT-MAX48.json": + "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", +} +ASSEMBLY_HASH = "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045" +READER_HASH = "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a" + + +def require(condition, label): + if not condition: + raise ValueError(label) + + +def pin(path, expected): + raw = path.read_bytes() + require(sha256(raw).hexdigest() == expected, str(path) + " source pin") + return raw + + +def load_reader(path): + pin(path, READER_HASH) + spec = spec_from_file_location("geodesic_source_reader", path) + reader = module_from_spec(spec) + spec.loader.exec_module(reader) + return reader + + +def audit_program(word, program, original, reader): + frames, start = word["frames"], word["start"] + labels = [reader.lagrangian(frame) for frame in frames] + current = list(start) + paid = [0] * len(start) + profile, operations = Counter(), Counter() + touches = [[] for _ in start] + native_kinds = ("climb", "adapter", "residual_adapter") + require([e for e in program if e[0] in native_kinds] == + [e for e in original if e[0] in native_kinds], + "complete retained native inventory") + + def distance(left, right): + return len(reader.gf2_basis(labels[left] + labels[right])) - 9 + + for index, event in enumerate(program): + kind = event[0] + if kind == "phase": + continue + if kind == "scalar": + gate, frame = event[1:] + operations[gate[0]] += 1 + require(gate[0] in ("add", "scale"), "no persistent reset or copy in this word") + registers = [gate[1]] + ([gate[2]] if gate[0] == "add" else []) + for bank, register in registers: + require(bank == "L" and 0 <= register < len(start), "persistent scalar register") + require(current[register] == frame, "scalar access frame") + touches[register].append((index, kind, event)) + continue + require(kind in native_kinds, "retained native grammar") + register = event[2] + touches[register].append((index, kind, event)) + if kind != "climb": + continue + _, part, register, before, after, rank = event + require(current[register] == before, "continuous persistent frame path") + require(len(reader.gf2_basis(frames[before] + frames[after])) == len(frames[after]), + "nested upward native step") + require(rank == len(frames[after]) - len(frames[before]) == distance(before, after), + "exact paid native rank") + paid[register] += rank + profile[rank] += 1 + current[register] = after + endpoint = [distance(a, b) for a, b in zip(start, current)] + require(paid == endpoint, "each persistent path attains its endpoint distance") + require(sum(paid) == 5522 and sum(profile.values()) == 3486, "retained local rank invoice") + normalized = list(endpoint) + boundary_rows = [] + for port, q in enumerate(word["ports"]): + x, y = port, word["v"] + port + require(frames[start[x]] == [q] and start[y] == 0, "old data input frames") + require(current[x] == 1, "old source full output frame") + require(len(reader.gf2_basis(reader.transform(labels[start[x]], q) + labels[0])) == 9, + "source line gauge gives raw input") + require(len(reader.gf2_basis(reader.transform(labels[current[y]], q) + labels[1])) == 9, + "target line gauge gives full output") + require(endpoint[x] == endpoint[y] == 8, "old two data path distances") + normalized[x] = distance(0, current[x]) + normalized[y] = distance(start[y], 1) + require(normalized[x] == normalized[y] == 9, "new two data path distances") + first, last = touches[x][0], touches[y][-1] + require(first[1] == last[1] == "adapter", "literal adjacent boundary adapters") + require(first[2][1] == "old_to_new" and last[2][1] == "new_to_old", + "literal boundary adapter direction") + first_climb = next(t for t in touches[x] if t[1] == "climb") + last_climb = next(t for t in reversed(touches[y]) if t[1] == "climb") + before = sum(t[1] == "scalar" and first[0] < t[0] < first_climb[0] for t in touches[x]) + after = sum(t[1] == "scalar" and last_climb[0] < t[0] < last[0] for t in touches[y]) + require(before > 0 and after > 0, "scalar access prevents direct paid-child adjacency") + boundary_rows.append({"port": port, "line": q, "first_X_native_event": first[0], + "last_Y_native_event": last[0], "X_scalar_uses_before_paid_child": before, + "Y_scalar_uses_after_paid_child": after}) + require(sum(normalized) == 5746, "normalized local endpoint lower bound") + return {"persistent_paths": len(start), "native_climbs": sum(profile.values()), + "rank_zero_wrappers": sum(e[0] in ("adapter", "residual_adapter") for e in program), + "scalar_macros": dict(operations), "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, "private_C_references": 0, + "native_profile": dict(sorted(profile.items())), "rank_mass": sum(paid), + "wire_endpoint_distance_sum": sum(endpoint), + "normalized_endpoint_distance_sum": sum(normalized), + "minimum_added_rank_for_both_local_data_boundaries": sum(normalized) - sum(endpoint), + "boundary_native_adjacency": boundary_rows} + + +def main(args): + lanes = ANNEX / "frozen/lanes" + reader = load_reader(PACKAGE / "checkers/review_wire_gauge.py") + word, original = reader.load_source() + programs = {} + for name in ("FULL-MODE", "ONE-SIDED-MODE"): + relative = "history-encoding/" + name + "-PROGRAMS.json.gz" + programs[name] = json.loads(gzip.decompress(pin(lanes / relative, PINS[relative]))) + checks = {name: {side: audit_program(word, program, original[side], reader) + for side, program in variants.items()} for name, variants in programs.items()} + + controls = [] + for label, operation in (("wrong_native_rank", "rank"), ("persistent_clear", "clear"), + ("wrong_scalar_frame", "frame")): + changed = json.loads(json.dumps(programs["FULL-MODE"]["forward"])) + if operation == "rank": + next(e for e in changed if e[0] == "climb")[-1] -= 1 + elif operation == "clear": + changed.insert(0, ["scalar", ["clear", ["L", 0]], word["start"][0]]) + else: + event = next(e for e in changed if e[0] == "scalar") + event[-1] = 1 if event[-1] == 0 else 0 + try: + audit_program(word, changed, original["forward"], reader) + except ValueError as error: + controls.append({"control": label, "rejected_by": str(error)}) + else: + raise ValueError("negative control accepted: " + label) + + plan_raw = (ANNEX / "sources" / PLAN).read_bytes() + require(sha256(plan_raw).hexdigest() == PLAN_HASH, "pinned controller plan") + plan = json.loads(plan_raw) + require((plan["T"], plan["M"], plan["live"], plan["K"], plan["L"]) == + (16, 73, 14336, 4, 9), "global productive geometry") + assembly_path = ANNEX / "sources/research/community-frontier1094-audit/ASSEMBLY.json" + assembly = json.loads(pin(assembly_path, ASSEMBLY_HASH)) + old_profile = Counter({int(r): count for r, count in assembly["complex_profile"].items()}) + old_mass = sum(r * count for r, count in old_profile.items()) + require(old_mass == 1041408 and old_profile[8] == 1152, "selected whole invoice") + mode_plan = json.loads(pin(lanes / "history-encoding/ONE-SHOT-MAX48.json", + PINS["history-encoding/ONE-SHOT-MAX48.json"])) + mode_count = sum(stage["mode_copies_all_replicas"] for stage in mode_plan["stages"]) + require(mode_count == 1152, "nine fresh mode cohorts") + tails = Counter() + for stage in mode_plan["stages"]: + preparation = stage["preparation"]["children_in_execution_order"] + completion = stage["completion"]["children_in_execution_order"] + ranks = [child["rank"] for child in preparation + completion] + require(sum(ranks) + stage["active"]["rank"] == 73, "each mode has full rank history") + for rank in ranks: + tails[rank] += stage["mode_copies_all_replicas"] + delta = Counter(tails) + delta[8] -= 1152 + delta[9] += 1152 + require(dict(sorted(delta.items())) == + {int(r): count for r, count in mode_plan["conditional_child_profile_delta"].items()}, + "complete inherited mode delta") + before = Counter(old_profile) + before.update(delta) + live = plan["live"] + mode_count + bound = 73 * live + before_mass = sum(r * count for r, count in before.items()) + normalized = Counter(before) + normalized[1] += plan["live"] + require(old_mass - 8 * 1152 == 72 * plan["live"], "old non-centre geodesic mass") + require(before_mass == 72 * plan["live"] + 73 * mode_count == 1116288, + "one-shot pre-normalization whole invoice") + require(sum(r * count for r, count in normalized.items()) == bound == 1130624, + "common-boundary normalized invoice reaches the lower bound") + require(all(0 < r <= 48 and count >= 0 for r, count in normalized.items()), + "proper child ranks and nonnegative multiplicities") + report = {"status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE", + "source_base": BASE, "archive_sha256": ARCHIVE_HASH, + "source_program_pins": PINS, "reader_sha256": READER_HASH, + "assembly_sha256": ASSEMBLY_HASH, "plan_sha256": PLAN_HASH, + "local_words": checks, "negative_controls": controls, + "global_ledger": {"ambient_rank": 73, "replicas": 16, + "old_productive_families": plan["live"], "new_mode_families": mode_count, + "productive_families": live, "old_native_rank_mass": old_mass, + "before_boundary_rank_mass": before_mass, + "common_boundary_path_lower_bound": bound, + "minimum_added_rank": bound - before_mass, + "minimum_added_rank_per_replica_average": (bound - before_mass) // 16, + "literal_normalized_profile": dict(sorted(normalized.items())), + "moment_at_b_zero": "1", "moment_for_every_b_positive": ">1"}, + "scope": "Retained persistent wire paths and scalar accesses, arbitrary Clifford frame gauges, " + "and priced fusions, with raw input and full-F output frames on every productive path. " + "The global one-shot application inherits the owner-job invoice and exact mode history. " + "This check is not a global native emitter or supplier admission.", + "scratch_scope": "No array COPY or CLEAR occurs in the two emitted mode macro words. " + "This does not assert absence of private scratch in real-arithmetic lowering. " + "Private zero arrays are excluded from productive paths; the allowed rewrite " + "does not move a productive lifetime into them or reset its frame for free."} + args.out.write_text(json.dumps(report, indent=2, sort_keys=True) + "\n") + print(report["status"]) + print("local rank 5522 -> at least 5746; whole common-boundary rank 1130624; added rank 14336") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/replay.py b/research/fixed-word-gauge-limits/annex/geodesic-boundary/replay.py new file mode 100644 index 0000000000..f8fed7efad --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/replay.py @@ -0,0 +1,137 @@ +"""Replay the separate geodesic annex without changing the primary package.""" + +import argparse +import ast +from hashlib import sha256 +import json +from pathlib import Path +import subprocess +import sys +import time + + +ANNEX = Path(__file__).resolve().parent +PACKAGE = ANNEX.parents[1] + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def digest(path): + return sha256(path.read_bytes()).hexdigest() + + +def check_files(root, files): + for name, expected in files.items(): + require(digest(root / name) == expected, "File pin: " + name) + + +def same_json(left, right): + return json.dumps(left, sort_keys=True) == json.dumps(right, sort_keys=True) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() + require(sys.version_info >= (3, 10), "Python 3.10 or later is required") + output = args.out.resolve() + require(output != PACKAGE and PACKAGE not in output.parents, + "Use an output directory outside the full package") + require(not output.exists(), "Use a new output directory") + manifest = json.loads((ANNEX / "ANNEX-MANIFEST.json").read_text()) + check_files(ANNEX, manifest["files"]) + parent = json.loads((ANNEX / "PARENT-SNAPSHOT.json").read_text()) + check_files(PACKAGE, parent["files"]) + sources = json.loads((ANNEX / "SOURCES.json").read_text()) + check_files(ANNEX, {item["path"]: item["sha256"] for item in sources["files"]}) + check_files(PACKAGE, sources["parent_inputs"]) + adaptations = json.loads((ANNEX / "PORTABILITY.json").read_text()) + for item in adaptations: + original, portable = ANNEX / item["source"], ANNEX / item["portable"] + require(digest(original) == item["source_sha256"], "Original checker hash") + require(digest(portable) == item["portable_sha256"], "Portable checker hash") + functions = [] + for path in (original, portable): + functions.append({node.name: ast.dump(node, include_attributes=False) + for node in ast.parse(path.read_text()).body + if isinstance(node, ast.FunctionDef) + and node.name in item["unchanged_function_names"]}) + require(functions[0] == functions[1], "Mathematical function changed") + output.mkdir(parents=True) + checks = [] + jobs = [ + ("producer", "verify_geodesic.py", [], "GEODESIC-CHECKS.json"), + ("independent", "check_geodesic_review.py", + ["--producer-receipt", str(output / "GEODESIC-CHECKS.json")], "GEODESIC-REVIEW.json"), + ] + for name, script, options, destination in jobs: + command = [sys.executable, "-I", "-B"] + if sys.flags.optimize: + command.append("-O") + command += [str(ANNEX / "portable" / script), *options, + "--out", str(output / destination)] + started = time.monotonic() + run = subprocess.run(command, cwd=output, capture_output=True, text=True) + (output / (name + ".stdout.txt")).write_text(run.stdout) + (output / (name + ".stderr.txt")).write_text(run.stderr) + require(run.returncode == 0, name + " failed; inspect its output logs") + actual = json.loads((output / destination).read_text()) + if name == "producer": + expected = json.loads((ANNEX / "frozen/lanes/source-domain/GEODESIC-CHECKS.json").read_text()) + require(actual["reader_sha256"] == digest(PACKAGE / "checkers/review_wire_gauge.py"), + "Actual parent reader hash") + expected["reader_sha256"] = actual["reader_sha256"] + require(same_json(actual, expected), "Producer mathematical receipt differs") + require(len(actual["negative_controls"]) == 3, "Geodesic damage-control inventory") + changes = ["reader_sha256: pinned portable parent reader"] + else: + expected = json.loads((ANNEX / "frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json").read_text()) + reviewed = [ANNEX / "frozen/lanes/source-domain/GEODESIC-BOUNDARY.md", + ANNEX / "portable/verify_geodesic.py", output / "GEODESIC-CHECKS.json", + PACKAGE / "checkers/review_wire_gauge.py", ANNEX / "portable/check_geodesic_review.py"] + require(actual["reviewed_files_sha256"] == {str(path): digest(path) for path in reviewed}, + "Fresh review file hashes") + require(isinstance(actual["maximum_resident_bytes"], int) + and actual["maximum_resident_bytes"] >= 0, "Runtime memory metadata") + for field in ("reviewed_files_sha256", "maximum_resident_bytes"): + expected.pop(field) + actual.pop(field) + expected.pop("review_update") + require(same_json(actual, expected), "Independent mathematical receipt differs") + changes = ["reviewed_files_sha256: actual paths and executed checker hashes", + "maximum_resident_bytes: runtime metadata", + "review_update: retained only in the frozen historical review"] + checks.append({"check": name, "status": actual["status"], + "receipt": destination, "receipt_sha256": digest(output / destination), + "seconds": round(time.monotonic() - started, 6), + "declared_metadata_changes": changes, + "all_other_typed_json_fields_equal": True}) + print(actual["status"], flush=True) + check_files(PACKAGE, parent["files"]) + check_files(ANNEX, manifest["files"]) + result = { + "status": "PASS_GEODESIC_BOUNDARY_ANNEX", + "python": sys.version, + "optimized": bool(sys.flags.optimize), + "parallel_workers": 1, + "checks": checks, + "historical_source": sources["historical_revision"], + "parent_files_unchanged": len(parent["files"]), + "parent_manifest_sha256": sources["parent_manifest_sha256"], + "annex_manifest_sha256": digest(ANNEX / "ANNEX-MANIFEST.json"), + "frozen_source_files": len(sources["files"]), + "application_scope": "Retained productive paths and scalar access, common I/full-F productive endpoints, identity joint content; inherited one-shot mode and whole-owner invoice", + "complete_kappa_improvement": False, + "not_rerun": ["Primary fixed-word package's mathematical checks", "Global native emitter", + "One-shot mode native admission", "Whole-owner hosting review", + "Current selected PR4470 replay", "Scalar/address or recursive repricing"], + } + (output / "REPLAY.json").write_text(json.dumps(result, sort_keys=True, indent=2) + "\n") + print(result["status"]) + + +if __name__ == "__main__": + main() diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/community-frontier1094-audit/ASSEMBLY.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/community-frontier1094-audit/ASSEMBLY.json new file mode 100644 index 0000000000..5fd676df06 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/community-frontier1094-audit/ASSEMBLY.json @@ -0,0 +1,345 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "836330098538459/500000000000000000", + "kappa_decimal": "0.001672660197076918", + "complex_lower": "67018507072324140917/40000000000000000000000", + "complex_decimal": "0.001675462676808103522925", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "gain_over_pr635_percent": "2.225753072846734155686237293080565286991751430561837568524869952894006", + "complex_profile": { + "1": 349604, + "2": 60192, + "3": 62585, + "4": 20448, + "5": 11808, + "7": 7, + "8": 1152, + "48": 4866 + }, + "provider_counts": { + "gauge44": 144 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "1675462673946628390003/1000000000000000000000000", + "conservative_complex_decimal": "0.001675462673946628390003", + "conservative_kappa": "104541262139063/62500000000000000", + "conservative_kappa_decimal": "0.001672660194225008", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1675462673946628390003/1000000000000000000000000", + "accept": true, + "mercator": [ + "-9477943787127246252114078401047446902088349/3369993333393829974333376885877453834204643052817571560137951281152", + "-37911775148508985008456313604189787608353395/13479973333575319897333507543509815336818572211270286240551805124608" + ], + "base_two": [ + "-14062260903435109658771/5000000000000000000000000000000000000000000000", + "-28124511806870219317401/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "418865668486657097501/250000000000000000000000", + "accept": false, + "mercator": [ + "785122817737487251360323365382501180303679/6739986666787659948666753771754907668409286105635143120275902562304", + "1570245635474974502720646730765002360607359/13479973333575319897333507543509815336818572211270286240551805124608" + ], + "base_two": [ + "29121704837234194839/250000000000000000000000000000000000000000000", + "1164878193489367793701/10000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "1672719936901733723941013678754606046077578825189978511794824059037242793668975202328129659991/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2742737044894666061983645782720007294031171810021488205175940962757206331024797671870340009/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4785575320504" + }, + { + "exponent": "1675458078593085218312040660818153764816233104573318346297481252562039366001553167060724596064338254398640072154860452679089426701487866530027/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4595353543171690956663719172288555376892426681653702518747437960633998446832939275403935661745601359927845139547320910573298512133469973/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1704765476910090189" + }, + { + "exponent": "1675462666247285054830442970288416897030906497822964321770204104752241064441971590857087666732381866167177964126563572213205210286771447648612054886738219829723627595016989839870190733879919/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "7699343335172554354248909156340703499177035678229795895247758935558028409142912333267618133832822035873436427786794789713228552351387945113261780170276372404983010160129809266120081/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "607288598888548790921228" + }, + { + "exponent": "1675462673933728427631015964717263684197943281973496759641273321854676680565638975150449678698528843599367004823064750102366777359345125457905262786558290059054631287442458769941662955873102918023405251635883578323072818311236251497950243/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "12899962371981359820062369173666715026503240358726678145323319434361024849550321301471156400632995176935249897633222640654874542094737213441709940945368712557541230058337044126897081976594748364116421676927181688763748502049757/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "216334415105865784879411203134" + }, + { + "exponent": "1675462673946606776597547753757284468914397348111672791536762618650746006847119006092287439220975223568432626917668165205209921472872117804273807041934415238338810525338012084376652944279070588792188733715069029648364515985850564644058847673533039191645232667825478722147025414307379271/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "21613405449570780041584457212648888327208463237381349253993152880993907712560779024776431567373082331834794790078527127882195726192958065584761661189474661987915623347055720929411207811266284930970351635484014149435355941152326466960808354767332174521277852974585692620729/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "77064807811065157671403130893305387" + }, + { + "exponent": "1675462673946628353790543236906837018994268067942761233727427353818691210464251050376758476302106776989352719214605910694555958443797426439860448154703028630733183575665927368014487684549879669285828463034853831749901954212088671168864170425089292905036474832925101921361968931044466640582512201309590690137287164584230136330974172187/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "36212454087630489034377341929057238766272572646181308789535748949623241523697893223010647280785394089305444041556202573560139551845296971369266816424334072631985512315450120330714171536965146168250098045787911328831135829574910707094963525167074898078638031068955533359417487798690409309862712835415769863669025827813/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "27452796172306184037585992127352896661365" + }, + { + "exponent": "1675462673946628389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "60672615155830892504866159425812143481842807745708742390039720572742681899922994299723138147627539676157163558630049165342230540303990435022760921983655619602865954469864532501692650664396192418996918742426594989159115524057826701297449314614012679279474573170653301881712099856009097193307827108038289389824500519357700940684138332222665251616554008955511446561/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9779509468522638102470520685957791421407368732" + } + ], + "conservative_outer": { + "bit_positive": "1675462673946628389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "60675290618504839133256162425812143481842807745708742390039720572742681899922994299723138147627539676157163558630049165342230540303990435022760921983655619602865954469864532501692650664396192418996918742426594989159115524057826701297449314614012679279474573170653301881712099856009097193307827108038289389824500519357700940684138332222665251616554008955511446561/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "29574537326053371609997/1000000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "60673615155830892504866159425812143481842807745708742390039720572742681899922994299723138147627539676157163558630049165342230540303990435022760921983655619602865954469864532501692650664396192418996918742426594989159115524057826701297449314614012679279474573170653301881712099856009097193307827108038289389824500519357700940684138332222665251616554008955511446561/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "1675462673946628389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "30338483040589392880823022037615453236082270616691945382876378443563595241219107110140996331131869915084282056176876955131439112988436587462215118761287505810997954474010282595226722466243626344965957678562633098387138765110170924053735498191482281813035989136012036928176770453431377943352031841919288685815056951851742432052679341610813268107336320339423500615248383445991044488553439/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "837731336973314194971285679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "499162268663026685805028714320771926366195018023537615453236082270616691945382876378443563595241219107110140996331131869915084282056176876955131439112988436587462215118761287505810997954474010282595226722466243626344965957678562633098387138765110170924053735498191482281813035989136012036928176770453431377943352031841919288685815056951851742432052679341610813268107336320339423500615248383445991044488553439/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "1675462673946628389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "60676966081178785761646104750521524977003674489546316577896238729934936191180604260002565404945639753162863835491901537802554383140431804973595579753115315612430931708942548846073047798441722554464417049775930592966696527139084274702460155498488621452773275721338687869032820381435926540005945395938433380727307211530592902394748507722145893915613324817179223895748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "1675462673946628389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "1675462673946628389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "30338483040589392880823022037615453236082270616691945382876378443563595241219107110140996331131869915084282056176876955131439112988436587462215118761287505810997954474010282595226722466243626344965957678562633098387138765110170924053735498191482281813035989136012036928176770453431377943352031841919288685815056951851742432052679341610813268107336320339423500615248383445991044488553439/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "499999999999999999999999500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561", + "epsilon_below_one": "837731336973314194971660679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561", + "guard_width": "837731336973314194971660679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561", + "K_geometry": "375837731336973314194971285679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561000000000000000000000000", + "K_dominates_log": "837731336973314194971284841496736660490787005176705318690283924401331592232576857638707021450726275766237447232463371304022828084819454176738475971293619589414740012677825482625589507741108478692279088531710847665316637548159833145239206200847507638579362888947282828357888064599486154554105042582557758068684896334851164745562886400180099487236006473446138583635095732339918110198019723890329294934947176248383445991044488553439/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561000000000000000000000000", + "record_suffix": "837731336973314194971660679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561", + "phase_local": "6701850695786513559772784596093252097125660840538397146037708030084487974552442208533761854762192525995250472914540281898432853691581315490818402180374563477179234181348812941948603826423036500525692031268005463250554933798221401456529234845076311170203214401606906855666636140647401896056867649408538112465220673441416143944857487737217902462867251082170445706883741489963953605891281039768391983515073103248383445991044488553439/4006701850695786513559769285433824589070439855811699076374111341835066464436936988972451491238070247143118872029350945040679325743550584984358948487096092507300302279049909699953512016364207917739238186220270050989240272338571498935212902889879118632607570116014468141745495712086911903704574585836372548976453183745264645690513479544385186060543578565267113493855141309437284611995078012932432071644091572488000000000000000000000000", + "phase_boundary": "1340370139157302711954156249033580840773776191179136046748634562031316425002851030572568864305994811500152849433784249354972258851113328003659612503500557636937410941421052979138990735056702309135143055051964671858337062941022253286206922941781405084147121590032393459270066471117878932397198980310498931302673677229699591534073852229069054028004398868479650622770693940136264009828870693822734668241815112848383445991044488553439/801340370139157302711953857086764917814087971162339815274822268367013292887387397794490298247614049428623774405870189008135865148710116996871789697419218501460060455809981939990702403272841583547847637244054010197848054467714299787042580577975823726521514023202893628349099142417382380740914917167274509795290636749052929138102695908877037212108715713053422698771028261887456922399015602586486414328818314497600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "999999999999999999999998499162268663026685805028839320771926366195018023537615453236082270616691945382876378443563595241219107110140996331131869915084282056176876955131439112988436587462215118761287505810997954474010282595226722466243626344965957678562633098387138765110170924053735498191482281813035989136012036928176770453431377943352031841919288685815056951851742432052679341610813268107336320339423500615248383445991044488553439/2003350925347893256779884642716912294535219927905849538187055670917533232218468494486225745619035123571559436014675472520339662871775292492179474243548046253650151139524954849976756008182103958869619093110135025494620136169285749467606451444939559316303785058007234070872747856043455951852287292918186274488226591872632322845256739772192593030271789282633556746927570654718642305997539006466216035822045786244000000000000000000000000", + "prime_interval_packing": "837731336973314194971660679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561", + "alpha_positive": "1675462673946628389942820520724810294295768981764089865454201653784639646849700479195143426209507168656096450901331501388938546028642577221607036858305183001952524893916537976814591553267098196097052366065467221320350679869597200046852067435737336714525627390755800546544852075463474117625928272129126380125332864492931876059747829448328357055183327131835325315527759412000494609582771340444338250446393737248383445991044488553439/1001675462673946628389942321358456147267609963952924769093527835458766616109234247243112872809517561785779718007337736260169831435887646246089737121774023126825075569762477424988378004091051979434809546555067512747310068084642874733803225722469779658151892529003617035436373928021727975926143646459093137244113295936316161422628369886096296515135894641316778373463785327359321152998769503233108017911022893122000000000000000000000000", + "alpha_below_one": "999999999999999999999999500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561/1001675462673946628389942321358456147267609963952924769093527835458766616109234247243112872809517561785779718007337736260169831435887646246089737121774023126825075569762477424988378004091051979434809546555067512747310068084642874733803225722469779658151892529003617035436373928021727975926143646459093137244113295936316161422628369886096296515135894641316778373463785327359321152998769503233108017911022893122000000000000000000000000", + "alpha_below_one_fourth": "248743402994540028707542759818889226522606722006467102407927757210907014380458861331583074776169883277788833050933102563653519312943268984300827243585200598704316367546702818270279909469495896662605334272701410965507166341291121483403954363181707577823447504860148458312548629929968519863909983342644157930902991119586108479597344642075745771728790333197359268050418572427829793640109604467832666227309329543251616554008955511446561/1001675462673946628389942321358456147267609963952924769093527835458766616109234247243112872809517561785779718007337736260169831435887646246089737121774023126825075569762477424988378004091051979434809546555067512747310068084642874733803225722469779658151892529003617035436373928021727975926143646459093137244113295936316161422628369886096296515135894641316778373463785327359321152998769503233108017911022893122000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "499160865075440791612030839141788690924313551030703512359372709471704575676772232577248094260989590037124504420170767295913424395564055810616345848851484588498495175856013482386559165475957975482129857812683169917049954841730039197886969440433134408492287411163213241915241893218288769289749867046000978510649085546885466934071333612987355001884424573153735198140914060592289673183685157704266276297823882807293425672956078579891508733380331018934747653825458606878394857095709300967766342628398188061433053411250283018550645637717355055870511629895689026320730284519098577019400372566147845856229282283208382297047707332277635636080477329802927434434911917397449496552209987061104759599326402594219284685820997872598597672318472668203165761779861005463966059247505832169126857485094758726721/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "28053614805566292108478159785983790723483461431407074648677111636095477644882649552071365118054486140996321840904116774601777284617981690881475978151515893889871787367004960260662786368527017985630042972329166544491891330922891824082972344084135076025172661632954328838633452924534088735062149841251872424403589359177586854163813702525025392958590762464691737095285903179340238871128184299137447612134462078058254849662026866534339683/4006701850695786513559769285433824589070439855811699076374111341835066464436936988972451491238070247143118872029350945040679325743550584984358948487096092507300302279049909699953512016364207917739238186220270050989240272338571498935212902889879118632607570116014468141745495712086911903704574585836372548976453183745264645690513479544385186060543578565267113493855141309437284611995078012932432071644091572488000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "2226550473268848047591768981247454579988104071528736217216604556349070533969263077329737024694750709563249371306397463241431971338498982128353241339380412573780475242829435083727484830774531058228243510071063000960333606144278249066762170330727039178281661627209910710903733835291494167953250660523509999247681949190104130051652348636356006036022468189794675561323369113127340521818044091436187211724887657/31302358208560832137185697542451754602112811373528899034172744858086456753413570226347277275297423805805616187729304258130307232371488945190304285055438222713283611555077419530886812627845374357337798329845859773353439627645089835431350803827180614317246641531363032357386685250678999247691988951846660538878540498009880044457136558940509266097996707541149324170743291479978786031211546976034625559719465410062500000000000000", + "coordinate_movement_above_kappa": "2802479721620389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "35624306734570231788154108728798594051736031339477803013081126137667399160200154620152170838679606594231097051043355742994781456500265770230528816561525714168924191347486080100927263103390451405662178756363730481608964043274409663630827823678771391962677510089094069565942023177699895823264047496552930441394289130393697922745726263996753048428101923089394150591987173917373768688512206078227378833589247000553439/500837731336973314194971160679228073633804981976462384546763917729383308054617123621556436404758780892889859003668868130084915717943823123044868560887011563412537784881238712494189002045525989717404773277533756373655034042321437366901612861234889829075946264501808517718186964010863987963071823229546568622056647968158080711314184943048148257567947320658389186731892663679660576499384751616554008955511446561000000000000000000000000", + "bulk_exposure_above_kappa": "2802479721620389942324709381495160866743837574187856518157192254291257609960279427257318100077005700276861852372460323842836441369950834657769459696009564977239078016344380397134045530135467498307349335603807581003081257573405010840884475942173298702550685385987320720525426829346698118287900143990902806692172891961710610175499480642299059315861667777334748383445991044488553439/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "56999191277951173045035090948774158019621830426153670698360529878618476286305080162517646275749213406038291015584771390112528381349855998662719933419577674877216753678648656904711117478825949564653316453045935290828166662259480854671744658853750968074181461710309212390617867996498239835615253837578626434172035842618697571241588810905770706373917617711423035980691517403396237697965429356014776066148168507753439/801340370139157302711953857086764917814087971162339815274822268367013292887387397794490298247614049428623774405870189008135865148710116996871789697419218501460060455809981939990702403272841583547847637244054010197848054467714299787042580577975823726521514023202893628349099142417382380740914917167274509795290636749052929138102695908877037212108715713053422698771028261887456922399015602586486414328818314497600000000000000000000000", + "scalar_work_above_kappa": "284997959740681213118432234628513507010403687350696259341340836448763298964757619281082717604491686065315026637359871626035162246412151768606091846572131922432337418544382809478405564150137929927225451884322786589166327931433573559108190900720199779930223612336604069187160212730347242634028121475186050357134667439685360488530789311268625724462618360346397813460204514587635907132133144319080346546776664584553439/4006701850695786513559769285433824589070439855811699076374111341835066464436936988972451491238070247143118872029350945040679325743550584984358948487096092507300302279049909699953512016364207917739238186220270050989240272338571498935212902889879118632607570116014468141745495712086911903704574585836372548976453183745264645690513479544385186060543578565267113493855141309437284611995078012932432071644091572488000000000000000000000000", + "dimension_above_kappa": "31197641791439167865040790430817093445478957607718555545815359213442279463803034330001793258671839271524120836965446451432942138934908518051127686283060759415069629784302993042893662614984060726389686500928671284874803882425973165528982802317097634749515528799364006820894976376530911463211744883444833629074710162513629954790545390249594863953655641095206681865279176709815889530111822137092714962098578681373687211724887657/31302358208560832137185697542451754602112811373528899034172744858086456753413570226347277275297423805805616187729304258130307232371488945190304285055438222713283611555077419530886812627845374357337798329845859773353439627645089835431350803827180614317246641531363032357386685250678999247691988951846660538878540498009880044457136558940509266097996707541149324170743291479978786031211546976034625559719465410062500000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.85191E-12", + "template_sha256": "9c4c51425251389ee9a747c465814cd07c64812c15b7aeef704dad7d65395a74", + "input_sha256": { + "owner_audit": "30bafff060afcfb3644e951214d66cfaffe58242881c652e28003958b42127cc", + "fresh_invoice": "212cf4ee3b16081bf66f300fa18b4070d25c17210c21c78c2967892c91870d12", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "67018507072324140917/40000000000000000000000", + "accept": true, + "mercator": [ + "-35161575700336957412970835679936878918177631/26959946667150639794667015087019630673637144422540572481103610249216", + "-35161575700336957412970835679936878918177629/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-163027/125000000000000000000000000000", + "-260843/200000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "837731338404051761463/500000000000000000000000", + "accept": false, + "mercator": [ + "43802465867485534890178553907434323023222757/26959946667150639794667015087019630673637144422540572481103610249216", + "43802465867485534890178553907434323023222759/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "1624723/1000000000000000000000000000000", + "406181/250000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "2676351903605968510955225199374139336419692211991205809803291212685832779316802617926399111/1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4388379286997125724770519885577770614671108008794190196708787314167220683197382073600889/1600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4785575287428" + }, + { + "exponent": "107229317213090343809558513333591284579279399862953574758040118663735837979673222607810293919010512865815663359806135729869323361652475213/64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "294102628281657641315436797399702095132937046425241959881336264162020326777392189706080989487134184336640193864270130676638347524787/64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1704765459304159860" + }, + { + "exponent": "4289184432918425945204602612810811814242177218571549743614845366342624240747502661971213062645949901457815846541829576632569723585538319837683356531863935997754461046639237713138409679/2560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "19710319073483390538004735557012804093428450256385154633657375759252497338028786937354050098542184153458170423367430276414461680162316643468136064002245538953360762286861590321/2560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "607288590542446415285737" + }, + { + "exponent": "171567378103828844589295714015277247208277763194683861086506039620411038425241223225415374750246673707197993416981116984785025248834072957802186876854129419662928338294140179682651151779349930844098048754952574172587583050727264357/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "1320956158224012017344647641921489285316138913493960379588961574758776774584625249753326292802006583018883015214974751165927042197813123145870580337071661705859820317348848220650069155901951245047425827412416949272735643/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "216334411393790970429839007220" + }, + { + "exponent": "6862695124205903501391156875228590725366338670593798130778146011247213048799329248276386353883527829505727811814785950491330293597981298780354995034957137345602662361138997814404555486275586374750298102671091066436586235588225737165500314750679738457912869234305574310420604631/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "88528509632166076285068641631428606201869221853988752786951200670751723613646116472170494272188185214049508669706402018701219645004965042862654397337638861002185595444513724413625249701897328908933563413764411774262834499685249320261542087130765694425689579395369/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "77064806225479172206224871399132079" + }, + { + "exponent": "274507804968239675262983012766557017278150386312268407171634736048569145063436078292308834161068093358180970305987390168436997280846699807340390028600235262791714958423212022381294505311826715320340799973882750272976631732616603410592302985180390981719778700426281993988599893959139653519462414098149103287619172127213213373/163840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "5933048548885638014482168417655731592828365263951430854936563921707691165838931906641819029694012609831563002719153300192659609971399764737208285041576787977618705494688173284679659200026117249727023368267383396589407697014819609018280221299573718006011400106040860346480537585901850896712380827872786786627/163840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "27452795513701194724472919763925196307643" + }, + { + "exponent": "10980312198729587247443638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "397624056133934612790045917604701917406215620419844115427082799655527875330373276202813015439178645161780564981523433953754464728175629739795987771170132335610054962043286727909210625262956284518441881092272459809674959821447510830927360669573314438695315588844257812872604553551784716471645774666643540006532795343845359798288152210341205493240883041/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9779509200503493187646549135972282547372018449" + } + ], + "outer": { + "bit_positive": "10980312198729587247443638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "397641590046133342377293758884701917406215620419844115427082799655527875330373276202813015439178645161780564981523433953754464728175629739795987771170132335610054962043286727909210625262956284518441881092272459809674959821447510830927360669573314438695315588844257812872604553551784716471645774666643540006532795343845359798288152210341205493240883041/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "1182981492927675859083/40000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "397630609733934612790045917604701917406215620419844115427082799655527875330373276202813015439178645161780564981523433953754464728175629739795987771170132335610054962043286727909210625262956284518441881092272459809674959821447510830927360669573314438695315588844257812872604553551784716471645774666643540006532795343845359798288152210341205493240883041/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "5490156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "10980312198729587247443638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "198826285179166035982270402440760912569765432916163173011623993612143517821071211018606852191713992207614079677746277798232070583522833346464040131120337992175287685033872193822269702576516098972493031335510966948552961468842663143003870659826835771836826867061459333121863581460303513978010014728768218218549926026148013255604069572375258901260643232347789658794506759116959/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "5490156099364793623722627424664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "3271309843900635206376277372575335265400775894323080760912569765432916163173011623993612143517821071211018606852191713992207614079677746277798232070583522833346464040131120337992175287685033872193822269702576516098972493031335510966948552961468842663143003870659826835771836826867061459333121863581460303513978010014728768218218549926026148013255604069572375258901260643232347789658794506759116959/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "10980312198729587247443638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "397652570358332071964541202523111871272873243126085230725165393439907455486257849120013359911303314788504362168507994775109302947610648216362034016705404159980315166055515557776875015207994241231713971881647196853390441379566418558467550994613492991184484661483588239558165858236195872213832902062089988221816323698070693154748145677545861647881084752847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "10980312198729587247443638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "10980312198729587247443638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "198826285179166035982270402440760912569765432916163173011623993612143517821071211018606852191713992207614079677746277798232070583522833346464040131120337992175287685033872193822269702576516098972493031335510966948552961468842663143003870659826835771836826867061459333121863581460303513978010014728768218218549926026148013255604069572375258901260643232347789658794506759116959/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "5490156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "3276799999999999999999996723200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041", + "epsilon_below_one": "5490156099364793623725085024664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041", + "guard_width": "5490156099364793623725085024664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041", + "K_geometry": "2463090156099364793623722627424664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041000000000000000000000000", + "K_dominates_log": "5490156099364793623722621934508635234430481954291814422695635342978159907749288576153289398342101800605386759951803828863596938929105913915760137030556844399813758100950245530658058779006258926515722472711168934899700790934191609567546011024188672367963077893134633070826316136809200493713908255366563547481323107134813242084964051983866715512614148977550767246752612371721782716464394501526273347789658794506759116959/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041000000000000000000000000", + "record_suffix": "5490156099364793623725085024664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041", + "phase_local": "43921248794918348989797397907161777428999221693545688034707277312565017696667920620868284773594603323475138794609805883410298381184881969328135642945897010974565477183107879585431044983769153569759834554675556242092249571585614840927675280742290030366935983274346782667968528067378985161860863185144438949635253004033435714555114569800830622723385661970923954937928109745287255104902847187707560347789658794506759116959/26258321248794918348989774465797317876793792845415353912699441876536670694615907008051102851857431430311851145182466288062339087362578029777614143435331817333228287678951037296062597698519729022449421842379387871208220055749315912264411576308249258694855969034721385313825305385063508325335025091348317571888175919882169854254251600591790815893955167443420997928789914854141217682729643945927064328000000000000000000000000", + "phase_boundary": "8784249758983669797956853749307475993964945361262557875153776083228462003942314179986003287649459073994222648636775433539028491122458147236820894680443144391935334022278042735352886167985935610222360651165259275516204972132885029398414234142883074482160755497238531607724220016572324893840790106490381439094517098297552311153834096368177907559251707234125611905996226432313108921187690446056097947789658794506759116959/5251664249758983669797954893159463575358758569083070782539888375307334138923181401610220570371486286062370229036493257612467817472515605955522828687066363466645657535790207459212519539703945804489884368475877574241644011149863182452882315261649851738971193806944277062765061077012701665067005018269663514377635183976433970850850320118358163178791033488684199585757982970828243536545928789185412865600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "6553599999999999999999990164109843900635206376278191775335265400775894323080760912569765432916163173011623993612143517821071211018606852191713992207614079677746277798232070583522833346464040131120337992175287685033872193822269702576516098972493031335510966948552961468842663143003870659826835771836826867061459333121863581460303513978010014728768218218549926026148013255604069572375258901260643232347789658794506759116959/13129160624397459174494887232898658938396896422707676956349720938268335347307953504025551425928715715155925572591233144031169543681289014888807071717665908666614143839475518648031298849259864511224710921189693935604110027874657956132205788154124629347427984517360692656912652692531754162667512545674158785944087959941084927127125800295895407946977583721710498964394957427070608841364821972963532164000000000000000000000000", + "prime_interval_packing": "5490156099364793623725085024664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041", + "alpha_positive": "10980312198729587247446887759173369833654587632030253510125869910061996734737664582541145880521030589586779907760089836655982859251359636117528066447034011053349717969829907538482771093972386732693452770134652835927207759598680642618993049555346009224959207233307797298989489269747741160592044673906260033503313092406045023866414125957718702257010079405175508345491969139373993057669887742409314347789658794506759116959/6564580312198729587247443616449329469198448211353838478174860469134167673653976752012775712964357857577962786295616572015584771840644507444403535858832954333307071919737759324015649424629932255612355460594846967802055013937328978066102894077062314673713992258680346328456326346265877081333756272837079392972043979970542463563562900147947703973488791860855249482197478713535304420682410986481766082000000000000000000000000", + "alpha_below_one": "6553599999999999999999996728690156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/6564580312198729587247443616449329469198448211353838478174860469134167673653976752012775712964357857577962786295616572015584771840644507444403535858832954333307071919737759324015649424629932255612355460594846967802055013937328978066102894077062314673713992258680346328456326346265877081333756272837079392972043979970542463563562900147947703973488791860855249482197478713535304420682410986481766082000000000000000000000000", + "alpha_below_one_fourth": "1630164765850952809564414016353158997465957465206429366033589247373479921678756523420652782360568433804903916666144053167240210100909767224983355898261204572273418261964609923465429585063510677170395412378577089114586545724733563873906730469710232659203538857436778784815092097296721529172847023535363588209507681900229570867024310911029207291115187885808636862203877709244452112112932858878032206152210341205493240883041/6564580312198729587247443616449329469198448211353838478174860469134167673653976752012775712964357857577962786295616572015584771840644507444403535858832954333307071919737759324015649424629932255612355460594846967802055013937328978066102894077062314673713992258680346328456326346265877081333756272837079392972043979970542463563562900147947703973488791860855249482197478713535304420682410986481766082000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "21438795909359212103616200334166424291758762958701354720819225409175913045478560967720640553831252868642841942253167261842634503755898200369741797654839235623990958395123196106347054256327521388059237907738555946116433881290788510172566978075812588267011140451521149354923953941516451675932972669173688634010916300353904340905724906488218546839456978701394526050828652398406301750429825860648483042370608582747954568848698913366833278528173238328138005355037693658990720351480360064483574940413515507656771079955155236699697879613531021952974589189172911760811581583760662741175548267502730611041487528161453816002373253929599277616955065382186662816403849986402330301408647863401260251417675068508475184504597426026825094537163396209229472942008595502577513065441407681/21510816767012797111492423242381162804669475098964257925283382785258840633029351020995463456241607827711468458133476383180668180367423921993821506302223824759380613266596689752934480034627362015190566373277194544093773869669839595327005963311717792722826009833243758849085690171444026020114452554832541754890793713567473544605082911204795036380328073169650481503264698248512485525692124320503451097497600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "183852169990359346791918231787649011312444723634488255975589738809965682587684973326699526516110961923459937180623299751035499065844803681645771170859812299632587468036912086617932281548765711786234360762509239914564143864527718190385744313548514975552314851432112198104074453651496454623199693415276059973921029359691768089653102262800296482965336684891718205351875279066317532744711374863634584926956631023616479722649123/26258321248794918348989774465797317876793792845415353912699441876536670694615907008051102851857431430311851145182466288062339087362578029777614143435331817333228287678951037296062597698519729022449421842379387871208220055749315912264411576308249258694855969034721385313825305385063508325335025091348317571888175919882169854254251600591790815893955167443420997928789914854141217682729643945927064328000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "1081110357609925260614972695003107315707432353068338487603991699409949621702495690156909535160235873839601108223405260050123543294943053402137660198994397070489620108165140795187785639656314293544597085375410582291108751565224554246715990585636803213137497296463685876362653172078415927035174159499690912068352607880037991076665304643497436633279437216679436871538992416375313119280028939340626181/1641145078049682396811860904112332367299612052838459619543715117283541918413494188003193928241089464394490696573904143003896192960161126861100883964708238583326767979934439831003912356157483063903088865148711741950513753484332244516525723519265578668428498064670086582114081586566469270333439068209269848243010994992635615890890725036986925993372197965213812370549369678383826105170602746620441520500000000000000000", + "coordinate_movement_above_kappa": "18366331166297442643638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "2162217432929694421865151766284406406750130106912571298288744311389664676321154553325443063932615265500273427465417372291961078797500186482021598196220864724502073562794321721495909271487916272123066364573090867158733602102942139828942948119826567895117657735931242412552142115993658721131807652121245405597008729738085996882098827505544799292706887688962943315453243734011269470907847537475759121116959/3282290156099364793623721808224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041000000000000000000000000", + "bulk_exposure_above_kappa": "18366331166297442643638409953866657622706241115298082593784379580155884572917200344472124669626723797186984560821354838219435018476566046245535271824370260204012228829867664389945037956713272090789374737043715481558118907727540190325040178552489169072639330426685561304684411155742187127395446448215283528354225333356459993467204656154640201711847789658794506759116959/6553600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "3459549862061604734603119000288135185599048930594577483413534350681604222364149381513734506124898314107794757333503684352109330751431850564586790435014141209089617692592490675721252039075493424376582867023583565908064103981211604925002136822590731750882654491687665464187325922487757833574016643520874500079031859194131586174097193077741723252642212348978267561300034633661645214043882264684510538316959/5251664249758983669797954893159463575358758569083070782539888375307334138923181401610220570371486286062370229036493257612467817472515605955522828687066363466645657535790207459212519539703945804489884368475877574241644011149863182452882315261649851738971193806944277062765061077012701665067005018269663514377635183976433970850850320118358163178791033488684199585757982970828243536545928789185412865600000000000000000000000", + "scalar_work_above_kappa": "17297762439468648070474769496327908826654183049869310124744628103128959380156094215522176556175917499254688942593091012993690684926702934111948840982142423711356755077106292854124908226676316381747425559828839019234256124016085899282966816318741812879042619886422844681629286525091481699624245885116918174553945240058617871955413092514508912158619008722475059516999137563265653140828252688244525655116959/26258321248794918348989774465797317876793792845415353912699441876536670694615907008051102851857431430311851145182466288062339087362578029777614143435331817333228287678951037296062597698519729022449421842379387871208220055749315912264411576308249258694855969034721385313825305385063508325335025091348317571888175919882169854254251600591790815893955167443420997928789914854141217682729643945927064328000000000000000000000000", + "dimension_above_kappa": "1635654921950317604269246176697592893315360642164647696163717235784796569190497511406755693461406225762418838586331730835704915263244133189022659330234814818810892219059957239485707752007657731284696774507602551594083331891078337774583028045958975578287492520966716631023415709897216606029214103869146078792163164507055296177461882843051065083293106678283624262730067538295610766368389669754871598780028939340626181/1641145078049682396811860904112332367299612052838459619543715117283541918413494188003193928241089464394490696573904143003896192960161126861100883964708238583326767979934439831003912356157483063903088865148711741950513753484332244516525723519265578668428498064670086582114081586566469270333439068209269848243010994992635615890890725036986925993372197965213812370549369678383826105170602746620441520500000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "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 new source-branch gauge and retired-basis completion, the gauge44-barch U8 local word and all 72 cold helper ends, and explicit all144 whole-owner dispatch with a two-copy remainder trade are composed with the cited unchanged merged PR589 bit supplier (PR555 punctured R439 word; derived bit deficit T(2Kv-L*cst)), replacing the PR543 supplier of PR635; This is a new T16 composition of the accepted PR799 and PR589 suppliers. 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." +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/complex-t16-rare-pattern-exchanges/data/PLAN.json b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/complex-t16-rare-pattern-exchanges/data/PLAN.json new file mode 100644 index 0000000000..f1bec76e8e --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/complex-t16-rare-pattern-exchanges/data/PLAN.json @@ -0,0 +1,85660 @@ +{ + "status": "FROZEN_EXPLICIT_T16_TWO_BANK_DIRECT_SUM_OWNER_NOMINATION", + "mode": "gauge44-all144-t16-idle-concentration", + "K": 4, + "T": 16, + "M": 73, + "L": 9, + "live": 14336, + "deficit": 5120, + "profile": { + "1": 349604, + "2": 60192, + "3": 62585, + "4": 20448, + "5": 11808, + "7": 7, + "8": 1152, + "48": 4866 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 9 + ], + [ + 1, + 0 + ], + [ + 1, + 8 + ], + [ + 0, + 2 + ], + [ + 0, + 10 + ], + [ + 1, + 1 + ], + [ + 1, + 9 + ], + [ + 2, + 0 + ], + [ + 2, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 11 + ], + [ + 1, + 2 + ], + [ + 1, + 10 + ], + [ + 2, + 1 + ], + [ + 2, + 9 + ], + [ + 3, + 0 + ], + [ + 3, + 8 + ], + [ + 0, + 4 + ], + [ + 0, + 12 + ], + [ + 1, + 3 + ], + [ + 1, + 11 + ], + [ + 2, + 2 + ], + [ + 2, + 10 + ], + [ + 3, + 1 + ], + [ + 3, + 9 + ], + [ + 4, + 0 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 0, + 13 + ], + [ + 1, + 4 + ], + [ + 1, + 12 + ], + [ + 2, + 3 + ], + [ + 2, + 11 + ], + [ + 3, + 2 + ], + [ + 3, + 10 + ], + [ + 4, + 1 + ], + [ + 4, + 9 + ], + [ + 5, + 0 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 0, + 14 + ], + [ + 1, + 5 + ], + [ + 1, + 13 + ], + [ + 2, + 4 + ], + [ + 2, + 12 + ], + [ + 3, + 3 + ], + [ + 3, + 11 + ], + [ + 4, + 2 + ], + [ + 4, + 10 + ], + [ + 5, + 1 + ], + [ + 5, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 15 + ], + [ + 6, + 0 + ], + [ + 6, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 14 + ], + [ + 2, + 5 + ], + [ + 2, + 13 + ], + [ + 3, + 4 + ], + [ + 3, + 12 + ], + [ + 4, + 3 + ], + [ + 4, + 11 + ], + [ + 5, + 2 + ], + [ + 5, + 10 + ], + [ + 6, + 1 + ], + [ + 6, + 9 + ], + [ + 1, + 7 + ], + [ + 1, + 15 + ], + [ + 7, + 0 + ], + [ + 7, + 8 + ], + [ + 2, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 5 + ], + [ + 3, + 13 + ], + [ + 4, + 4 + ], + [ + 4, + 12 + ], + [ + 5, + 3 + ], + [ + 5, + 11 + ], + [ + 6, + 2 + ], + [ + 6, + 10 + ], + [ + 7, + 1 + ], + [ + 7, + 9 + ], + [ + 2, + 7 + ], + [ + 2, + 15 + ], + [ + 8, + 0 + ], + [ + 8, + 8 + ], + [ + 3, + 6 + ], + [ + 3, + 14 + ], + [ + 4, + 5 + ], + [ + 4, + 13 + ], + [ + 5, + 4 + ], + [ + 5, + 12 + ], + [ + 6, + 3 + ], + [ + 6, + 11 + ], + [ + 7, + 2 + ], + [ + 7, + 10 + ], + [ + 8, + 1 + ], + [ + 8, + 9 + ], + [ + 3, + 7 + ], + [ + 3, + 15 + ], + [ + 4, + 6 + ], + [ + 4, + 14 + ], + [ + 5, + 5 + ], + [ + 5, + 13 + ], + [ + 6, + 4 + ], + [ + 6, + 12 + ], + [ + 7, + 3 + ], + [ + 7, + 11 + ], + [ + 8, + 2 + ], + [ + 8, + 10 + ], + [ + 4, + 7 + ], + [ + 4, + 15 + ], + [ + 5, + 6 + ], + [ + 5, + 14 + ], + [ + 6, + 5 + ], + [ + 6, + 13 + ], + [ + 7, + 4 + ], + [ + 7, + 12 + ], + [ + 8, + 3 + ], + [ + 8, + 11 + ], + [ + 5, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 6 + ], + [ + 6, + 14 + ], + [ + 7, + 5 + ], + [ + 7, + 13 + ], + [ + 8, + 4 + ], + [ + 8, + 12 + ], + [ + 6, + 7 + ], + [ + 6, + 15 + ], + [ + 7, + 6 + ], + [ + 7, + 14 + ], + [ + 8, + 5 + ], + [ + 8, + 13 + ], + [ + 7, + 7 + ], + [ + 7, + 15 + ], + [ + 8, + 6 + ], + [ + 8, + 14 + ], + [ + 8, + 7 + ], + [ + 8, + 15 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "8,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "8,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + ], + "9,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "9,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,1": [ + 8, + [ + 5, + 6, + 7, + 8, + 9, + 10 + ] + ], + "0,3": [ + 8, + [ + 5, + 6, + 7, + 8, + 9, + 10 + ] + ], + "8,1": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "8,3": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ] + ], + "10,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "10,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "1,1": [ + 8, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "1,3": [ + 8, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "9,1": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "9,3": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "8,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "8,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "3,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 + ] + ], + "3,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 + ] + ], + "11,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 + ] + ], + "11,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 + ] + ], + "2,1": [ + 8, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "2,3": [ + 8, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "10,1": [ + 8, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "10,3": [ + 8, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "1,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 + ] + ], + "1,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 + ] + ], + "9,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 + ] + ], + "9,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 + ] + ], + "0,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "8,5": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "8,7": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "4,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 + ] + ], + "4,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 + ] + ], + "12,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 + ] + ], + "12,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 + ] + ], + "3,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "3,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "11,1": [ + 8, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "11,3": [ + 8, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "2,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 + ] + ], + "2,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 + ] + ], + "10,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 + ] + ], + "10,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 + ] + ], + "1,5": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "1,7": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "9,5": [ + 8, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "9,7": [ + 8, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "0,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 + ] + ], + "0,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 + ] + ], + "8,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 + ] + ], + "8,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 + ] + ], + "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, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "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, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "13,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, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "13,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, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "4,1": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "4,3": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "12,1": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "12,3": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "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, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "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, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "11,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 + ] + ], + "11,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 + ] + ], + "2,5": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,7": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "10,5": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "10,7": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "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, + 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 + ] + ], + "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, + 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 + ] + ], + "9,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 + ] + ], + "9,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 + ] + ], + "0,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "0,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "8,9": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "8,11": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "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, + 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,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, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "14,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, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "14,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, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,1": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "5,3": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "13,1": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "13,3": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "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, + 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 + ] + ], + "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, + 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 + ] + ], + "12,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "12,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "3,5": [ + 8, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "3,7": [ + 8, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "11,5": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "11,7": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "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, + 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 + ] + ], + "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, + 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 + ] + ], + "10,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, + 63, + 64, + 65, + 66, + 67 + ] + ], + "10,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, + 63, + 64, + 65, + 66, + 67 + ] + ], + "1,9": [ + 8, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "1,11": [ + 8, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "9,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "9,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "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, + 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, + 69, + 70 + ] + ], + "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, + 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, + 69, + 70 + ] + ], + "15,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, + 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, + 69, + 70, + 71 + ] + ], + "15,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, + 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, + 69, + 70, + 71 + ] + ], + "6,1": [ + 8, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "6,3": [ + 8, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "14,1": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "14,3": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "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, + 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, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "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, + 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, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "13,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77 + ] + ], + "13,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77 + ] + ], + "4,5": [ + 8, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "4,7": [ + 8, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "12,5": [ + 8, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "12,7": [ + 8, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "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, + 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, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "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, + 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, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "11,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "11,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "2,9": [ + 8, + [ + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "2,11": [ + 8, + [ + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "10,9": [ + 8, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83 + ] + ], + "10,11": [ + 8, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83 + ] + ], + "7,1": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "7,3": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "15,1": [ + 8, + [ + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "15,3": [ + 8, + [ + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "0,12": [ + 48, + [ + 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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,13": [ + 48, + [ + 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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,14": [ + 32, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,15": [ + 32, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,16": [ + 16, + [ + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "0,17": [ + 16, + [ + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "8,12": [ + 48, + [ + 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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,13": [ + 48, + [ + 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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,14": [ + 32, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,15": [ + 32, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,16": [ + 16, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "8,17": [ + 16, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89 + ] + ], + "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, + 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, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "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, + 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, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "14,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "14,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "5,5": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "5,7": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "13,5": [ + 8, + [ + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "13,7": [ + 8, + [ + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "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, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "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, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "12,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95 + ] + ], + "12,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95 + ] + ], + "3,9": [ + 8, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "3,11": [ + 8, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "11,9": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "11,11": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "1,12": [ + 48, + [ + 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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,13": [ + 48, + [ + 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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,14": [ + 32, + [ + 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, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,15": [ + 32, + [ + 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, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,16": [ + 16, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "1,17": [ + 16, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "9,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, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,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, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,16": [ + 16, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "9,17": [ + 16, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102 + ] + ], + "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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102 + ] + ], + "15,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "15,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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "6,5": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "6,7": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "14,5": [ + 8, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "14,7": [ + 8, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "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, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "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, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "13,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "13,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "4,9": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "4,11": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "12,9": [ + 8, + [ + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109 + ] + ], + "12,11": [ + 8, + [ + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109 + ] + ], + "2,12": [ + 48, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,13": [ + 48, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,14": [ + 32, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,15": [ + 32, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,16": [ + 16, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "2,17": [ + 16, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "10,12": [ + 48, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,13": [ + 48, + [ + 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, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,14": [ + 32, + [ + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,15": [ + 32, + [ + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,16": [ + 16, + [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "10,17": [ + 16, + [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "7,5": [ + 8, + [ + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "7,7": [ + 8, + [ + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "15,5": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "15,7": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "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, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116 + ] + ], + "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, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116 + ] + ], + "14,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "14,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "5,9": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "5,11": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "13,9": [ + 8, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "13,11": [ + 8, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "3,12": [ + 48, + [ + 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, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,13": [ + 48, + [ + 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, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,14": [ + 32, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,15": [ + 32, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,16": [ + 16, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "3,17": [ + 16, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "11,12": [ + 48, + [ + 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, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,13": [ + 48, + [ + 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, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,14": [ + 32, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,15": [ + 32, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,16": [ + 16, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "11,17": [ + 16, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123 + ] + ], + "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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "15,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "15,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, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "6,9": [ + 8, + [ + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "6,11": [ + 8, + [ + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "14,9": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "14,11": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "4,12": [ + 48, + [ + 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, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,13": [ + 48, + [ + 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, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,14": [ + 32, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,15": [ + 32, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,16": [ + 16, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "4,17": [ + 16, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130 + ] + ], + "12,12": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,13": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,14": [ + 32, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,15": [ + 32, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,16": [ + 16, + [ + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "12,17": [ + 16, + [ + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "7,9": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "7,11": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "15,9": [ + 8, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133 + ] + ], + "15,11": [ + 8, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133 + ] + ], + "5,12": [ + 48, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,13": [ + 48, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,14": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,15": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,16": [ + 16, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,17": [ + 16, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "13,12": [ + 48, + [ + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,13": [ + 48, + [ + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,14": [ + 32, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,15": [ + 32, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,16": [ + 16, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "13,17": [ + 16, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "6,12": [ + 48, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,13": [ + 48, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,14": [ + 32, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,15": [ + 32, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,16": [ + 16, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "6,17": [ + 16, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "14,12": [ + 48, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,13": [ + 48, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,14": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,15": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,16": [ + 16, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "14,17": [ + 16, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141 + ] + ], + "7,12": [ + 48, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,13": [ + 48, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,14": [ + 32, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,15": [ + 32, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,16": [ + 16, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "7,17": [ + 16, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "15,12": [ + 48, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,13": [ + 48, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,14": [ + 32, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,15": [ + 32, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,16": [ + 16, + [ + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "15,17": [ + 16, + [ + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ] + }, + "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": "exact pattern-flow LNS on the T16 actual-window geometry", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 1, + "stage": 0, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 2, + "stage": 0, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 3, + "stage": 0, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 4, + "stage": 1, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 5, + "stage": 1, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 6, + "stage": 0, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 7, + "stage": 0, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 8, + "stage": 1, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 9, + "stage": 1, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 10, + "stage": 2, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 11, + "stage": 2, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 12, + "stage": 0, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 13, + "stage": 0, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 14, + "stage": 1, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 15, + "stage": 1, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 16, + "stage": 2, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 17, + "stage": 2, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 18, + "stage": 3, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 19, + "stage": 3, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 20, + "stage": 0, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 21, + "stage": 0, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 22, + "stage": 1, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 23, + "stage": 1, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 24, + "stage": 2, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 25, + "stage": 2, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 26, + "stage": 3, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 27, + "stage": 3, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 28, + "stage": 4, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 29, + "stage": 4, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 30, + "stage": 0, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 31, + "stage": 0, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 32, + "stage": 1, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 33, + "stage": 1, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 34, + "stage": 2, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 35, + "stage": 2, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 36, + "stage": 3, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 37, + "stage": 3, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 38, + "stage": 4, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 39, + "stage": 4, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 40, + "stage": 5, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 41, + "stage": 5, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 42, + "stage": 0, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 43, + "stage": 0, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 44, + "stage": 1, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 45, + "stage": 1, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 46, + "stage": 2, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 47, + "stage": 2, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 48, + "stage": 3, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 49, + "stage": 3, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 50, + "stage": 4, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 51, + "stage": 4, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 52, + "stage": 5, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 53, + "stage": 5, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 54, + "stage": 0, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 55, + "stage": 0, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 56, + "stage": 6, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 57, + "stage": 6, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 58, + "stage": 1, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 59, + "stage": 1, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 60, + "stage": 2, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 61, + "stage": 2, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 62, + "stage": 3, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 63, + "stage": 3, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 64, + "stage": 4, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 65, + "stage": 4, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 66, + "stage": 5, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 67, + "stage": 5, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 68, + "stage": 6, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 69, + "stage": 6, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 70, + "stage": 1, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 71, + "stage": 1, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 72, + "stage": 7, + "replica": 0, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 73, + "stage": 7, + "replica": 8, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 74, + "stage": 2, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 75, + "stage": 2, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 76, + "stage": 3, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 77, + "stage": 3, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 78, + "stage": 4, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 79, + "stage": 4, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 80, + "stage": 5, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 81, + "stage": 5, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 82, + "stage": 6, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 83, + "stage": 6, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 84, + "stage": 7, + "replica": 1, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 85, + "stage": 7, + "replica": 9, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 86, + "stage": 2, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 87, + "stage": 2, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 88, + "stage": 8, + "replica": 0, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 89, + "stage": 8, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 90, + "stage": 3, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 91, + "stage": 3, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 92, + "stage": 4, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 93, + "stage": 4, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 94, + "stage": 5, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 95, + "stage": 5, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 96, + "stage": 6, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 97, + "stage": 6, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 98, + "stage": 7, + "replica": 2, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 99, + "stage": 7, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 100, + "stage": 8, + "replica": 1, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 101, + "stage": 8, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 102, + "stage": 3, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 103, + "stage": 3, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 104, + "stage": 4, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 105, + "stage": 4, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 106, + "stage": 5, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 107, + "stage": 5, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 108, + "stage": 6, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 109, + "stage": 6, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 110, + "stage": 7, + "replica": 3, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 111, + "stage": 7, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 112, + "stage": 8, + "replica": 2, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 113, + "stage": 8, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 114, + "stage": 4, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 115, + "stage": 4, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 116, + "stage": 5, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 117, + "stage": 5, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 118, + "stage": 6, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 119, + "stage": 6, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 120, + "stage": 7, + "replica": 4, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 121, + "stage": 7, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 122, + "stage": 8, + "replica": 3, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 123, + "stage": 8, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 124, + "stage": 5, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 125, + "stage": 5, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 126, + "stage": 6, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 127, + "stage": 6, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 128, + "stage": 7, + "replica": 5, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 129, + "stage": 7, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 130, + "stage": 8, + "replica": 4, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 131, + "stage": 8, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 132, + "stage": 6, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 133, + "stage": 6, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 134, + "stage": 7, + "replica": 6, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 135, + "stage": 7, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 136, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 137, + "stage": 8, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 138, + "stage": 7, + "replica": 7, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 139, + "stage": 7, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + { + "time": 140, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 141, + "stage": 8, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 142, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + }, + { + "time": 143, + "stage": 8, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8" + } + ], + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 8, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 9, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 10, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 11, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 12, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 13, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 14, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 15, + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "LOCAL-CHECKS.json": "2b8b1891a736598010232bfb26abc31973b265a53a2009a3fcfd9138b5ecadb4", + "INDEPENDENT-LOCAL-REPLAY.json": "13dd18297162569532983db1a2ab67926b064330cd7edd3587e7b546b2dedf17", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "59e1f8d7215c79081f70b953f85fcbaac2a32a75b8b12448f667b17271405f9e", + "RESIDUAL-ADAPTERS.json": "383f40aadd00a4ac700dfd0d4c22d6c6c0be9a9863116e4d69c7acd23bafae0c" + }, + "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": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "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, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 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, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 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, + 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": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "071ecdacc0bb3ac16046aad4119ed551a945cb0ed6c57002a548a3e2232503d8", + "backward": "f36c5831106f5637102c6bedeec76ed2b223c6671ce42fd0eceed9ef24725b23" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "4ddb29fb9bc6f27e0c0fbfcf19a2a93a3496ad900d0f6d89059d0305c9576c0c", + "LOCAL-PROGRAMS.json.gz": "9f41d53659e9be84e20c661560c5687abbf5cd0660cdecbe01ad5eb29e6b8ee3", + "LOCAL-CHECKS.json": "18f09b79835aa352f04d27041d86d1338c5ad0094b888588c1c05af2dc399ffd", + "INDEPENDENT-LOCAL-REPLAY.json": "2d4680965c62db1fde1236c4857b19bf7bc97af58805e6b4109afbc452f0fdd8", + "CLIFFORD-RECIPES.json": "d0768f2164d5f64a2fdbec422f1cfde4e400818792f1904ca541958377243731", + "CLIFFORD-REVIEW.json": "4960fd1215509b5347ef7f0092868f79aea0f8e24fb84352da9a1033e4394007", + "RESIDUAL-ADAPTERS.json": "c682e9ff1b347f89771c6800f46ad98c2bb92b91c5c88452d53a9e7f0180c35f" + } + } + }, + "source_plan_sha256": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "assignment_sha256": "87902c528dfab7d503dcf8a784260e3ab6fb7424c418a1820f7261f25be7b6bc", + "source_owners_sha256": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "assignment_content_sha256": "c79fba015156e422312dcea056a7c21b8038318edd16a2eb0f41b8b0a8354f59", + "replica_lift": { + "groups": 2, + "source_replicas": 8, + "replicas": 16, + "parent_template_content_sha256": "8904bbbf46dfbf1c6df0e43479a23913fc59a410e879188112e88f16c850ede8", + "owners_file_sha256": "87902c528dfab7d503dcf8a784260e3ab6fb7424c418a1820f7261f25be7b6bc", + "window_semantics": "strict physical source-event touch intervals, including bridges", + "schedule_content_sha256": "ef9b70f30251e90ca15f54e7802cedf9b2d23bdc150e8f2bc18c916d0f2f2312" + } +} diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/LICENSE b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/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/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/NOTICE.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/NOTICE.md new file mode 100644 index 0000000000..1c45fbefdb --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/NOTICE.md @@ -0,0 +1,81 @@ +# Notice + +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code; Apache-2.0 (`LICENSE`, copied from +the repository root). + +## New in this package + +Everything under `scripts/` and `data/` except `data/vendor/`, plus `README.md`, `verify.sh`, `SOURCES.json`, +`DEPENDS.json`, `requirements.txt` and `MANIFEST.sha256`. + +## Vendored, unchanged (git blob ids in `SOURCES.json`, checked by `scripts/provenance.py`) + +- **#555 (eumemic), commit 65a6bc1**: the p111 bit word `bitE8mut-p111.json.gz` and its `EXPECTED.json`. +- **#569 (DominikScholz), commit 1424da8**: the width-7 and four-cold provider words (`FULL-WORD.json.gz`). +- **#571 (DominikScholz), commit b7bdc5a**: the combined-eight-local provider word. +- **#568 (jeremykothe2), commit 71c99ac**: `research/complex-multicold/data/PLAN.json`, stored gzip-compressed (the + blob id is of the decompressed file). +- **#543 (eumemic), commit 2065fe4**: `research/e8-bit-r420/EXPECTED.json`. +- **#545 (DreamingOfClouds), commit 376426f**: `research/e8-punctured111-star/EXPECTED.json`. + +## Other inputs + +- `data/toys/sol_p3_cone_R16.json`: the p = 3 paired-cube program (h = 6, v = 8, R = 16) in the gcert/1 format of Jacob + Sussman's checker, the same toy instance as #446's. +- `data/prices/pr569-provider-calls.json`: the 72 (time, provider) pairs of #569's `research/larger-gain/global/width7/ + PLAN.json` (blob id recorded in the file). + +## Used from main, unchanged (pinned by sha256 in `DEPENDS.json`) + +- #531 (icekylinx): + - the exact Clifford compiler `research/direct-delivery504-global/vendor/clifford/clifford_exact.py`; + - the word helpers `vendor/gk/gk_word.py` and `gk_common.py`; + - the word `evidence/local/FULL-WORD.json.gz`; + - the geometry `inputs/hamming/PROTOTYPE.json`. +- #523 (icekylinx): the hosting windows `research/punctured112-global/inputs/ASYNC112-PLAN.json`. +- #510 (DreamingOfClouds): `research/e8-r480-nine-stage/EXPECTED.json`. +- The census anchors (`data/census/anchors.json`) cite, read-only: + - the upstream paper (`upstream/build/sections/*.tex`); + - #493's checkers (eumemic and contributors); + - #509 / #516's Lean files (DreamingOfClouds); + - #442's hosting proof (DaysSky); + - #130's general frame lemma note (icekylinx); + - the five-stage bank files (#276 lineage); + - the maintainer's review documents. + +## Results and constructions this package builds on (credit) + +**Interfaces, lemmas and checkers:** + +- the upstream paper (`upstream/build/sections`); +- **#130** (icekylinx): the general Clifford frame lemma for arbitrary binary subspaces; +- **#370** (utcorvusvolat-dotcom): the first E8 bit word and its checker; +- **#386** (jacklightChen): compressed windows; +- **#425** (jacklightChen): the mutable-basis interface and scalar-interface lemma; +- **#433** (icekylinx): split centres; +- **#442** (DaysSky): idle-axis whole-residual hosting and its stream model; +- **#446** (DreamingOfClouds, open): Theorems A–C, used as premises; +- **#458** (chafreaky): the one-helper-per-family rule; +- **#493** (eumemic): the bit carrier skeleton, checkers and outer assembly; +- **#509 / #516** (DreamingOfClouds): Lemmas G and A in Lean; +- **#514** (Dugongue): the repeated-axis identities C_v² = X_v. + +**Words and pipelines read by the checks:** + +- **#510** and **#545** (DreamingOfClouds); +- **#543** and **#555** (eumemic); +- **#523** and **#531** (icekylinx): the punctured 112-port complex unit and direct delivery; +- **#568** (jeremykothe2); +- **#569** and **#571** (DominikScholz). + +**Lineage the measured words build on (credited, not read by any script):** + +- **#535** (icekylinx): post-centre kernels; +- **#552** (Dugongue): the static44 harness lineage of the complex words; +- **#558** and **#564** (eumemic): rank-5 pivots and cold kernels; +- **#588** (jeremykothe2): frame coalescences on the #569 regime (cited in C.8, not reproduced). + +**Split-residual hosting:** + +- **#448** (higherbeing): the cross-copy split-residual construction; +- **#451** (chafreaky): its trace obstruction. diff --git a/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/README.md b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/README.md new file mode 100644 index 0000000000..95c7ae59f2 --- /dev/null +++ b/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/README.md @@ -0,0 +1,805 @@ +# Format limits (no κ claim): a certified ceiling, a spec census, structural lemmas and helper bounds + +This package states results about the limits of the current construction format (B_K compressed windows, star +copies, whole-residual hosting) and checks the ones that can be checked. **It makes no κ claim and ships no word.** +Each result comes with its scope and assumptions. Each is marked: + +- **checked**: `verify.sh` recomputes it from the files listed below (exact or certified arithmetic unless stated); +- **argued**: a proof or proof sketch in this README; +- **recorded**: an input taken from a run or a PR that `verify.sh` does not repeat (the file and its source are named). + +```sh +python3 -m pip install -r research/format-limits/requirements.txt +bash research/format-limits/verify.sh /fresh/output/dir # from a checkout or `git archive` of the whole repository +``` + +Python ≥ 3.11 with numpy, scipy, sympy, python-sat and ortools (`requirements.txt` pins a tested set). Step 0 +checks the package against `MANIFEST.sha256`, the vendored inputs against the git blob ids of their PR commits +(`SOURCES.json`) and the files of main it reads (`DEPENDS.json`). Steps A–E print one `PASS`/`FAIL` line per claim. +About 2 minutes on 12 cores (six checks at a time). + +**Tested environments** (fresh `git archive`, every claim PASS): + +| Python | numpy | scipy | sympy | python-sat | ortools | how installed | +|---|---|---|---|---|---|---| +| 3.11.17 | 2.4.6 | 1.17.1 | 1.14.0 | 1.9.dev15 | 9.15.6755 | fresh venv from `requirements.txt` | +| 3.14.7 | 2.4.6 | 1.17.1 | 1.14.0 | 1.9.dev15 | 9.15.6755 | fresh venv from `requirements.txt` | +| 3.14.7 | 2.5.4 | 1.18.1 | 1.14.0 | 1.9.dev15 | 9.15.6755 | fresh venv, latest releases | +| 3.14.7 | 2.3.5 | 1.17.0 | 1.14.0 | 1.9.dev15 | 9.15.6755 | development venv | + +Values that come from floating-point solvers (the hosting LP, the coupled-cover MILP) are compared with explicit +tolerances; the certified roots are rational intervals. + +## Results at a glance + +| id | result | status | +|---|---|---| +| A | **Format ceiling, rev. 2.** Under the accounting axioms of §A.1, every supplier in the format has saving a ≤ X(s, h/k, x) (root of the slot-domination bound). On the realised units, X* = 6.0005·10⁻³ (bit, 111 lines, decoder constant 63) and 5.1863·10⁻³ (complex, 112 ports, copy cost 64), both at s = 5, so **κ ≤ 5.1595·10⁻³** (complex binds). | theorem argued; every number checked (`a1`–`a5`) | +| A.4 | The axioms hold on the frontier words #555 (bit) and #568 (complex): published values reproduced from their profiles, deficit identity with equality, B_K idle windows literal, slot domination at nine values of q. | checked (`a3`); (Bat)/(Hst) for #568 argued from its README | +| A.5 | At s = 9 the frontier sits 2.66× (bit) / 2.50× (complex) under the ceiling; 87% / 93% of the log-gap is helper cost, 19% / 25% data-run fragmentation, and hosting recovers 7% / 18%. | checked (`a4`); #568 uses a recorded idle remainder | +| A.6 | The rev. 1 scope x = 3/5 (κ ≤ 4.5151·10⁻³) is superseded: the punctured units have x = 63/111 and 64/112. | checked (`a1`) | +| B | 25 format rules classified as spec / proved / convention, with file:line evidence in the upstream paper and the hub's checkers, and the corrections the census found. | anchors checked (`b`); classification argued | +| C.1 | Frame sandwich: a register's frame lies between the span of what it carries and the orthogonal of what it will serve; the three complex frame walls are its faces; leaving it is exact and costs d(f, g). | argued; toy checked (`c1`) | +| C.2 | Lemma N: the per-target rank-1 port factor is a gauge of the endpoint frames, always paid; any detour off the geodesic interval costs exactly 2. | proof argued; toys checked (`c2`) | +| C.3 | Lemma R: complement sinks w_t^⊥ (w·u = 1) are legal at zero rank and port cost, and forced to w_t = u_t on every target of the four complex words checked (#531; #569 width-7 and four-cold; #571 combined). | checked (`c3_gate0`, `c3_taint`) | +| C.4 | Lemma Q: a degenerate-label unit is dominated by its quotient (copy cost and window), so degenerate spans give no new (w, x) points. | proof argued; toys and families checked (`c4`) | +| C.5 | Lemma λ: a phase-frame butterfly needs λ = ±i (and 2 invertible) in its payload ring; b < c is the price of √−1, and the outer already uses shift twiddles. | argued; instances checked (`c5`), anchors (`b`) | +| C.6 | At the E8 decoder pattern with window ≤ 9 the label pairing B = W·Uᵀ is unique (= B0); every W ≠ U is a gauge. Window 8 is impossible. | checked (`c6`, SAT without proof logs) | +| C.7 | A rank-r descent costs 2r data mass in every call (−5.63% c on #555, −5.65% b on #568 per rank-1 descent); within that price class a schedule with a paid descent is dominated. | toy and prices checked (`c7`); dominance argued | +| C.8 | Splitting one helper residual across two hosting streams meets a trace obstruction under every invertible storage change; uncharged, it is worth at most +0.67% b on the current complex frontier. | argued | +| D | Design-free helper floors in the drop-free monotone-chain model: bit ≥ 212 (sink-only targets) / 138 (strict) vs 439 shipped; complex ≥ 107 / 0 vs 496. Coupling the levels adds 0. The "224 carriers" complex floor is a design choice, and carriers are register-neutral in the calibrated ledger. | checked (`d1`–`d3`), given the argued crossing lemma | +| E | Complex helper price by class and width on #569 (0.039–0.140% b per helper at k = 1; the hosting offset depends on width only), and the moment-cost census by class on #555 and #569. | k = 1 prices, control and census checked (`e1`, `e2`); k > 1 rows recorded | +| F | Cost structure: a change paid in every local word must buy about 2.8% of the supplier value per rank unit; open problems: per-word enablers, a non-star decoder, the schedule/ρ freedom, new skeletons. | conclusion from checked prices | + +Earlier statements this package relies on: Theorems A–C of #446 (DreamingOfClouds, open; content-frame invariant, +stage-window additivity, pairing-rank copy floor). They are cited as premises and are not re-proved here. #446 states +Theorem B for rank-1 labels (every number in this package is at k = 1), and its Theorem C value 72 for the bit E8 +unit is computed there and not replayed here. + +## A. Format ceiling, rev. 2 + +### A.1 Scope S2 (accounting axioms) + +A word is a B_K compressed-window block for one supplier (bit or complex), replicated T times, with s = 2K + 1 +stages, v ports of label rank k and stage window h, copy rank cst per stage, and any helper network (any R, widths, +local programs), any banking or hosting rule and any halving depth. Writing z_r for the number of paid children of rank +r and g_q(r) = r((m/r)^q − 1): + +- **(P) pressure identity.** The supplier saving a is the root q of Σ_r z_r g_q(r) = D. (The hub pricers add a + nonnegative fallback term, which only lowers their root.) +- **(Dfc) deficit.** D = T[(s − 1)vk − s·cst], with cst ≥ cst_min(U), the star floor of the unit U (the pairing-rank + floor of #446 Theorem C holds for any copy tree; the star form β_j ≥ k·w_in is the scope assumption). +- **(Win) window.** Every data register climbs a ≥ h − k per stage and m = k + s·a (#446 Theorem B gives + m ≥ k + s(h − k); #386's compressed windows attain it). X is non-increasing in a, so a = h − k is the extreme case. +- **(Sch) B_K schedule.** Stage j activates one bank pair (2 data registers per port per replica); pair 0 is active at + stages 0, 1, 2 and pair p ≥ 1 at 2p + 1, 2p + 2. Idle frame changes per copy (2v copies): pair 0 has [(2K − 2)a]; + pair p ∈ 1..K − 1 has [2pa, a, (2K − 2p − 2)a] (a bridge read splits the pre-stretch). +- **(Bat) batching.** A paid child executes part of one frame change Δ and has rank ≤ rank Δ (Δ is a register's + frame change, or, as in #448, one idle change across the copies of one idle child). Local children have rank ≤ a + (data registers) and ≤ h (helpers, copies). +- **(Hst) hosting is accounting.** A hosted helper child is a local child (rank ≤ h) that executes coordinates of an + idle frame change; the rest of that change is paid in children of rank ≤ its rank; an unhosted helper lives on a bank + wire. + +### A.2 Theorem and proof sketch + +Per port (v and T cancel), the **forced slots** are: the active climbs (mass 2sa, cap a), the copy drops (mass s·x, +x = cst/v, cap h) and each idle frame change of rank r of the schedule (mass 2r, cap max(r, h)). Let +F_s(q) = Σ_slots mass · ((m/cap)^q − 1) and D_s = (s − 1)k − s·x. + +**Theorem.** For every word in S2 on a unit U, a ≤ X(s, h/k, x_U) := the root q of F_s(q) = D_s, with +x_U = cst_min(U)/v(U). Since e^y − 1 ≥ y, also X ≤ D_s/Cost_s with Cost_s = Σ_slots mass · ln(m/cap). + +*Proof sketch.* (1) Monotonicity: each g_q(r) increases in q for r < m, so a(z, D) ≤ a(z', D') whenever f_z ≥ f_z' +pointwise and D ≤ D'. (2) Slot domination: by (P) the paid mass executes every coordinate of every forced slot; by +(Win), (Sch), (Bat) and (Hst) every child touching a slot has rank ≤ its cap; φ_q(r) = (m/r)^q − 1 decreases in r, so +splitting each child's mass over the slots it touches gives f_N(q) ≥ F_s(q; cst_N); children touching no slot +contribute ≥ 0. (3) Helpers never shift D or m (call this Lemma H): Theorem B bounds m with target frames only; a bank wire is restored +scratch, so its saving is ≤ 0; a data register saves ≤ k whoever executes its coordinates; copies cost ≥ cst_min for +any tree. X is non-increasing in a (d/da of each slot term is ≥ 0 by Bernoulli's inequality). The cap max(r, h) on +idle slots absorbs the one place where hosting lowers paid cost (a width-h helper child on a single-stage idle slot); +it costs 1% against the literal R = 0 profile. (4) F_s increases and D_s decreases in cst, so cst_N may be replaced by +cst_min. Apply (1). + +**General k (argued; no number here uses it).** Scaling every rank by k (a = k(w − 1), h = kw, m = k(1 + s(w − 1)), +every slot mass and D multiplied by k at fixed x/k) leaves each ratio m/cap unchanged, so X depends only on +(s, w = h/k, x/k). Every number in this package is at k = 1. + +**κ.** The outer assembly seeds s0 = min(c, (1 − β)b) − 10⁻²⁴ and bootstraps x ↦ (1 − s0)s0 + s0·x from below; the map +is increasing with fixed point s0, so κ ≤ X/(1 + X) with X = min(X_bit*, X_cx*), each side at its own best s. + +### A.3 Numbers (certified; `a1_ceiling_roots.py`, `a2_ceiling_sup.py`) + +| unit | x | s = 3 | **s = 5** | s = 7 | s = 9 | s = 11 | s = 13 | +|---|---|---|---|---|---|---|---| +| bit, 111 live lines, decoder constant 63 (#545, #555), h = 8 | 0.5676 | 5.9474e-3 | **6.0005e-3** | 5.2095e-3 | 4.6072e-3 | 4.1490e-3 | 3.7879e-3 | +| complex, 112 ports, copy cost 64 (#523 → #569), h = 9 | 0.5714 | 5.0474e-3 | **5.1863e-3** | 4.5130e-3 | 3.9946e-3 | 3.5989e-3 | 3.2865e-3 | + +Roots are rational-interval brackets of width < 10⁻¹⁵; the upper end is the certified value. + +- **κ ≤ 5.1594939·10⁻³ < 5.1595·10⁻³**; the complex side binds. The bit-only corollary is c/(1 + c) ≤ 5.964704·10⁻³. +- **The supremum over s is at s = 5** on both units. For odd s = 7..401, the certified D_s/Cost_s stays below X(5); + the largest values are 5.2311·10⁻³ (bit) and 4.5292·10⁻³ (complex), both at s = 7. For s ≥ 403 a tail bound applies: + Cost_s/v ≥ 2Σ_{p 2Ka), and + Σ_{p=1}^{K−1} p ln(K/p) ≥ K²/4 − K/e − K/2. Then X ≤ D_s/Cost_s < (1 − x)s/(4a(K²/4 − K/e − K/2)), which is + decreasing in K and equals 6.27·10⁻⁴ (bit) / 5.44·10⁻⁴ (complex) at s = 403. + - *Proof of the inequality (erratum to rev. 1, which invoked "trapezoid error for a concave function", the wrong + direction).* f(p) = p ln(K/p) is concave, so by Hermite–Hadamard f(p) ≥ ∫_{p−1/2}^{p+1/2} f. Summing gives + Σ_{p=1}^{K−1} f(p) ≥ ∫_{1/2}^{K−1/2} f = K²/4 − ∫_0^{1/2} f − ∫_{K−1/2}^K f. Both removed pieces are small: + the first is (1/8)(ln K + ln 2 + 1/2), and the second is ≤ (K/2)·ln(K/(K − 1/2)) ≤ K/(4K − 2) ≤ 1/3. Their sum is + ≤ K/e + K/2 for every K ≥ 2. The script also checks the inequality numerically for K = 2..5000. +- **Frontier against the ceiling at s = 9.** X(9)/c = 2.658 for #555 (c = 1.733053·10⁻³), and X(9)/b = 2.499 for + #568 (b = 1.598685·10⁻³). +- **Copy charge.** One copy-rank unit per stage (bit cst 63 → 62) raises X by +3.90% (s = 5), +2.82% (s = 9) and + +2.65% (s = 11). + +### A.4 The axioms on the frontier words (`a3_axioms.py`, checked) + +| check | words | result | +|---|---|---| +| (P): certified root of the published global profile at the word's (m, D) vs its published value | #510 R480 s9, #543 R420 s9/s11, #545 p111 s11, #555 p111 s9/s11, #568 | root ≥ published; relative difference 1.2–1.7·10⁻⁹ on the bit pipelines (consistent with their nonnegative 10⁻¹⁶ fallback term), 5·10⁻¹⁸ on #568 | +| (Dfc): m·W − rank mass = T[(s − 1)v − s·cst] with integral W | same seven profiles | equality (e.g. #555: 64·28416 − 1,808,352 = 10,272; #568: 73·7168 − 520,704 = 2,560) | +| (Win): m = k + s(h − k); largest child = literal idle remainder (2K − 2)a | same | m = 64/78/73; largest child 42/56/48 on #543, #545, #555, #568 (#510's largest child is 8) | +| (Sch): active + copies + idle slot mass = rank mass | #555, #568 | 447,552 + 18,144 + 1,342,656 = 1,808,352; 129,024 + 4,608 + 387,072 = 520,704 | +| (Sch): idle windows per replica = idle_slots(K = 4, a = 8) on both banks | #568 PLAN, 8 replicas | {8: 6, 16: 4, 32: 4, 48: 4} on every replica | +| (Hst): helpers hosted whole, no banks | #555 | bank assignments 0; hosted residuals 126,432 = 439·288 | +| Lemma 2 on a grid: min of f_N(q)/F_s(q; cst_N) over nine values of q in [10⁻⁵, 1] | all seven | 2.29–2.66 (≥ 1) | + +**(Bat) at child level.** #555's helper runs have rank ≤ 5 ≤ h (checked by the replay in `a4_gap.py`). #568's helper +children have rank ≤ 6 ≤ h (its implied helper histogram in `a4_gap.py`). #568's README (commit 71c99ac, +research/complex-multicold/README.md:22) reports one whole owner for all 36,288 helpers, no auxiliary banks and 27,679 +cross-replica roles; a cross-replica role hosts helper children of one idle change at rank ≤ h, so it falls inside +(Bat)/(Hst) (argued). No structural axiom is violated by #555 or #568. + +### A.5 Gap decomposition at s = 9 (`a4_gap.py`, checked) + +| step | #555 bit | #568 complex | +|---|---|---| +| A: theorem skeleton (R-free; idle slots at cap max(r, h)) | 4.6072e-3 | 3.9946e-3 | +| B: literal R = 0 (each idle slot one child of its own rank) | 4.5661e-3 | 3.9631e-3 | +| C: B with the real data-register runs and copy children | 3.7868e-3 | 3.1544e-3 | +| D: C plus every helper run paid unhosted (the only step with more rank mass) | 1.6183e-3 | 1.3517e-3 | +| E: the real word (helpers hosted whole, idle remainders paid) | 1.7331e-3 | 1.5987e-3 | + +Shares of ln(A/E) (0.978 / 0.916): + +| component | #555 | #568 | +|---|---|---| +| helpers | 87% | 93% | +| data fragmentation | 19% | 25% | +| literal vs cap | 1% | 1% | +| hosting | −7% | −18% | + +Steps A, B, C and E have the same rank mass, m·W − D (1,808,352 and 520,704). + +Inputs: + +- **#555.** Data, helper and copy runs are replayed from the published word. The replay matches #555's local + histogram, and the helper mass is 8R. The idle remainder is the published profile minus 288 × the local profile; + 75.3% of the skeleton idle mass is hosted. +- **#568.** The data-register runs per call come from #569's four-cold provider word (the same x/y ladders). The paid + idle remainder {1: 93, 2: 93, 3: 2118, 7: 1, 48: 1713} is **recorded** from our replay of #568's hosting + (`data/ceiling/gap568-inputs.json`). Its 4,018 children match the "4,018 positive idle remainders" of #568's README + (checked), and the implied helper histogram is nonnegative (checked). + +The headroom under S2 is therefore almost entirely helper cost. Even with zero helper cost and real data +fragmentation, the words would sit 2.19× (bit) / 1.97× (complex) above today. + +### A.6 The superseded numeric scope of (Dfc) + +Rev. 1 of this ceiling fixed cst_min = 72 and x = 3/5 (the full 120-line E8 unit) on both sides. That gave X_bit* = +5.1598·10⁻³, X_cx* = 4.5356·10⁻³ and κ ≤ 4.5151·10⁻³ (checked, `A1.rev1-superseded`). + +The punctured units that the frontier now uses have smaller x: + +- bit: #545/#555 keep 111 live lines with decoder constant 63; +- complex: the #523 lineage has 112 ports with copy cost 64. + +So x = 63/111 = 0.5676 and 64/112 = 0.5714. With x_U taken from the realised units the ceiling is §A.3's +κ ≤ 5.1595·10⁻³. The structural axioms are unchanged. + +Status of cst_min per unit: + +| unit | cst_min | status | +|---|---|---| +| bit 120/72 | 72 | proved given #446 Theorem C: the F2 decoder of the E8 pattern needs 9 totals (its F2 minrank is 9; c = 8 is UNSAT, checked in `c6`), and each star total costs β = 8, the Gram rank of an 8-line in-cap clique (premise, not replayed) | +| bit 111/63 | 63 | the star floor among punctures of p ≤ 25 lines: Δcst ≤ min(p, 9), from an exact matroid-greedy search over the 9-dimensional code that this package does not reproduce (**argued**, not checked here). For 26 ≤ p ≤ 52 only the total D gain s·Δcst − (s − 1)p ≤ 9 is bounded, which does not pin x. | +| complex 112/64 | 64 | 8 × 8, the star floor at w_in = 8, attained (**argued**) | + +A unit with smaller x would move X by about +2.8% per copy-rank unit at s = 9 (§A.3). For scale, two units with +smaller x that no word realises are checked as well (`A1.outside-scope`): bit x = 54/102 gives X* = 8.2457·10⁻³ and +complex x = 56/104 gives X* = 6.8000·10⁻³, both at s = 3. They lie outside the realised-unit scope of the theorem. + +### A.7 What each scope rule is worth (`a5_scope_multipliers.py`, checked) + +Multiplier of the ceiling if one rule is dropped. Each cell is best-s multiplier / s = 9 multiplier. + +| rule dropped | bit 111/63 | complex 112/64 | +|---|---|---| +| star scope (copy charge x → 0) | ×6.77 / ×2.79 | ×6.91 / ×2.83 | +| B_K idle frame changes free | ×1.67 / ×2.14 | ×1.68 / ×2.15 | +| all idle changes of a copy in one child | ×1.19 / ×1.55 | ×1.20 / ×1.55 | +| bridges off the idle stretches (no split) | ×1.15 / ×1.18 | ×1.15 / ×1.18 | +| data local climbs batched to h (cross-register) | ×1.12 / ×1.03 | ×1.08 / ×1.02 | +| idle free and local batching together | ×1.79 / ×2.28 | ×1.79 / ×2.27 | +| family window one smaller at the same x | ×1.16 / ×1.16 | ×1.14 / ×1.14 | + +Hosting cannot raise the ceiling (step (3) of the proof in §A.2). Full relaxation of (Bat), with arbitrary batching up to rank m, +would give no bound, because rank-m children cost 0. + +**Not covered:** + +- non-B_K schedules (a different number of active pairs per stage changes (Sch) and (Dfc)); +- non-star decoders (totals with β_j < k·w_in), and units with smaller x than the realised ones (see A.6); +- labels outside the cross-field unit; +- any change to (P), such as children of rank larger than their frame change, or a new outer assembly. + +## B. Spec versus convention census + +`b_census_anchors.py` checks every file:line anchor of the rule table (B.2), 73 in all, and the four corrections +marked "checked" in B.3. Line numbers are as of the base commit 7dfa22b. Each anchor's quoted text must lie within two +lines of the cited line, except in docs/research/ (the hub's ledgers and reviews, which main rewrites often), where it +is matched by text anywhere in the file. The line ranges cited in the prose of B.1 and B.3 were read by hand at +7dfa22b and are not machine-checked. Paths are relative to the repository root, and `U/` is +`upstream/build/sections/`. The classification is argued: + +- **S**: mandated by the upstream paper or interfaces; +- **P**: proved necessary given the cited S/C rules; +- **C**: a convention of the paper's instance or of the hub's checkers and templates, changeable if the replacement is + proved. + +### B.1 What upstream imposes + +- **Bit contract** (the only bit-side interface), U/04-swap.tex:105-123. A finite circuit of W wires whose pointwise + bit gates induce a *permutation* ρ. There is one rational m×m matrix per terminal and per gate, common to every wire + at that gate. The cost is s = Σ rank_Q(M_head − M_tail), with M_out(ρ(w)) − M_in(w) = I_m on every role and s < Wm. + The recurrence is F_k ≤ (s/W)F_{k−1} + O(1) (:197-211). No subspaces, nesting, banks, pairs or nondegeneracy appear. +- **Complex interface**: + - frames C_U = H^m diag(i^{q_U}) H^m, with q_U(x) = wt(P_U x) mod 4 for nondegenerate binary U (U/03-motifs.tex:528-561); + - an edge is a product of one kernel (aI + bX_v)^{±1} per vector of an orthonormal basis of the residual of + comparable labels (:568-583); + - endpoint C^{⊗m} on every role after free per-role corrections (:579-582, :641-668; U/05-layers.tex:127-154); + - the implementation P_M conjugation needs only invertible M (U/05-layers.tex:86-103). +- **Common-frame identity** for any invertible D_v: U/03-motifs.tex:154-186. +- **The paper's instance**: + - nondegenerate nested labels (U/03-motifs.tex:199-208, 351-364); + - terminal labels X_a: U_a → F, Y_a: 0 → U_a^⊥ (:235-243); + - the signed exchange of X_a and Y_a (:89-100); + - arbitrary, restored scratch (:34-46). +- **Outer.** Two suppliers are composed through 08-assembly.tex (:16-48, κ at :849-866, :995-1000). The transforms + are Nussbaumer synthetic transforms whose roots are signed shifts (U/00-introduction.tex:44-56, U/06-transforms.tex). +- **The maintainer's interface list**, docs/research/community-pr531-review.md:116-125: + - all-size compilation; + - common-label and mutable-basis realization; + - normalized residual wrappers as uniformly priced operations; + - whole-call correlated-helper hosting; + - compressed windows and restored rows; + - grids, tape, precision; + - the analytic transfer. + + The same review of #531's integration says the fixed-word ceiling and family-optimality discussions it carries + were "not independently certified" (:130-134). + +### B.2 Rule table + +Multipliers are from §A.7 (best s / s = 9, bit unit unless stated). + +| # | rule | class | anchors (file:line) | evidence and history | ceiling multiplier if relaxed | +|---|---|---|---|---|---| +| 1 | Common frame at every gate | S | U/03-motifs.tex:157; U/04-swap.tex:111; legality_h.cpp:11; audit_local.py:64; LemmaG/Stream.lean:106 | never changed; an ADD across frames needs an adapter edge priced d(f, g) | 1.00 | +| 2 | Frames are nondegenerate subspaces | spec: any invertible D_v (S); nondegenerate subspaces: the paper's instance (C) | U/03-motifs.tex:154, :203; U/04-swap.tex:110; gram_frames.py:46; notes/general-clifford-frames.tex:21 | #130's general frame lemma covers arbitrary (also degenerate) binary subspaces, d = dim U + dim V − 2 dim(U ∩ V); main has its TeX note and Python checks, its Lean proof is in an external repository (a conditional interface); degenerate labels are dominated by their quotient (C.4) | none by itself (only through x) | +| 3 | Nesting: climbs along a register's life; drops only as copies or centre steps | C (priced, not forbidden) | U/03-motifs.tex:352 (the paper has decreasing edges); U/05-layers.tex:83; legality_h.cpp:11; audit_local.py:45, :128; LemmaG/Stream.lean:111 | #425's full → 0 centre copies; a non-nested step is exact and costs d(f, g) (C.1, C.7) | 1.00 (two nested edges) | +| 4 | Exact restoration of helpers and dirty registers | S (same endpoint operator on every role; scratch arbitrary); "ρ fixes scratch" is C | U/03-motifs.tex:46, :98, :581; U/05-layers.tex:150; columns_k.cpp:57; audit_local.py:101 | no PR permutes scratch | 1.00 | +| 5 | ρ = signed exchange of X_a and Y_a, pairwise | C (any permutation ρ is legal) | U/04-swap.tex:107; U/03-motifs.tex:99, :628; bit_global.py:55; columns_k.cpp:56 | never varied | not quantified | +| 6 | Terminal labels X_a: U_a → F, Y_a: 0 → U_a^⊥; targets inside u_t^⊥ | C (the paper's choice; the ⊥ relations then follow from #446 Thm A) | U/03-motifs.tex:235, :240; U/05-layers.tex:128, :146 | complement sinks are legal at zero cost but forced on every current decoder (C.3) | 1.00 on current decoders | +| 7 | Rank-1 labels (k = 1) | C | U/03-motifs.tex:233 | X depends only on (s, h/k, x/k) (§A.2) | through (w, x) | +| 8 | Star copies (cst = Σβ_j, β_j ≥ k·w_in) | scope assumption of the ceiling; the pairing-rank floor itself is proved for any copy tree (#446 Thm C) | legality_h.cpp:1; columns_k.cpp:39 | every PR's totals are star | ×6.77 / ×2.79 (complex ×6.91 / ×2.83); +2.8% per copy-rank unit at s = 9 | +| 9 | E8 cross-field unit (h = 8 bit, 9 complex) | C (family) | U/03-motifs.tex:221, :225 ("the scalar domain need not equal the label field") | — | window one smaller: ×1.16 (complex ×1.14) | +| 10 | Window m = k + s(h − k) | P (#446 Thm B) | — | attained by #386 | 1.00 in model | +| 11 | Deficit D = T[(s − 1)vk − s·cst] | P given rows 8 and 12; spec form D = mW − s | U/04-swap.tex:122; U/03-motifs.tex:360 | equality on seven profiles (§A.4) | through rows 8, 12 | +| 12 | B_K schedule (one dependency chain, alternating locals, bridges, idle children) | P given row 13 | bit_global.py:49; columns_k.cpp:46; Work__Bridge__Net.lean:56 | no other schedule on record | idle free ×1.67 / ×2.14; one idle child ×1.19 / ×1.55; no split ×1.15 / ×1.18 | +| 13 | One (X, Y) bank pair per invocation (LOCAL = 2V + R) | C | bit_global.py:12; columns_k.cpp:31; Work__Bridge__Net.lean:55 (one I : Inv for all stages) | no local on two pairs on record | feeds row 12 | +| 14 | (Bat): a paid child executes one frame change | axiom of the ceiling: one register across a local/bridge is the equal-frame rule; cross-register batching is open | docs/research/pr-ledger.md:403, :405 (#448 and #451 unreviewed) | #451's trace obstruction to #448's split residuals (C.8) | local batching ×1.12 / ×1.03; with idle free ×1.79 / ×2.28 | +| 15 | Whole-residual hosting | accepted conditional interface | community-pr531-review.md:122; idle-axis-hosting/PROOF.md:43 | #442 accepted; split residuals disputed (C.8) | 1.00 (Lemma H, §A.2) | +| 16 | One owner per stream (#458) | P inside #442's stream model | LemmaA/Realize.lean:95 (`one_owner_needed`) | relaxed to disjoint footprints | 1.00 | +| 17 | Source registers never destinations | C (#370's checker assertion) | e8-bit-carrier-skeleton/README.md:67-68 | sufficient, not necessary (#425); relaxed by #433, #493 | already taken | +| 18 | Payload bounds (2^104 bit, 2^192 complex prefix, 2^80 prime witnesses) | C, never binding | columns_h.cpp:25; columns_k.cpp:34; finite_check.py:98; audit_local.py:103; gram_frames.py:17 | — | 1.00 | +| 19 | F2 payload coefficients | C | columns_h.cpp:27 | — | 1.00 | +| 20 | Replication T | C | bit_global.py:11; finite_check.py:86 | #505 asynchronous replicas | 1.00 (T cancels) | +| 21 | 47-inequality outer assembly | structure S, constants C | outer.py:27; U/08-assembly.tex:37; assembly-domain-audit.md:21 | the 1/32 domain cap is conservative and not binding | 1.00 | +| 22 | κ is the composition of the two suppliers | S | U/08-assembly.tex:37; outer.py:29, :30 | — | — | +| 23 | Two suppliers: complex butterfly layer, bit address shear | S | U/00-introduction.tex:48, :56, :118; U/06-transforms.tex:12 | shift twiddles are already in the outer (C.5) | — | +| 24 | Pressure identity (a rank-r child priced as a fraction of a call) | inherited conditional ("normalized residual wrappers as uniformly priced operations") on the paper's rank-1 recurrence | U/04-swap.tex:197; community-pr531-review.md:122 | — | defines the ceiling | +| 25 | Bridges X → X and Y → Y only | P (X wires contain q, Y wires do not) | columns_k.cpp:43 | — | — | + +Abbreviations: + +- `legality_h.cpp`, `columns_h.cpp`, `columns_k.cpp` and `gram_frames.py` are in + research/e8-bit-carrier-skeleton/code/bit/checkers/; +- `audit_local.py` is research/direct-delivery504-global/code/audit_local.py; +- `bit_global.py` is research/e8-early-reset-kernel/bit_global.py; +- `Work__Bridge__Net.lean` is in research/five-stage-gen4-banks/inputs/complex/sources/; +- `finite_check.py` is research/five-stage-gen4-banks/finite_check.py; +- `outer.py` is research/e8-bit-carrier-skeleton/code/pricing/outer.py; +- `LemmaG/`, `LemmaA/` are under research/e8-lemma-g-lean/ and research/e8-lemma-a-lean/; +- `community-pr531-review.md` and `assembly-domain-audit.md` are under docs/research/. + +### B.3 Corrections, as the census found them + +1. **The bit interface is the shear contract alone** (U/04-swap.tex:105-123). Subspace labels, nesting, Gram + orthogonality, bank pairs and the pair exchange are construction-layer choices of the paper's instance + (:199-243, 351-364), not interface requirements. +2. **Nesting is priced, not forbidden.** + - The paper itself has decreasing edges (U/03-motifs.tex:352-353). + - The paper counts kernels on decreasing edges (U/05-layers.tex:83). + - #130's frame lemma prices non-comparable labels by d(f, g). + - The checkers enforce nesting as a pricing rule. +3. **The bit legality checker** keeps its MOVE (nested and exactly priced), ADD (common frame) and COPY-lifecycle rules + on legality_h.cpp:11; line 10 holds the containment helper and the owner/helper selection (checked). +4. **The invariant `Inv`/`GInv`** used by the complex five-stage bridge is imported (`import Work.Bridge.Inv`) and + defined nowhere in main (checked). "One X bank and one Y bank per invariant" therefore rests on its use in + `Bridge2` and in bit_global.py / columns_k.cpp, not on a definition in the repository. +5. **#370's assertion "x registers are never destinations"** is a sufficient, not a necessary, condition (#425's + scalar-interface lemma; #493's README) (checked). +6. **The outer already uses shift twiddles** (Nussbaumer synthetic transforms; U/00-introduction.tex:44-50); the + complex supplier is the H_0 butterfly layer (:114-121). A ring change does not remove it (C.5). +7. **Complement sinks** (sink = any complement of the source label, w·u = 1) are not covered by the earlier phase-frame + null result: the sink stays a plain label with a new projection. They are legal (C.3, gate 0), and Lemma R closes + them on every current decoder. +8. **The only untested spec freedom with a ceiling term ≥ ×1.15** is the schedule/ρ family (rows 5, 12, 13). The + large multipliers (×6.8 copy charge, ×1.16 window) are scope and family terms, not rules. + +Caveats of the census itself: + +- "Sink = any complement of the source label" (row 6) was the census's own reading of U/05-layers.tex:145-148; it is now + settled by C.3. +- "A plain swap of two scratch roles cannot gain" (row 4: shared gate frames give ≥ 2m on the swapped pair) is the + census's own argument and is not re-derived here. +- #448 and #451 are unreviewed in the hub's ledger, so the "conceded" status of split-residual hosting rests on the + contributors' own record. + +## C. Structural lemmas + +### C.1 Frame sandwich and the complex frame walls (argued; toy `c1_sandwich_toy.py` checked) + +**Lemma (sandwich).** Let R be a register at time t, and consider paths that carry no priced drop. Then + + span{frame(r, t′) : r's content reached R drop-free by t} ⊆ frame(R, t) ⊆ (span{L_q : target q that R's content reaches drop-free after t})^⊥. + +*Proof sketch.* The lower side is #446 Theorem A, applied with any register as origin. For the upper side, a target q +ends at L_q^⊥ because its terminal label absorbs the port gate (T_{u^⊥} = F·C_u^{−1} up to monomials). Chains are +monotone, and a copy taken at t sits at its parent's frame (common frame at the copy gate), so it inherits the +parent's future. Exactness uses neither side: both are accounting. + +**Consequences** on the complex unit (labels in F_2^9, 112 ports): + +- **(W1)** The common station of a term whose readers span u_a^⊥ is the point ⟨u_a⟩. A cut shared by all readers of a + term is therefore one point per term. +- **(W2)** A copy serving a face of four targets of rank-3 span has frame dimension ≤ 6. A group of eight copies whose + faces span rank 4 has a common frame of dimension ≤ 5. +- **(W3)** Run backwards on the cleanup, the lower side gives end(X) ≥ the join of the frames of every register that + X's restoration reads. + +**Leaving the sandwich is legal and priced.** The toy (n = 4) puts three readers whose labels span u_a^⊥ at a station +⟨w⟩ outside every u_i^⊥ and then takes a non-nested step to u_i^⊥: + +- both networks are exact on 64/64 basis columns; +- every child's Clifford rank equals d(A, B) = dim A + dim B − 2 dim(A ∩ B), including the non-nested rank-4 steps; +- the charge is 18 = 13 + 3·2 − 1 against the standard network's 13. + +Relaxing "targets avoid u_t" costs +2 data mass per relaxed target per call (C.7 prices this). + +### C.2 Lemma N: the port factor is a gauge, always paid (`c2_port_gauge.py`) + +**Setting.** C_v = ((1 + i)I + (1 − i)X_v)/2, so C_v² = X_v. The full transform is F = Π_{w ∈ orthonormal basis} C_w, +and T_{q^⊥} = F·C_q^{−1} (#514's repeated-axis identities). In the hub's controller a source family runs +⟨q⟩ → … → F and a target family runs 0 → … → q^⊥. Each data family saves exactly one unit (m − 1 instead of m), which +is the C_q gauge: (s − 1)vkT = 8·112·8 = 7168 on the complex side, of which copies take 4608 and D = 2560 remains. + +**Lemma N.** For a parent child Z = C^{⊗A}, + +- rank(C_q^{±1}Z) = rank Z − 1 if q ∈ span(A) with odd support; +- rank(C_q^{±1}Z) = rank Z + 1 if q ∉ span(A) and q ⊥ A. + +**Theorem N (proof).** With d(f, g) = dim f + dim g − 2 dim(f ∩ g), any path f0 → G → f1 costs at least d(f0, f1), +with excess + +- **target** (0 → q^⊥): d(0, G) + d(G, q^⊥) − d(0, q^⊥) = 2(dim G − dim(G ∩ q^⊥)) ∈ {0, 2}, which is 0 iff G ⊆ q^⊥; +- **source** (⟨q⟩ → L): 2(1 − dim(⟨q⟩ ∩ G)) ∈ {0, 2}, which is 0 iff q ∈ G. + +(dim G − dim(G ∩ q^⊥) ≤ 1 because q^⊥ is a hyperplane.) + +The route T_{fY}·T_{fX}^{−1} equals F modulo monomials *only if* dim fX + dim fY = n and fX ∩ fY = 0. The source's +saving and the target's saving are therefore tied: un-labelling one side alone leaves a rank-1 mismatch on the pair. + +**Consequence.** "y avoids u_t" is the geodesic condition of the endpoint frames, not an artifact of where the +factor is paid. Moving the rank-1 factor to the parent costs at least d(0, L) − d(0, q^⊥) = 1 per family. Leaving +the interval costs exactly 2. + +**Checks (exact Clifford).** + +- The F2 rank of B = Σqqᵀ equals the tableau child rank on 240 random C-products (n = 4..7). +- Detour excess is 0 on the geodesic set and exactly 2 otherwise: + + | n | geodesic | off-geodesic | + |---|---|---| + | 3 | 20 | 44 | + | 4 | 128 | 408 | + | 5 | 1072 | 4912 | + | 6 | 3740 | 24510 | + + The source and target families give the same counts. +- The rigid pairs at n = 3, 4 are a subset of the complementary pairs. The converse fails: complementary pairs need + not be rigid. +- The gauge descent rank − 1 holds in 9/9 controls. + +**Not reproduced here.** A run on the 112 retained ports of the #523 controller found rank(C_q Z) = rank Z + 1 on +2016/2016 idle children and 2016/2016 stage climbs (no parent object absorbs the gauge). It needs the controller's +generated data-phase files, which this package does not ship, so it is reported, not checked. + +### C.3 Lemma R: complement sinks are legal but pinned + +**Legal (gate 0, `c3_complement_gate0.py`, checked).** For an odd w with w·u = 1, the route T_{w^⊥}·T_{⟨u⟩}^{−1} has +Clifford rank n: + +- for every complement w at n = 3..6, and on 40 seeded samples at n = 9; +- it equals C^{⊗n} after monomial wrappers of the same class as the standard sink, on the tableau and on every basis + column (n ≤ 6); +- non-complements (w·u = 0) give rank n − 2. + +The port price is unchanged: Y: 0 → w^⊥ and X: ⟨u⟩ → F both cost n − 1. The geodesic interval is G ⊆ w^⊥, with +excess exactly 2 outside it. A corrector that the standard sink forbids is exact and correctly priced. So the sink +stays a plain label with a new projection, and the port gate stays a gauge (C_w instead of C_u). + +**Lemma R.** If the sources whose content reaches target t drop-free span u_t^⊥, the only admissible complement sink +of t is w_t = u_t. + +*Proof.* By #446 Theorem A the sink V_t = w_t^⊥ contains u_t^⊥, and V_t is a hyperplane. + +**Pinned (`c3_complement_taint.py`, checked).** The checks run on four complex words: main's #531 word, the width-7 +and four-cold provider words of #569, and the combined-eight-local word of #571. The closure starts every helper at frame 0, the most permissive choice, +so the result holds for every frame assignment of the same scalar word; the words' own entrance frames are not +needed (on the three vendored words the closure with them gives the same result). + +- The most permissive lower closure (helpers enter at 0; every centre may drop to 0 at the cut) has dimension 8 on + 112/112 targets, so w_t = u_t is forced on 112/112. +- The pure drop-free source taint of every target is exactly its Gram-orthogonal neighbourhood: 52 sources, span + u_t^⊥. Phase A contributes nothing to any target. +- Any w ≠ u_t breaks at least 20 of t's 52 lossless corrections (112/112 targets). + +A positive control removes the 4 correction gates of one target. The closure then reports dimension 7 and 2 +admissible sinks, so the instrument sees freedom when it exists. + +On these four words the obstruction is the decoder's lossless pattern, not the endpoint rule. A decoder whose pairing is not symmetric +would be needed, and C.6 shows the E8 pattern admits none at window ≤ 9. + +### C.4 Lemma Q: a degenerate unit is dominated by its quotient (`c4_quotient.py`) + +**Setting.** The ports span W (dim d), with radical rad = W ∩ W^⊥ (dim ρ) and Gram rank r = d − ρ. Write +π: W → W/rad. + +**Lemma Q.** + +- A copy of total j read at a common cut g (g lies in every target sink, so WLOG g ⊆ rad) costs + d(f_j, g) ≥ dim π(f_j). +- Summed over j, this is the quotient unit's reads-at-0 cost, which is ≥ Σ_j rank G[S_j, R_j] (#446 Theorem C at + Gram level). +- Every stage window contains W and is nondegenerate, so h ≥ r + 2ρ. + +Since X is non-increasing in a and in cst (§A.2), X_deg(s) ≤ X(s, r/k, x_quot) ≤ X(s, r/k, x_ThmC) for every s. +Star scope is Gram-level (an in-cap clique inside S_j has a nonsingular diagonal Gram block in every realisation), so +degenerate spans are not outside the ceiling's scope and add no (w, x) points. + +**Checks (exact ranks).** + +- **The paired-cube p = 3 toy:** d 4, ρ 2; copy cost 18 (reads at 0), 16 (optimum over all flags of rad), 12 + (quotient = Theorem C bound); window 6 vs quotient 2. +- **Paired cubes p = 3..12:** only the complex p = 3 cube is degenerate. +- **E8 + an extra vector (bit):** 81 → 72 = quotient 72, window 10 vs 8. +- **E8 + weight-2 isotropic decorations (complex), ρ = 1, 2, 3:** 80 / 88 / 96 → 72 = quotient, windows 11 / 13 / 15 + vs 9. +- **Random radicals:** 0 violations of "cut cost ≥ quotient cost" on 737 seeded instances. +- **Certified X:** each realisation sits below its quotient. + + | unit | quotient | realisation(s) | + |---|---|---| + | bit | 5.1598e-3 | 4.0462e-3 | + | complex (ρ = 1 / 2 / 3) | 4.5356e-3 | 3.6522e-3 / 3.0570e-3 / 2.6286e-3 | + +**Out of scope.** Repeated-label (vector-linear) decoders are a Gram-level class that Lemma Q does not close. + +### C.5 Lemma λ: a phase-frame butterfly needs √−1 (argued; instances checked by `c5_lambda.py`) + +**Lemma λ.** Let K be a directional kernel defined by its direction alone. If P_N(K ⊗ I)P_N^{−1} = K ⊗ I for the +e₁-fixing N, then K = aI + bX. If moreover H_0 = [[1, 1], [1, −1]] satisfies u·H_0 = D₁(aI + bX)D₂ with D₁, D₂ +invertible diagonal and u a unit, then (b/a)² = −1, i.e. the Walsh eigenvalue ratio λ = (a − b)/(a + b) = ±i. + +*Proof.* The first part is a 2 × 2 symbolic computation (T5). For the second, write D₁ = diag(d, d′) and +D₂ = diag(e, e′). Entrywise, d·a·e = u, d·b·e′ = u, d′·b·e = u and d′·a·e′ = −u. Multiplying the first and last +equations gives dd′ee′·a² = −u², and multiplying the middle two gives dd′ee′·b² = u². Hence a² = −b², so a and b are +units and (b/a)² = −1. With b = ±i·a, λ = (1 ∓ i)/(1 ± i) = ∓i. Writing λ needs a + b = a(1 ± i) invertible, and +(1 + i)(1 − i) = 2, so the ring must also make 2 invertible (H_0 itself has determinant −2). ∎ + +**Consequences.** + +- A payload ring in which −1 is not a square (Z[1/2]; Z/M with a prime factor ≡ 3 mod 4) or in which 2 is not + invertible (F2; even M) carries no phase-frame butterfly supplier. +- In a ring with √−1, such as the Fermat ring Z/(2^N + 1) where i = 2^{N/2} is a shift, the ring hosts the identical + C-network with the same paid Fourier-rank histogram and the same b. +- The odd-weight residuals that the phase calculus needs (U/03-motifs.tex:600) force an odd-form unit. For E8 this + means F2 rank 9 and h = 9, which is the structural part of b < c. +- Bit networks have signed-permutation endpoints per role for any payload alphabet. Each two-point butterfly level at + most doubles row support, so a length-8 transform needs ≥ 3 butterfly levels, with the same Fourier-rank mass as the + complex DFT₈. +- The outer already uses shift twiddles (B.3, item 6). + +**Checks (exact, sympy / modular).** + +- **T1–T3:** the product of three H_0 factors and three monomial twiddles equals the bit-reversed DFT₈. Over Z/17 it is + the length-8 NTT with root 2. Row support 8 needs 3 levels. +- **T4:** brute force over Z/M for the 16 odd moduli M ∈ {3, 5, 7, 9, 11, 13, 15, 17, 21, 25, 29, 33, 37, 41, 45, 65}: + solutions exist iff −1 is a square mod M, and λ² = −1 in every solution. +- **T5:** the commutation forces K = aI + bX. +- **T6:** C² = X and H_0 = b·S·C·S in Z/17 with i = 4. +- **T7:** there is no real solution. +- **T8:** weight-2-mod-4 residuals act as translations. + +### C.6 Asymmetric pairing uniqueness at the E8 pattern (`c6_asym.py`) + +**Setting.** A unit is (N over Q, B = W·Uᵀ over F2): + +- window = rank B (the pairing version of Lemma Q); +- a correction N_TS is lossless iff B_TS = 0 (#446 Theorem A, directed); +- β_j = rank B[R_j, A_j] (Theorem C); +- exactness is N∘B = diag. + +The gauge (U, W) ↦ (UP, WP^{−T}) fixes B, so "W ≠ U" means nothing by itself. A symmetric unit-diagonal F2 matrix of +rank r is congruent to I_r. + +**Result (SAT).** At the E8-linear decoder pattern (B_TS = 0 where G_TS ≠ 0, B_TT = 1), gauge-fixed on 8 +pairwise non-orthogonal lines (where the pattern forces B[K, K] = I, so U_K = W_K = [I_8 | 0]): + +- P112 at c = 9: "B ≠ Bᵀ" and "B ≠ B0 = (J + G) mod 2" are UNSAT with U and W both free; with U fixed to the E8 + labels and W free, "B ≠ Bᵀ" is UNSAT too (the "B ≠ B0" question was not run with U fixed); +- P120 at c = 9: the same two questions are UNSAT; +- c = 8: UNSAT, symmetric and non-symmetric (P120), and non-symmetric on P112; +- calibration: c = 9 without the extra constraint is SAT, with B = B0. + +So at window ≤ 9 the pairing is unique and every W ≠ U is a gauge. The UNSAT answers come from CaDiCaL (through +python-sat) without proof logs; the SAT calibration runs show that each encoding is satisfiable where it should be. + +**Off the E8 pattern.** An exact asymmetric P112 unit exists at copy cost 65 (+1) and window 9: N′∘B = diag on all +112 × 112 entries. Two of its targets take sinks w ≠ u and need 28 corrections instead of 52. In this verified unit one extra copy-rank +unit (65 instead of 64) frees exactly two sinks; no lower bound on the price of a freed sink is claimed. A directed +3-cycle toy (B non-symmetric, rank 2, +exact on 343 inputs) shows that the asymmetric class is larger in general. + +### C.7 Per-call descent pricing (`c7_descent_toy.py`, `c7_descent_price.py`) + +**Statement.** A descent of rank r followed by its re-climb costs exactly 2r rank units in the local word. It +therefore costs 2r units of data mass in every call, which is 2r copy-rank units by the deficit identity. There is no +fixed cost to share between uses. + +**Checks.** + +- **Exact toy (n = 5).** One reader reads three cheap terms at point stations ⟨u_a⟩, ⟨u_b⟩, ⟨u_c⟩, and each term's + readers span u_j^⊥. + - Four networks (standard, clones, direct descents, descents through 0) are exact on 224/224 basis columns. + - Every child, including the rank-2 non-comparable ones, has Clifford rank d(A, B). + - Each rank-1 descent costs +2, whether direct or through 0, and a reader at k point stations pays 2(k − 1). +- **Prices on the published profiles** (certified root, hosting held fixed): one rank-1 descent per local word costs + **−5.630% c on #555** (288 stage-replicas) and **−5.646% b on #568** (72 calls); two cost −11.26% / −11.29%. + +**Dominance within the price class (argued).** In the known designs (the complex factory, face and M-copy ledger and +the bit pair-term and star units; this list is a census of those designs, not a theorem), each use of a descent buys at +most one of the following: + +- one target removed from one last-read antichain (≤ |T_t| ≤ 7 private copies); +- two monotone arms for a copy register; +- two fixed pair-split conflicts; +- one supplied retired row. + +That is at most about 7 helpers' work. One rank-1 descent costs −5.65% b on #568, about 40 width-9 complex helpers +at 0.14% b each (§E.1). So within the class where every non-comparable step is one child of rank d(f, g) +paid in every call, a schedule with ≥ 1 paid descent is dominated by the best schedule without one. + +This is price-class dominance, not an impossibility. It does not cover a descent paid once per word. + +### C.8 Split residuals across hosting streams (argued) + +Split a helper residual of width w = a + b over two streams. #451 (chafreaky) shows that the identity +trace(D_{a+b} + I) − trace(D_a + D_b) = q^{2m−a−b}(q^a − 1)(q^b − 1) ≠ 0 is invariant under every invertible linear +change of storage; there is a complex analogue. So no relabelling makes an uncharged split exact. An exact split +needs one of: + +- a cross-term repair (≥ min(a, b) doubly paid coordinates); +- one helper per piece; +- a new hub primitive that prices split routing. + +The "one further route factor per helper selector" of #448 (higherbeing) is the last kind. + +Even uncharged, the gain is small on the current complex frontier. #569 hosts all residual supply and pays the idle +remainder {3: 1200, 7: 48, 48: 1808} (90,720 coordinates; checked in `e2`). #588 uses the same hosting regime, but +its remainder differs and is not reproduced here. φ(r) = r((m/r)^q − 1) is concave, so with free +splitting the best case puts the whole remainder in rank-48 children: 1890·φ(48) = 60.98 against 78.06 today, a +saving of 17.08 D-units. That is **at most +0.67% b**, and it ignores windows and timing. + +Status: argued (concavity bound on #569's reproduced hosting profile; the profile itself is checked in `e2`). + +## D. Design-free helper bounds (`d1_cover_numbers.py`, `d2_coupled_count.py`, `d3_carrier_ledger.py`) + +**Model.** Registers are monotone frame chains: + +- helpers 0 → F; +- sources ⟨u_s⟩ → F; +- targets 0 → u_t^⊥. + +Gates act at a common frame. The only drops are the decoder copies: 9 totals at p^⊥ (bit), 8 rank-8 centres +(complex). The demand is the drop-free source → terminal map. + +**Crossing lemma (argued; #446 Thm A plus the sandwich).** Fix a level d. Every drop-free path s → q crosses level d +exactly once, inside one register's climb a → b, so N = Σ_e α_e β_eᵀ over the level-d crossing events, with +supp β_e ⊆ S(a_e) and supp α_e ⊆ Q(b_e^⊥). Each register crosses each level at most once. Only the extreme levels +bind: at the middle levels the rectangle areas are below the free data crossings. + +**Cover numbers (exact).** + +| side | per-source cover | per-terminal cover | evidence | +|---|---|---|---| +| complex P112 (F2^9) | 2 | 2 | two proper hyperplane sections cover every source's 52 readers (112/112; max section 32; 26 with port-spanned frames only, still 2 sections) | +| bit #555 (Q^8, E7 = the 63 lines ⊥ a source) | 3 | 3 | exhaustive census of the 8821 hyperplane flats of E7: two cover at most 52 of 63 (≥ 11 left), three D6 flats (30 lines each) cover all; on the terminal side at least 6 live sources stay uncovered by any two flats (all 120 terminals) | + +**Floors.** + +| side | sink-only targets | strict (y → y mixing allowed) | shipped | +|---|---|---|---| +| bit | 2·111 − ⌊111/11⌋ = **212** | max(3·111 − 222, 3·120 − 222) = **138** | 439 | +| complex | 112 − ⌊112/20⌋ = **107** (108 with port-spanned frames) | 2·112 − 224 = **0** | 496 (+ 8 centres) | + +**Coupling adds 0 (checked).** The coupled cover model (hop areas through all levels, exact unit rectangle caps +32/32/32/36/32/32/32 for complex d = 2..8, exhaustive for d = 2..5 and by the symmetry d ↔ 10 − d above; end +patterns; bit flat sizes 1, 3, 6, 12, 20, 36, 63 per rank, enumerated in E7, with maximality in E8 from the +root-subsystem chain A1 ⊂ A2 ⊂ A3 ⊂ D4 ⊂ D5 ⊂ E6 ⊂ E7) has integer count optima 212 / 138 / 107 / 0 (HiGHS, zero gap), +identical to the single-cut bounds. The shipped words are feasible in it. With the shipped data ladders held fixed the +floors rise to 222 (bit) and 146 / 123 (complex). + +**Corrections.** + +- **The census of E7's hyperplane flats.** An earlier sampled census found 2258 flats; the exhaustive census has 8821 + (5040 / 2016 / 1008 / 666 / 63 / 28 of sizes 10 / 13 / 16 / 21 / 30 / 36). The sampled set is reproduced (seed 1) and + undercounts the small types; the cover number 3 is unchanged. +- **The "224 carriers = 2 per source" complex floor is a design choice.** #531 gives every source exactly 3 level-2 + crossings (X_s + 2 helpers) into port-spanned 2-dim frames whose section is 20 (3 × 20 = 60 ≥ 52), while two + sections already cover every source. The 224 is a property of the section type, not of the format. +- **Carriers are register-neutral in the calibrated ledger (checked).** The register ledger rebuilt from #531's real + tile objects (168 block-local planes, 168 keys, mate matching 2) reproduces 224 scratch + 168 face copies + 112 M + copies = 504, with B = N2 + K + R − 112 + waste. The carrier stage and the face stage together cost 2·N2 − 112 + + waste for any edge cover. The cover axis therefore only enters through wasted single-variant butterflies: + - rebuilding the same planes from cross-tetrad edges costs +168 (12 per block, exact); + - tetrad edges give waste 0 (CP-SAT over all three splits). + +**What the floors certify.** At most 48% (bit, sink-only, 212/439) / 22% (complex, 107/496 helpers without the 8 +centres) of the shipped helper count is design-free necessary. No single-cut or coupled cover argument closes the helper gap that §A.5 identifies as the whole headroom. + +## E. Complex helper prices and the moment-cost census (`e1_run_census.py`, `e2_helper_prices.py`) + +### E.1 Price per helper by class and width on #569 + +The b gain per deleted helper is measured as follows: + +- the helper is removed in all 72 calls; +- its width returns to the idle remainders; +- hosting is re-solved (the LP relaxation of the whole-owner model; integer CP-SAT spot checks at k = 1, not + reproduced here, agreed with it to < 0.002% b). + +The control reproduces #569's hosting (remainder {3: 1200, 7: 48, 48: 1808}, b = 1.602631811·10⁻³). + +| cell (count) | width | % b per helper, k = 1 (checked) | k = 8 / 14 / whole cell (recorded) | +|---|---|---|---| +| factory scratch (216) | 9 | 0.140 | 0.142 / 0.143 / 0.179 | +| face copy (64) | 9 | 0.134 | 0.140 / 0.141 / 0.151 | +| face-copy entrant (72) | 8 | 0.105 | 0.102 / 0.101 / 0.081 | +| face-copy provider (32) | 7 | 0.075 | 0.069 / 0.062 / 0.050 | +| M-copy entrant (56) | 8 | 0.111 | 0.111 / 0.109 / 0.098 | +| rank-4 pivot (48) | 5 | 0.039 | 0.039 / 0.036 / 0.032 | +| rank-5 pivot (8) | 4 | 0.042 | 0.041 / – / – | + +**Width law.** Price = local fee saved − hosting offset, where the offset is the increase of the hosting LP objective. +The offset depends on width only: cells of equal width have identical LP objective increases (checked). Its share of +the local fee at k = 1 (checked) is: + +| width | 9 | 8 | 7 | 5 | 4 | +|---|---|---|---|---|---| +| offset share, k = 1 | 6.3–6.6% | 17.0–17.9% | 31.5% | 57.4% | 45.4% | + +The share is not monotone in width (w4 sits between w7 and w5). At larger k the w7 share rises to 55% and the w5 share +to 65% (recorded in `data/prices/helper-price-table.json`). One conversion constant links all cells: fee saved minus offset is 25.64–25.66 moment units per 1% b. + +A count-based "0.11% per helper" is therefore about right for the width-8 entrants (0.105–0.111), overprices the +width-7 providers by about 1.5× (0.075) and the rank-4/5 pivots by 2.6–2.8× (0.039–0.042), and underprices the +width-9 scratch and face copies by about 25% (0.134–0.140). Summed k = 1 marginals give: + +| class | share of the marginal helper cost | % b | +|---|---|---| +| factory scratch | 53% | 30.2 | +| face copies | 32% | 18.5 | +| M copies | 15% | 8.4 | + +Full table, including the mixed-class runs: `data/prices/helper-price-table.json` (k > 1 rows recorded). + +### E.2 Moment-cost census by class (checked) + +The F-share of a class is its share of Σφ = D at the word's own root. The all-single-run ceiling is the supplier value +if each register of the class climbed in one child, with hosting proportional. + +**#555** (R = 439; 288 stage-replicas): + +| class | n | runs | mean run | stops/register | F-share | all-single-run ceiling | +|---|---|---|---|---|---|---| +| line-born carriers (0,1,2,…) | 205 | 1120 | 1.46 | 4.46 | 29.5% | +14.75% c | +| cell-born (0,2,…) | 153 | 686 | 1.78 | 3.48 | 21.2% | +9.60% | +| line → quad/D6 keepers and totals | 80 | 349 | 1.83 | 3.36 | 10.7% | +4.35% | +| quad-born | 1 | 4 | 2.00 | 3.00 | 0.1% | +0.05% | +| data x / data y | 111 / 111 | 539 / 213 | 1.44 / 3.65 | – | 14.1% / 10.4% | – | + +Copies take 0.7% and the idle remainder 13.4%. + +**#569** (R = 504; width-7 provider word for all 72 calls): + +| class | n | runs | mean run | stops/register | F-share | all-single-run ceiling | +|---|---|---|---|---|---|---| +| factory scratch | 216 | 1304 | 1.49 | 5.04 | 32.5% | +16.4% b | +| face copies | 168 | 696 | 1.98 | 3.14 | 21.9% | +9.1% | +| M copies | 112 | 504 | 1.43 | 3.50 | 12.4% | +4.9% | + +Data take 28.3%, centres 1.8% and the idle remainder 3.0%. The published global profile is reproduced exactly from +63 width-7 calls, 9 four-cold calls and the remainder. + +## F. What the results imply + +**Cost structure (result).** Under S2 the ceiling is set by the copy charge and the B_K idle structure (A.7); on the +real words the headroom is helper cost, 87–93% of the log-gap (A.5). A change inside the local word is paid in every +call: the local word runs 288 times (stage-replicas) in #555's bit pipeline and 72 times in #568's complex pipeline, +and by the deficit identity each rank unit added per local word lowers D by one per call. On the published profiles one +rank unit per local word costs 2.82% of c (#555) and 2.82% of b (#568): half the checked price of a rank-1 descent +(C.7), and the same size as one copy-rank unit per stage (+2.8% of X at s = 9, A.3). What such a change unlocks (a +shared station, a freed sink, a removed copy, a supplied row) is a gain fixed per word. + +**Break-even.** A change that costs Δ rank units in every local word pays only if its per-word gain exceeds about +2.8·Δ % of the supplier value. On the complex side that is about 20·Δ width-9 helpers (0.14% b each, E.1). The +per-call prices of C.1, C.2, C.6 and C.7 are all of this form: +2 per relaxed target per call, at least 1 per +un-gauged family per call, one copy-rank unit for the two sinks freed in the verified asymmetric unit, and 2r per +rank-r descent per call. + +**Open problems.** + +1. **Per-word enablers.** A mechanism charged once per word or per outer level instead of per call, such as a descent, + gauge change or station hoisted out of the local word. At 1/72 of its per-call price a rank-1 descent would cost + about 0.08% b, roughly half a width-9 helper. The current interface has no such primitive (B.2 rows 1, 3, 24). +2. **A non-star decoder.** The copy charge is the largest scope term (×6.8 at the best s, ×2.8 at s = 9; A.7). On the + E8 pattern the pairing is unique at window ≤ 9 (C.6), and on the four complex words checked the lossless pattern + pins every sink (C.3). Lowering x therefore needs a different unit or decoder; for scale, x = 54/102 (bit) and + 56/104 (complex) would give X* = 8.25·10⁻³ and 6.80·10⁻³ (A.6). +3. **The schedule/ρ freedom.** Any permutation ρ is spec-legal, and one bank pair per invocation is a convention (B.2 + rows 5, 12, 13). The B_K idle terms are worth ×1.15 to ×2.15 (A.7). +4. **New skeletons.** The design-free floors certify at most 48% (bit, 212/439) and 22% (complex, 107/496) of today's + helper counts (D). The other 52% and 78% of the helpers are not shown necessary by any argument here. + +## Files + +- `scripts/`: one check per claim group, plus shared code. + - Shared: `report.py` (PASS/FAIL, paths), `cert.py` (rational-interval ln/expm1, certified roots), `skel.py` + (skeleton slots, variants), `e8units.py` and `minrank_sat.py` (E8 geometry, SAT encodings), `d_geometry.py`, + `e_hosting.py` (the hosting LP and the moment root). + - Driver and step 0: `run_all.py`, `provenance.py`. +- `data/vendor/`: inputs copied from open PRs (`SOURCES.json` gives PR, author, commit, path, git blob id). +- `data/ceiling/`, `data/census/`, `data/toys/`, `data/prices/`: small inputs (#568's recorded idle remainder, the + census anchors, the p = 3 paired-cube instance, #569's call dispatch with its source blob id, the deleted-helper + specs and the recorded price table). +- `DEPENDS.json`: files of main read by the checks, by sha256. +- `MANIFEST.sha256`: every file of the package. + +## Credits + +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code; Apache-2.0. See `NOTICE.md` for the +PRs whose words, pipelines and results are used. diff --git a/research/fixed-word-gauge-limits/certificates/THRESHOLD-GAUGE-COMMON.json.gz b/research/fixed-word-gauge-limits/certificates/THRESHOLD-GAUGE-COMMON.json.gz new file mode 100644 index 0000000000..5a66d6c774 Binary files /dev/null and b/research/fixed-word-gauge-limits/certificates/THRESHOLD-GAUGE-COMMON.json.gz differ diff --git a/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz b/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz new file mode 100644 index 0000000000..836c69875b Binary files /dev/null and b/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz differ diff --git a/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz b/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz new file mode 100644 index 0000000000..9771235256 Binary files /dev/null and b/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz differ diff --git a/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz b/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz new file mode 100644 index 0000000000..0b3a5afa6c Binary files /dev/null and b/research/fixed-word-gauge-limits/certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz differ diff --git a/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-LINE42-PATHS.json.gz b/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-LINE42-PATHS.json.gz new file mode 100644 index 0000000000..a7976a9101 Binary files /dev/null and b/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-LINE42-PATHS.json.gz differ diff --git a/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-ODD-PATHS.json.gz b/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-ODD-PATHS.json.gz new file mode 100644 index 0000000000..8cc2020af5 Binary files /dev/null and b/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-ODD-PATHS.json.gz differ diff --git a/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz b/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz new file mode 100644 index 0000000000..02e276b972 Binary files /dev/null and b/research/fixed-word-gauge-limits/certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz differ diff --git a/research/fixed-word-gauge-limits/checkers/check_common_product_rank.py b/research/fixed-word-gauge-limits/checkers/check_common_product_rank.py new file mode 100644 index 0000000000..36bfd16d53 --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/check_common_product_rank.py @@ -0,0 +1,84 @@ +"""Check the source data for the common-product rank bound.""" + +from hashlib import sha256 +from importlib.util import module_from_spec, spec_from_file_location +from pathlib import Path +import argparse +import json +import resource + + +HERE = Path(__file__).resolve().parent +PACKAGE = HERE.parent + + +def require(condition, label): + if not condition: + raise ValueError(label) + + +def span(rows): + result = {0} + for row in rows: + result |= {value ^ row for value in result} + return result + + +def main(args): + spec = spec_from_file_location("review_source", HERE / "check_line_paths.py") + helper = module_from_spec(spec) + spec.loader.exec_module(helper) + word, programs = helper.load_source() + centres = word["center_frames"] + require(centres == list(range(415, 423)), "Centre frame IDs") + intersection = set.intersection(*(span(word["frames"][frame]) for frame in centres)) + basis = [30, 45, 75, 128, 256] + require(intersection == span(basis) and len(intersection) == 32, "Common five-dimensional space") + gram = [sum(((u & v).bit_count() % 2) << j for j, v in enumerate(basis)) for u in basis] + require(gram == [0, 0, 0, 8, 16] and len(helper.binary_basis(gram)) == 2, "Common Gram rank") + sharp = [] + for frame_id in centres: + frame = word["frames"][frame_id] + require(len(helper.binary_basis(frame)) == 8, "Centre dimension") + perpendicular = helper.binary_basis(value for value in range(1, 512) + if all(not ((value & u).bit_count() % 2) for u in frame)) + label = [u | (u << 9) for u in frame] + [v << 9 for v in perpendicular] + twisted_zero = [((1 << j) & (128 | 256)) | (1 << (j + 9)) for j in range(9)] + pairing = [sum(helper.omega(u, v) << j for j, v in enumerate(twisted_zero)) for u in label] + changed_rank = len(helper.binary_basis(pairing)) + require(changed_rank == 6, "Sharp common-product rank") + fixed = {u for u in span(frame) if u == (u & (128 | 256))} + require(fixed == {0, 128, 256, 384}, "Sharp fixed space") + sharp.append({"frame": frame_id, "old_rank": 8, "new_rank": changed_rank}) + proof = PACKAGE / "proofs/COMMON-PRODUCT-RANK.md" + result = { + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND", + "source_base": helper.BASE, + "source_pins": helper.PINS, + "common_basis": basis, + "common_gram_rows": gram, + "common_gram_rank": 2, + "sharp_gauge": "C_128 C_256", + "sharp_ranks": sharp, + "proof_review": [ + "Every product and inverse has symplectic action S_B(x,z)=(x+Bz,z), where B is a sum of aa^T with a in A. Thus im(B) is in A and B kills U-perp.", + "The intersection of L_U and S_B L_0 is parametrized by w in U-perp and u in Fix(B|U), with z=w+u. The parametrization is injective: a fixed vector in U-perp must be zero.", + "The intersection dimension is n-dim(U)+dim Fix(B|U). Hence the exact native rank is dim(U)-dim Fix(B|U).", + "Each fixed vector is in A and in the image of B|A. The map B|A factors through the restricted dot product on A, whose rank is s. The fixed space has dimension at most s, so native rank is at least dim(U)-s.", + "Applying the same symplectic gauge to both labels reduces two arbitrary endpoint products to their relative product. Native rank depends only on these labels, so phases do not change this rank bound." + ], + "scope": "A local native-rank bound for products of translation-line gauges from one fixed common subspace A. This does not price the complete scalar graph, all child moments, or a supplier.", + "not_claimed": ["A bound for lines outside A", "No complete-cost gain", "All Clifford gauges", "A changed native supplier replay or a kappa bound"], + "source_sha256": {str(path.relative_to(PACKAGE)): sha256(path.read_bytes()).hexdigest() + for path in (proof, HERE / "check_line_paths.py", HERE / "check_common_product_rank.py")}, + "maximum_resident_bytes": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, + } + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"]) + print("common_dimension=5 gram_rank=2 centre_ranks=6,6,6,6,6,6,6,6") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/checkers/check_line_paths.py b/research/fixed-word-gauge-limits/checkers/check_line_paths.py new file mode 100644 index 0000000000..1f08b2de6e --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/check_line_paths.py @@ -0,0 +1,295 @@ +"""Review the paired line-gauge paths by symplectic pairing ranks.""" + +from collections import Counter +from copy import deepcopy +from hashlib import sha256 +from pathlib import Path +import argparse +import gzip +import json +import resource +import subprocess +import sys +import tempfile + + +HERE = Path(__file__).resolve().parent +PACKAGE = HERE.parent +BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +ARCHIVE = "research/community-frontier1042-audit/selected-replay.tar.gz" +PINS = { + ARCHIVE: "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", +} + + +def require(condition, label): + if not condition: + raise ValueError(label) + + +def binary_basis(vectors): + out = [] + for value in vectors: + for pivot in out: + value = min(value, value ^ pivot) + if value: + out.append(value) + out.sort(reverse=True) + return out + + +def omega(left, right): + return (((left & 511) & (right >> 9)).bit_count() + + ((left >> 9) & (right & 511)).bit_count()) % 2 + + +def load_source(): + output = [] + for name in list(PINS)[1:]: + compressed = (PACKAGE / "data" / Path(name).name).read_bytes() + require(sha256(compressed).hexdigest() == PINS[name], "Source member pin") + output.append(json.loads(gzip.decompress(compressed))) + return output + + +def components(word, program): + frame = {("L", i, 0): value for i, value in enumerate(word["start"])} + current = {("L", i): ("L", i, 0) for i in range(len(word["start"]))} + sequence, clears = Counter(), Counter() + parent = {node: node for node in frame} + native = [] + + def find(node): + while parent[node] != node: + parent[node] = parent[parent[node]] + node = parent[node] + return node + + def join(left, right): + a, b = find(left), find(right) + parent[max(a, b)] = min(a, b) + + previous_scalar = None + for index, event in enumerate(program): + kind = event[0] + if kind == "phase": + continue + if kind == "scalar": + gate, wanted_frame = event[1:] + key = tuple(gate[1]) + if gate[0] == "clear": + require(key[0] == "C", "Persistent clear") + clears[key] += 1 + require(clears[key] <= 2, "Private lifetime count") + level = "dead" if clears[key] == 2 else ("high" if wanted_frame else "low") + current[key] = ("C", key[1], level) + frame[current[key]] = wanted_frame + parent[current[key]] = current[key] + else: + require(frame[current[key]] == wanted_frame, "Scalar target frame") + if gate[0] in ("add", "copy"): + source = current[tuple(gate[2])] + require(frame[source] == wanted_frame, "Scalar source frame") + if gate[0] == "copy": + require(previous_scalar == ["scalar", ["clear", list(key)], wanted_frame], "Copy lifetime") + join(current[key], source) + else: + require(gate[0] == "scale", "Scalar opcode") + previous_scalar = event + continue + if kind == "center": + _, register, before, after, rank = event + key = ("C", register) + next_node = ("C", register, "high" if after else "low") + else: + require(kind in ("climb", "adapter", "residual_adapter"), "Native opcode") + key = ("L", event[2]) + if kind == "climb": + before, after, rank = event[3:] + else: + before = after = frame[current[key]] + rank = 0 + sequence[key] += 1 + next_node = ("L", key[1], sequence[key]) + old = current[key] + require(frame[old] == before and next_node not in frame, "Native frame or segment") + frame[next_node] = after + parent[next_node] = next_node + current[key] = next_node + native.append((old, next_node, before, after, rank, kind, index)) + require(len(clears) == 8 and set(clears.values()) == {2}, "Private clears") + ends = [current["L", i] for i in range(len(word["start"]))] + require([frame[node] for node in ends] == word["final"], "Source final frames") + for i in range(2 * word["v"], len(ends)): + join(("L", i, 0), ends[i]) + for i in range(word["v"]): + for node in (("L", word["v"] + i, 0), ends[i], ends[word["v"] + i]): + join(("L", i, 0), node) + groups = {} + for node in parent: + groups.setdefault(find(node), set()).add(node) + return native, {node: find(node) for node in parent}, {frozenset(group) for group in groups.values()} + + +def main(args): + source_dir = PACKAGE / "certificates" + cert_paths = [source_dir / name for name in ("WIRE-GAUGE-ODD-PATHS.json.gz", "WIRE-GAUGE-LINE42-PATHS.json.gz")] + certs = [json.loads(gzip.decompress(path.read_bytes())) for path in cert_paths] + word, programs = load_source() + forward, roots, groups = components(word, programs["forward"]) + backward, backward_roots, backward_groups = components(word, programs["backward"]) + require(groups == backward_groups, "Both scalar and boundary partitions") + def edges_up_to_orientation(edges): + return Counter((tuple(sorted((u, v))), tuple(sorted((before, after))), rank, kind) + for u, v, before, after, rank, kind, index in edges) + require(edges_up_to_orientation(forward) == edges_up_to_orientation(backward), "Both native inventories") + graph = certs[0]["graph"] + require(graph == certs[1]["graph"], "Both saved graphs") + require(graph["paired_boundaries"] is True and graph["fixed"] == [], "Boundary constraints") + require(len(groups) == len(graph["labels"]) == 1979 and len(roots) == graph["raw_segments"] == 5784, "Graph dimensions") + require(len(forward) == len(graph["edges"]) == 5064, "Native event count") + require(len(roots) - len(groups) == graph["scalar_access_unions"] == 3805, "Component identifications") + mapping, inverse = {}, {} + for actual, saved in zip(forward, graph["edges"]): + require(list(actual[2:]) == saved[2:], "Source native event") + for node, saved_node in zip(actual[:2], saved[:2]): + root = roots[node] + require(mapping.get(root, saved_node) == saved_node and inverse.get(saved_node, root) == root, "Saved graph partition") + mapping[root] = saved_node + inverse[saved_node] = root + require(len(groups) - len(mapping) == 8, "Only cleared private segments are isolated") + profile = Counter(edge[4] for edge in forward) + require(profile == {0: 1570, 1: 2412, 2: 418, 3: 432, 4: 142, 5: 82, 8: 8}, "Complete source profile") + require(sum(rank * count for rank, count in profile.items()) == 5586, "Source rank mass") + + labels = [] + for frame in word["frames"]: + perpendicular = binary_basis(value for value in range(1, 512) + if all(not ((value & u).bit_count() % 2) for u in frame)) + basis = [u | (u << 9) for u in frame] + [v << 9 for v in perpendicular] + require(len(basis) == len(binary_basis(basis)) == 9, "Lagrangian dimension") + require(all(not omega(u, v) for u in basis for v in basis), "Lagrangian isotropy") + labels.append(basis) + pairings = {} + for before, after, rank in {(e[2], e[3], e[4]) for e in forward}: + matrix = [sum(omega(u, v) << j for j, v in enumerate(labels[after])) for u in labels[before]] + require(len(binary_basis(matrix)) == rank, "Baseline symplectic pairing rank") + pairings[before, after, rank] = matrix + require(len(pairings) == 3150, "Distinct native frame pairs") + rows = {row["line"]: row for cert in certs for row in cert["lines"] if "paths" in row} + require(set(rows) == {a for a in range(1, 512) if a.bit_count() % 2}, "Odd-line coverage") + total_paths = total_demand = 0 + capacity_cycle = None + for a in range(1, 512): + z_pairings = [sum(((value >> 9) & a).bit_count() % 2 << j for j, value in enumerate(basis)) + for basis in labels] + delta = {} + for key, matrix in pairings.items(): + before, after, old = key + changed = [row ^ (z_pairings[after] if (z_pairings[before] >> i) & 1 else 0) + for i, row in enumerate(matrix)] + delta[key] = len(binary_basis(changed)) - old + if not a.bit_count() % 2: + require(min(delta.values()) >= 0, "Even-line pointwise obstruction") + continue + signed = Counter() + for u, v, before, after, rank, kind, index in graph["edges"]: + if u != v: + signed[tuple(sorted((u, v)))] += delta[before, after, rank] + positive = {edge: weight for edge, weight in signed.items() if weight > 0} + negative = {edge: -weight for edge, weight in signed.items() if weight < 0} + row, used, supplied = rows[a], Counter(), Counter() + require(row["negative_edges"] == len(negative) and row["negative_mass"] == sum(negative.values()), "Negative inventory") + for route in row["paths"]: + demand, path, amount = tuple(route["negative_edge"]), route["path"], route["amount"] + require(demand in negative and type(amount) is int and amount > 0, "Integer demand") + require(len(path) > 1 and (path[0], path[-1]) == demand, "Path endpoints") + supplied[demand] += amount + for u, v in zip(path, path[1:]): + edge = tuple(sorted((u, v))) + require(edge in positive, "Positive path edge") + used[edge] += amount + require(dict(supplied) == negative, "Exact demand coverage") + require(all(used[edge] <= positive[edge] for edge in used), "Path capacities") + total_paths += len(row["paths"]) + total_demand += sum(negative.values()) + if a == 7: + for route_index, route in enumerate(row["paths"]): + for position, edge in enumerate(zip(route["path"], route["path"][1:])): + if used[tuple(sorted(edge))] == positive[tuple(sorted(edge))]: + capacity_cycle = route_index, position + break + if capacity_cycle is not None: + break + require(capacity_cycle is not None, "Saturated edge for capacity control") + print("independent_pairing_ranks=1609650 odd_lines=256 even_lines=255", flush=True) + + controls = [] + def reject(name, mutate, expected): + changed = deepcopy(certs[0]) + mutate(changed) + with tempfile.TemporaryDirectory(prefix="line-path-control-") as temporary: + path = Path(temporary) / "certificate.json.gz" + path.write_bytes(gzip.compress(json.dumps(changed).encode(), mtime=0)) + command = [sys.executable, "-I", "-O", "-B", str(HERE / "verify_odd_paths.py"), "--out", str(Path(temporary) / "unexpected.json"), str(path), str(cert_paths[1])] + run = subprocess.run(command, capture_output=True, text=True, timeout=60) + require(run.returncode != 0 and expected in run.stderr, "Mutation control: " + name) + controls.append({"control": name, "exit_code": run.returncode, "rejected_by": expected}) + print("rejected", name, flush=True) + + def first(doc): + return next(row for row in doc["lines"] if row["line"] == 7) + + def insert_cycle(doc): + route_index, position = capacity_cycle + route = first(doc)["paths"][route_index] + path = route["path"] + u, v = path[position:position + 2] + route["path"] = path[:position + 1] + [v, u] + path[position + 1:] + + reject("missing_path", lambda doc: first(doc)["paths"].pop(), "all negative demands covered exactly") + reject("overused_positive_capacity", insert_cycle, "positive capacities") + reject("negative_edge_used_as_path", lambda doc: first(doc)["paths"][0].update(path=first(doc)["paths"][0]["negative_edge"]), "path uses a positive source edge") + reject("noninteger_amount", lambda doc: first(doc)["paths"][0].update(amount=0.5), "positive integer path amount") + reject("unpaired_boundary", lambda doc: doc["graph"].update(paired_boundaries=False), "Boundary mode") + reject("native_wrapper_omission", lambda doc: doc["graph"]["edges"].pop(next(i for i, edge in enumerate(doc["graph"]["edges"]) if edge[5] == "adapter")), "Native edge count") + reject("missing_line", lambda doc: doc["lines"].remove(first(doc)), "all 256 odd lines exactly once") + + paths = cert_paths + [HERE / "verify_odd_paths.py", PACKAGE / "proofs/ALL-LINE-GAUGES.md", + HERE / "review_wire_gauge.py", HERE / "check_line_paths.py"] + receipt = { + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION", + "source_base": BASE, + "source_pins": PINS, + "orientations": ["forward", "backward"], + "graph_components": 1979, + "native_events": 5064, + "rank_zero_wrappers": 1570, + "native_rank_mass": 5586, + "distinct_native_frame_pairs": 3150, + "odd_lines": 256, + "even_lines": 255, + "independent_symplectic_pairing_rank_checks": 1609650, + "integer_paths": total_paths, + "negative_demand_mass": total_demand, + "negative_controls_under_optimized_python": controls, + "independent_method": "The review rebuilds live wire partitions with register and lifetime labels. It computes rank from the 9 by 9 symplectic pairing matrix, not the producer's 18-dimensional span calculation or its rank-price formula.", + "arbitrary_cut_proof": "For each routed demand d from u to v, d times the endpoint cut indicator is at most the sum of d times the indicators on its path. Summing all paths and using the positive capacities bounds every negative cut term. The signed cut energy is therefore nonnegative. A constant gauge attains zero.", + "binary_rank_proof": "The symplectic pairing has rank 9 minus the Lagrangian intersection dimension. Twisting either endpoint adds the same outer product. Twisting both endpoints leaves the pairing unchanged. Thus the price depends only on the XOR of the two gauge bits.", + "boundary_scope": "The graph keeps the original scalar program and requires one gauge at each ADD or COPY. Each old data pair has a common gauge on its four boundary points. Each helper has one gauge at its input and output. A CLEAR starts a new private lifetime. These constraints preserve the exact endpoint on arbitrary inputs.", + "backward_scope": "The two source programs give the same component partition and undirected native inventory. In backward frames D_U=T_U F^-1, the line gauges commute with F. The relative ranks therefore agree in both orientations.", + "not_claimed": ["Different gauge lines at different components", "All Clifford palettes", "All child costs or moments", "An unchanged rank profile for every zero-rank cut", "A changed scalar program or controller", "A fully emitted changed supplier or a kappa bound"], + "source_sha256": {str(path.relative_to(PACKAGE)): sha256(path.read_bytes()).hexdigest() for path in paths}, + "maximum_parent_resident_bytes": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, + "maximum_control_child_resident_bytes": resource.getrusage(resource.RUSAGE_CHILDREN).ru_maxrss, + } + args.out.write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") + print(receipt["status"], flush=True) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/checkers/gauge_negative_controls.py b/research/fixed-word-gauge-limits/checkers/gauge_negative_controls.py new file mode 100644 index 0000000000..045c880c5d --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/gauge_negative_controls.py @@ -0,0 +1,95 @@ +"""Check that material damage to a gauge proof is rejected.""" + +from collections import Counter +from copy import deepcopy +from importlib.util import module_from_spec, spec_from_file_location +from pathlib import Path +import argparse +import gzip +import json +import tempfile + + +def main(args): + spec = spec_from_file_location("review", Path(__file__).with_name("review_wire_gauge.py")) + review = module_from_spec(spec) + spec.loader.exec_module(review) + word, programs = review.load_source() + certificate = json.loads(gzip.decompress(args.certificate.read_bytes())) + native = review.rebuild_graph(word, programs[certificate["orientation"]], certificate) + count = len(certificate["graph"]["labels"]) + entry = certificate["lines"][0] + line = entry["line"] + lagrangians = list(map(review.lagrangian, word["frames"])) + changed = [review.transform(rows, line) for rows in lagrangians] + deltas = [len(review.gf2_basis(lagrangians[b] + changed[a])) - 9 - rank + for _, _, b, a, rank, _, _ in native] + edges = Counter() + for edge, delta in zip(native, deltas): + if edge[0] != edge[1]: + edges[tuple(sorted(edge[:2]))] += delta + edges = {pair: weight for pair, weight in edges.items() if weight} + original_case = next(case for case in entry["cases"] if case["flow"]) + records = [] + + def rejects(name, operation, expected): + try: + operation() + except ValueError as error: + review.check(str(error) == expected, "A negative control failed at the wrong check: " + name) + records.append(dict(control=name, rejected_by=str(error))) + else: + raise ValueError("A damaged certificate passed: " + name) + + changed_program = deepcopy(programs["forward"]) + gate = next(event[1] for event in reversed(changed_program) + if event[0] == "scalar" and event[1][0] == "add") + gate[3] += gate[4] + rejects("Changed final scalar coefficient", lambda: review.scalar_endpoint(word, changed_program, False), + "The original scalar endpoint is not the stated dirty shear") + + damaged = deepcopy(certificate) + wrapper = next(i for i, edge in enumerate(damaged["graph"]["edges"]) if edge[4] == 0) + damaged["graph"]["edges"].pop(wrapper) + rejects("Omitted rank-zero wrapper", lambda: review.rebuild_graph(word, programs["forward"], damaged), + "Native edge count") + + case = deepcopy(original_case) + case["flow"][0][2] += 1000000 + rejects("Flow exceeds capacity", lambda: review.check_case(case, edges, native, deltas, count, dict(case["fixed"])), + "Flow capacity") + + case = deepcopy(original_case) + case["rank_delta"] += 1 + rejects("False objective", lambda: review.check_case(case, edges, native, deltas, count, dict(case["fixed"])), + "Exact objective") + + case = deepcopy(original_case) + node, bit = case["fixed"][0] + if node in case["flipped_frames"]: + case["flipped_frames"].remove(node) + else: + case["flipped_frames"].append(node) + rejects("Cut violates its branch", lambda: review.check_case(case, edges, native, deltas, count, dict(case["fixed"])), + "Cut violates a fixed bit") + + damaged = deepcopy(certificate) + position = next(i for i, case in enumerate(damaged["lines"][0]["cases"]) + if case["forced_centre_cross"] is not None) + damaged["lines"][0]["cases"].pop(position) + with tempfile.TemporaryDirectory(prefix="centre-gauge-control-") as directory: + path = Path(directory) / "missing-case.json.gz" + path.write_bytes(gzip.compress(json.dumps(damaged).encode(), mtime=0)) + rejects("Omitted forced-centre branch", lambda: review.run(path), + "The exhaustive branch list is incomplete") + + output = dict(status="PASS_GAUGE_NEGATIVE_CONTROLS", controls=records) + args.out.write_text(json.dumps(output, indent=2, sort_keys=True) + "\n") + print(output["status"] + " controls=" + str(len(records))) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/checkers/review_compound_gauge.py b/research/fixed-word-gauge-limits/checkers/review_compound_gauge.py new file mode 100644 index 0000000000..6b2b6d0230 --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/review_compound_gauge.py @@ -0,0 +1,151 @@ +"""Independently check two compound binary gauges on the old supplier.""" + +from collections import Counter +from hashlib import sha256 +from importlib.util import module_from_spec, spec_from_file_location +from itertools import product +from pathlib import Path +import argparse +import gzip +import json + + +def pairing(left, right): + return (((left & 511) & (right >> 9)).bit_count() + + ((left >> 9) & (right & 511)).bit_count()) % 2 + + +def frame_transvections(frame, review): + basis = list(frame) + for unit in (1 << j for j in range(9)): + if len(review.gf2_basis(basis + [unit])) > len(basis): + basis.append(unit) + review.check(len(basis) == 9, "A canonical basis was not completed") + dual = [next(x for x in range(512) if all((x & u).bit_count() % 2 == (j == k) + for k, u in enumerate(basis))) for j in range(9)] + return [u | ((u ^ dual[j]) << 9) for j, u in enumerate(frame)] + + +def apply_transvections(value, vectors): + for vector in vectors: + if pairing(value, vector): + value ^= vector + return value + + +def main(args): + spec = spec_from_file_location("review", Path(__file__).with_name("review_wire_gauge.py")) + review = module_from_spec(spec) + spec.loader.exec_module(review) + raw = args.certificate.read_bytes() + certificate = json.loads(gzip.decompress(raw)) + review.check(certificate["source_base"] == review.BASE, "Compound source base") + word, programs = review.load_source() + review.check_orientation_duality(word, programs) + native = review.rebuild_graph(word, programs["forward"], certificate) + gauge = certificate["gauge"] + if "product_lines" in gauge: + vectors = gauge["product_lines"] + review.check(all(0 < a < 512 for a in vectors), "Product line range") + else: + frame = word["frames"][gauge["frame"]] + review.check(frame == gauge["basis"], "Compound canonical frame pin") + vectors = frame_transvections(frame, review) + review.check(all(pairing(u, v) == 0 for u in vectors for v in vectors), "Commuting transvections") + images = [apply_transvections(1 << j, vectors) for j in range(18)] + review.check(all(apply_transvections(value, vectors) == 1 << j for j, value in enumerate(images)), + "Binary gauge involution") + lagrangians = list(map(review.lagrangian, word["frames"])) + changed = [[apply_transvections(value, vectors) for value in rows] for rows in lagrangians] + pair_delta = {} + for _, _, before, after, old, _, _ in native: + if (before, after) in pair_delta: + continue + check_old = len(review.gf2_basis(lagrangians[before] + lagrangians[after])) - 9 + left = len(review.gf2_basis(changed[before] + lagrangians[after])) - 9 + right = len(review.gf2_basis(lagrangians[before] + changed[after])) - 9 + both = len(review.gf2_basis(changed[before] + changed[after])) - 9 + review.check(check_old == old == both and left == right, "Compound relative rank") + pair_delta[before, after] = left - old + deltas = [pair_delta[edge[2], edge[3]] for edge in native] + review.check(dict(Counter(deltas)) == {int(k): v for k, v in certificate["edge_delta_counts"].items()}, + "Compound rank inventory") + edges = Counter() + for edge, delta in zip(native, deltas): + if edge[0] != edge[1]: + edges[tuple(sorted(edge[:2]))] += delta + edges = {pair: weight for pair, weight in edges.items() if weight} + count = len(certificate["graph"]["labels"]) + cover = certificate["negative_cover"] + review.check(len(set(cover)) == len(cover) and set(cover) <= set(range(count)), "Compound cover") + review.check(all(set(pair) & set(cover) for pair, weight in edges.items() if weight < 0), "Compound negative cover") + expected = set(product((0, 1), repeat=len(cover))) + seen, values, rigidity = set(), [], [] + for original_case in certificate["cases"]: + case = dict(original_case, forced_centre_cross=None) + branch = tuple(case["branch"]) + review.check(branch in expected and branch not in seen, "Compound branch coverage") + seen.add(branch) + value, zero = review.check_case(case, edges, native, deltas, count, dict(zip(cover, branch))) + values.append(value) + if zero is not None: + rigidity.append(zero) + review.check(seen == expected and min(values) == certificate["certified_minimum"] == 0, + "Compound exact minimum") + thresholds = [] + if "thresholds" in certificate: + review.check([rec["cap"] for rec in certificate["thresholds"]] == list(range(1, 10)), + "Compound threshold coverage") + for receipt in certificate["thresholds"]: + cap = receipt["cap"] + weighted = Counter() + for edge, delta in zip(native, deltas): + u, v, _, _, rank, _, _ = edge + if u != v: + weighted[tuple(sorted((u, v)))] += min(rank + delta, cap) - min(rank, cap) + weighted = {pair: weight for pair, weight in weighted.items() if weight} + cover = receipt["negative_cover"] + review.check(len(set(cover)) == len(cover) and set(cover) <= set(range(count)), "Compound threshold cover") + review.check(all(set(pair) & set(cover) for pair, weight in weighted.items() if weight < 0), + "Compound threshold negative cover") + expected = set(product((0, 1), repeat=len(cover))) + seen, energies = set(), [] + best = None + for case in receipt["cases"]: + branch = tuple(case["branch"]) + review.check(branch in expected and branch not in seen, "Compound threshold branch coverage") + seen.add(branch) + energy, _, _, selected = review.check_flow_cut(case, weighted, count, dict(zip(cover, branch)), case["objective_delta"]) + review.check_profile(case, native, deltas, selected) + energies.append(energy) + if best is None or energy < best["objective_delta"]: + best = dict(objective_delta=energy, rank_delta=case["rank_delta"], profile=case["profile"]) + review.check(seen == expected and min(energies) == receipt["minimum"], "Compound threshold exact minimum") + thresholds.append(dict(cap=cap, minimum=min(energies), cases=len(energies), best=best)) + result = dict(status="PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY", source_base=review.BASE, + certificate_sha256=sha256(raw).hexdigest(), gauge=gauge, + exact_native_rank_pairs=len(pair_delta), all_flow_cut_cases=len(values), + minimum_rank_delta=min(values), maximum_total_negative_rank_mass=sum(-d for d in deltas if d < 0), + zero_cut_rigidity=rigidity, forward_backward_gauge_graph_isomorphism=True, + backward_gauge=(gauge if "product_lines" in gauge else dict(conjugated_by_full_frame=gauge)), + thresholds=thresholds, + scope="Binary gauges I,G on actual segments, with the old scalar schedule and paired endpoints. No changed native lowering is admitted.") + if thresholds and gauge.get("frame") == 415: + review.check([record["minimum"] for record in thresholds] == [-1] + [0] * 8, + "The centre-frame threshold premise changed") + review.check(all(delta % 2 == 0 for delta in deltas), "Even rank increments") + review.check(49 ** 5 > 81 * 20 ** 5 and 303 ** 5 < 8 * 200 ** 5, + "Rational fifth-power bounds") + result["moment_obstruction"] = dict(saving_parameter_range=["0", "2/5"], + lower_bound_for_every_changed_native_cut="47/9800 (strict)", + rank_zero_cuts="All native gauges are constant, so the child profile is unchanged.", + proof="The threshold cone gives delta >= 2*(9^(1-b)-8^(1-b))-(2-2^(1-b)); the exact fifth-power bounds give >47/9800.") + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"] + " cases=" + str(len(values))) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/checkers/review_four_state_gauge.py b/research/fixed-word-gauge-limits/checkers/review_four_state_gauge.py new file mode 100644 index 0000000000..2e8bd4aec4 --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/review_four_state_gauge.py @@ -0,0 +1,126 @@ +"""Check the exact four-state gauge lower bound and its equality case.""" + +from collections import Counter +from hashlib import sha256 +from importlib.util import module_from_spec, spec_from_file_location +from itertools import product +from pathlib import Path +import argparse +import gzip +import json + + +def native_costs(word, native, lines, review): + lagrangians = list(map(review.lagrangian, word["frames"])) + transformed = [] + for state in range(4): + current = lagrangians + for bit, line in enumerate(lines): + if (state >> bit) & 1: + current = [review.transform(rows, line) for rows in current] + transformed.append(current) + cache = {} + for _, _, before, after, old, _, _ in native: + if (before, after) in cache: + continue + table = [[len(review.gf2_basis(transformed[i][before] + transformed[j][after])) - 9 - old + for j in range(4)] for i in range(4)] + review.check(table[0][0] == 0, "Original four-state edge rank") + review.check(all(table[i][j] == table[0][i ^ j] for i in range(4) for j in range(4)), + "Four-state XOR rank rule") + cache[before, after] = table[0] + return [cache[e[2], e[3]] for e in native] + + +def check_lower_graph(receipt, edges, native, count, review, require_rigidity, objective_key): + saved = {(u, v): weight for u, v, weight in receipt["edges"]} + review.check(len(saved) == len(receipt["edges"]) and saved == edges, "Separable lower graph") + cover = receipt["negative_cover"] + review.check(len(set(cover)) == len(cover) and set(cover) <= set(range(count)), "Lower graph cover") + review.check(all(set(pair) & set(cover) for pair, weight in edges.items() if weight < 0), "Lower negative cover") + expected = set(product((0, 1), repeat=len(cover))) + seen, energies, rigidity = set(), [], [] + for case in receipt["cases"]: + fixed = dict(case["fixed"]) + review.check(set(fixed) == set(cover), "Lower graph fixed vertices") + branch = tuple(fixed[node] for node in cover) + review.check(branch in expected and branch not in seen, "Lower graph branch coverage") + seen.add(branch) + energy, capacity, flow, _ = review.check_flow_cut(case, edges, count, fixed, case[objective_key]) + energies.append(energy) + if energy == 0 and require_rigidity: + rigidity.append(review.zero_cut_rigidity(capacity, flow, count, fixed, native)) + review.check(seen == expected and min(energies) == receipt["minimum"] == 0, "Lower graph minimum") + return dict(flow_cut_cases=len(energies), minimum=0, zero_cut_rigidity=rigidity) + + +def main(args): + spec = spec_from_file_location("review", Path(__file__).with_name("review_wire_gauge.py")) + review = module_from_spec(spec) + spec.loader.exec_module(review) + raw = args.certificate.read_bytes() + certificate = json.loads(gzip.decompress(raw)) + review.check(certificate["source_base"] == review.BASE and certificate["lines"] == [128, 256], "Four-state source and gauge") + word, programs = review.load_source() + review.check_orientation_duality(word, programs) + native = review.rebuild_graph(word, programs["forward"], certificate) + costs = native_costs(word, native, certificate["lines"], review) + interactions = Counter(delta[3] - delta[1] - delta[2] for delta in costs) + review.check(dict(interactions) == {int(k): v for k, v in certificate["interaction_counts"].items()}, + "Four-state interaction inventory") + lowers = [Counter(), Counter()] + for edge, delta in zip(native, costs): + weights = delta[1:3] + if delta[3] < sum(weights): + review.check(weights == [1, 1] and delta[3] == 0, "A different interaction needs a new lower bound") + weights = [0, 0] + review.check(all(delta[state] >= sum(weights[j] for j in range(2) if state & (1 << j)) + for state in range(4)), "Edgewise separable lower bound") + if edge[0] != edge[1]: + for j in range(2): + lowers[j][tuple(sorted(edge[:2]))] += weights[j] + count = len(certificate["graph"]["labels"]) + review.check(len(certificate["separable_bound"]) == 2, "Separable graph count") + records = [check_lower_graph(receipt, {pair: w for pair, w in lower.items() if w}, native, count, review, True, "rank_delta") + for receipt, lower in zip(certificate["separable_bound"], lowers)] + review.check(certificate["certified_lower_bound"] == 0, "Four-state lower bound") + thresholds = [] + if "thresholds" in certificate: + review.check([rec["cap"] for rec in certificate["thresholds"]] == list(range(1, 10)), + "Four-state threshold coverage") + for receipt in certificate["thresholds"]: + cap = receipt["cap"] + review.check(receipt["scale"] == 2 and len(receipt["lower_graphs"]) == 2, + "Doubled separable threshold scale") + lowers = [Counter(), Counter()] + for edge, rank_delta in zip(native, costs): + rank = edge[4] + review.check(all(0 <= rank + d <= 9 for d in rank_delta), "Four-state native rank range") + delta = [min(rank + change, cap) - min(rank, cap) for change in rank_delta] + deficit = max(0, delta[1] + delta[2] - delta[3]) + weights = [2 * delta[1] - deficit, 2 * delta[2] - deficit] + review.check(all(2 * delta[state] >= sum(weights[j] for j in range(2) if state & (1 << j)) + for state in range(4)), "Doubled edgewise threshold bound") + if edge[0] != edge[1]: + for j in range(2): + lowers[j][tuple(sorted(edge[:2]))] += weights[j] + bounds = [check_lower_graph(rec, {pair: w for pair, w in lower.items() if w}, native, count, review, False, "objective_delta") + for rec, lower in zip(receipt["lower_graphs"], lowers)] + review.check(receipt["twice_certified_lower_bound"] == 0, "Four-state threshold lower bound") + thresholds.append(dict(cap=cap, minimum=0, flow_cut_cases=sum(r["flow_cut_cases"] for r in bounds))) + result = dict(status="PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY", source_base=review.BASE, + certificate_sha256=sha256(raw).hexdigest(), gauges=["I", "C_128", "C_256", "C_128 C_256"], + rank_lower_bound=0, maximum_total_negative_rank_mass=sum(max(0, -min(delta)) for delta in costs), + lower_graphs=records, forward_backward_gauge_graph_isomorphism=True, + thresholds=thresholds, + equality_case="Both bits are constant on all 1971 native-edge components; only eight isolated final zero components are free.", + not_used="The exploratory solver status, solver lower bound, and saved state were not used as proof.") + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"] + " cases=" + str(sum(r["flow_cut_cases"] for r in records))) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/checkers/review_threshold_certificate.py b/research/fixed-word-gauge-limits/checkers/review_threshold_certificate.py new file mode 100644 index 0000000000..194fc0f2df --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/review_threshold_certificate.py @@ -0,0 +1,85 @@ +"""Check capped-rank witnesses by exact source ranks and flow/cut duality.""" + +from collections import Counter +from hashlib import sha256 +from importlib.util import module_from_spec, spec_from_file_location +from itertools import product +from pathlib import Path +import argparse +import gzip +import json + + +def main(args): + spec = spec_from_file_location("review", Path(__file__).with_name("review_wire_gauge.py")) + review = module_from_spec(spec) + spec.loader.exec_module(review) + raw = args.certificate.read_bytes() + certificate = json.loads(gzip.decompress(raw)) + source_raw = args.source_certificate.read_bytes() + review.check(certificate["source_certificate_sha256"] == sha256(source_raw).hexdigest(), "Graph certificate pin") + source = json.loads(gzip.decompress(source_raw)) + word, programs = review.load_source() + review.check_orientation_duality(word, programs) + native = review.rebuild_graph(word, programs[source["orientation"]], source) + lagrangians = list(map(review.lagrangian, word["frames"])) + count = len(source["graph"]["labels"]) + summary = [] + expected_lines = sorted(set.intersection(*(review.frame_span(word["frames"][i]) for i in word["center_frames"]))) + expected_lines = [line for line in expected_lines if line.bit_count() % 2] + review.check(sorted(e["line"] for e in certificate["lines"]) == expected_lines, "Common-line coverage") + for record in certificate["lines"]: + line = record["line"] + changed = [review.transform(rows, line) for rows in lagrangians] + rank_by_pair = {} + for _, _, before, after, old_rank, _, _ in native: + if (before, after) not in rank_by_pair: + old = len(review.gf2_basis(lagrangians[before] + lagrangians[after])) - 9 + new = len(review.gf2_basis(lagrangians[before] + changed[after])) - 9 + review.check(old == old_rank and 0 <= new <= 8, "Exact native rank") + rank_by_pair[before, after] = (old, new) + review.check(sorted(t["cap"] for t in record["thresholds"]) == list(range(1, 9)), "Threshold coverage") + values = [] + for threshold in record["thresholds"]: + cap = threshold["cap"] + edges = Counter() + for u, v, before, after, _, _, _ in native: + old, new = rank_by_pair[before, after] + if u != v: + edges[tuple(sorted((u, v)))] += min(new, cap) - min(old, cap) + edges = {pair: weight for pair, weight in edges.items() if weight} + cover = threshold["negative_cover"] + review.check(len(set(cover)) == len(cover) and set(cover) <= set(range(count)), "Threshold cover vertices") + review.check(all(set(pair) & set(cover) for pair, weight in edges.items() if weight < 0), "Threshold negative cover") + expected = set(product((0, 1), repeat=len(cover))) + seen = set() + minima = [] + for case in threshold["cases"]: + branch = tuple(case["branch"]) + review.check(branch in expected and branch not in seen, "Threshold branch coverage") + seen.add(branch) + value, _, _, _ = review.check_flow_cut(case, edges, count, dict(zip(cover, branch)), case["objective_delta"]) + minima.append(value) + review.check(seen == expected, "A threshold branch was omitted") + minimum = min(minima) + review.check(minimum == threshold["minimum_delta"] == 0, "A capped-rank improvement exists") + values.append(dict(cap=cap, minimum_delta=minimum, flow_cut_cases=len(minima))) + summary.append(dict(line=line, thresholds=values)) + result = dict(status="PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION", + certificate_sha256=sha256(raw).hexdigest(), + source_certificate_sha256=sha256(source_raw).hexdigest(), source_base=review.BASE, + forward_backward_gauge_graph_isomorphism=True, + lines=summary, total_flow_cut_cases=sum(t["flow_cut_cases"] for e in summary for t in e["thresholds"]), + conclusion="Every common odd-line binary gauge has nonnegative delta for every increasing concave function f of native rank with f(0)=0.", + recurrence_scope="This includes sum r^(1-b) for 0<=b<1 and the count of positive-rank children at b=1. It excludes changed scalar schedules and other gauge families.") + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"]) + print("lines=" + str(len(summary)) + " threshold_flow_cut_cases=" + str(result["total_flow_cut_cases"])) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--source-certificate", type=Path, required=True) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/checkers/review_wire_gauge.py b/research/fixed-word-gauge-limits/checkers/review_wire_gauge.py new file mode 100644 index 0000000000..b173e751f1 --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/review_wire_gauge.py @@ -0,0 +1,447 @@ +"""Independently check a wire-gauge flow certificate from pinned local programs.""" + +from collections import Counter, defaultdict +from fractions import Fraction +from hashlib import sha256 +from itertools import product +from pathlib import Path +import argparse +import gzip +import json + + +BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +ARCHIVE = "research/community-frontier1042-audit/selected-replay.tar.gz" +MEMBERS = { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", +} + + +def check(value, message): + if not value: + raise ValueError(message) + + +def load_source(): + output = [] + for name, expected in MEMBERS.items(): + payload = (Path(__file__).resolve().parents[1] / "data" / Path(name).name).read_bytes() + check(sha256(payload).hexdigest() == expected, "Member pin: " + name) + output.append(json.loads(gzip.decompress(payload))) + return output + + +def gf2_basis(rows): + pivot = {} + for value in rows: + while value: + index = value.bit_length() - 1 + if index not in pivot: + pivot[index] = value + break + value ^= pivot[index] + return list(pivot.values()) + + +def lagrangian(frame): + orthogonal = gf2_basis(x for x in range(1, 512) + if all((x & row).bit_count() % 2 == 0 for row in frame)) + rows = [u | (u << 9) for u in frame] + [v << 9 for v in orthogonal] + check(len(gf2_basis(rows)) == 9, "Canonical Lagrangian dimension") + return rows + + +def transform(rows, line): + return [v ^ (line if ((v >> 9) & line).bit_count() % 2 else 0) for v in rows] + + +def frame_span(frame): + result = {0} + for row in frame: + result |= {value ^ row for value in result} + return result + + +def scalar_endpoint(word, program, backward): + n = len(word["start"]) + rows = [{j: Fraction(1)} for j in range(n + 8)] + def index(register): + return register[1] + (n if register[0] == "C" else 0) + for event in program: + if event[0] != "scalar": + continue + gate = event[1] + i = index(gate[1]) + if gate[0] == "clear": + rows[i] = {} + elif gate[0] == "copy": + rows[i] = rows[index(gate[2])].copy() + elif gate[0] == "scale": + factor = Fraction(gate[2], gate[3]) + rows[i] = {j: factor * value for j, value in rows[i].items()} + else: + check(gate[0] == "add", "Scalar opcode") + factor = Fraction(gate[3], gate[4]) + for j, value in list(rows[index(gate[2])].items()): + value = rows[i].get(j, Fraction(0)) + factor * value + if value: + rows[i][j] = value + else: + rows[i].pop(j, None) + expected = [{j: Fraction(1)} for j in range(n)] + [{} for _ in range(8)] + for p in range(word["v"]): + if backward: + expected[p][word["v"] + p] = Fraction(-1) + else: + expected[word["v"] + p][p] = Fraction(1) + check(rows == expected, "The original scalar endpoint is not the stated dirty shear") + + +def check_orientation_duality(word, programs): + records = [] + for name in ("forward", "backward"): + current = {("L", r): ("L", r, 0) for r in range(len(word["start"]))} + serial = Counter() + clear_count = Counter() + scalar_links = Counter() + native_edges = [] + for event in programs[name]: + kind = event[0] + if kind == "scalar": + gate, frame = event[1:] + target = tuple(gate[1]) + if gate[0] == "clear": + clear_count[target] += 1 + level = "dead" if clear_count[target] == 2 else ("high" if frame else "low") + current[target] = ("C", target[1], level) + elif gate[0] in ("add", "copy"): + scalar_links[tuple(sorted((current[target], current[tuple(gate[2])])))] += 1 + elif kind == "center": + _, register, before, after, rank = event + old = current["C", register] + current["C", register] = ("C", register, "high" if after else "low") + native_edges.append(("center", tuple(sorted((old, current["C", register]))), + tuple(sorted((before, after))), rank)) + elif kind in ("climb", "adapter", "residual_adapter"): + register = event[2] + old = current["L", register] + serial[register] += 1 + current["L", register] = ("L", register, serial[register]) + native_edges.append((kind, old, current["L", register], tuple(event[1:]))) + check(set(clear_count.values()) == {2} and len(clear_count) == 8, + "Private lifetimes for orientation duality") + records.append((scalar_links, native_edges, + [current["L", r] for r in range(len(word["start"]))])) + check(records[0] == records[1], "The forward and backward gauge graphs differ") + + +def rebuild_graph(word, program, certificate): + labels = [] + links = [] + native = [] + current = {} + def fresh(frame): + labels.append(frame) + return len(labels) - 1 + for r, frame in enumerate(word["start"]): + current["L", r] = fresh(frame) + starts = [current["L", r] for r in range(len(word["start"]))] + previous_scalar = None + for event_index, event in enumerate(program): + kind = event[0] + if kind == "phase": + continue + if kind == "scalar": + gate, frame = event[1:] + target = tuple(gate[1]) + if gate[0] == "clear": + check(target[0] == "C", "Persistent CLEAR") + current[target] = fresh(frame) + else: + check(target in current and labels[current[target]] == frame, "Scalar target frame") + if gate[0] in ("add", "copy"): + source = tuple(gate[2]) + check(source in current and labels[current[source]] == frame, "Scalar source frame") + links.append((current[target], current[source])) + if gate[0] == "copy": + check(previous_scalar == ["scalar", ["clear", list(target)], frame], + "COPY must follow a fresh CLEAR in this source word") + else: + check(gate[0] == "scale", "Unexpected scalar operation") + previous_scalar = event + continue + if kind == "climb": + _, _, register, before, after, rank = event + key = ("L", register) + elif kind == "center": + _, register, before, after, rank = event + key = ("C", register) + else: + check(kind in ("adapter", "residual_adapter"), "Unexpected native operation") + key = ("L", event[2]) + before = after = labels[current[key]] + rank = 0 + check(labels[current[key]] == before, "Native entrance frame") + old = current[key] + current[key] = fresh(after) + native.append((old, current[key], before, after, rank, kind, event_index)) + ends = [current["L", r] for r in range(len(starts))] + check([labels[node] for node in ends] == word["final"], "Persistent final frames") + for helper in range(2 * word["v"], len(starts)): + links.append((starts[helper], ends[helper])) + for port in range(word["v"]): + for node in (starts[word["v"] + port], ends[port], ends[word["v"] + port]): + links.append((starts[port], node)) + + # Components are built after all constraints, with a different root rule. + parent = list(range(len(labels))) + def find(node): + while parent[node] != node: + node = parent[node] + return node + for left, right in links: + a, b = find(left), find(right) + parent[max(a, b)] = min(a, b) + roots = {find(node) for node in range(len(labels))} + graph = certificate["graph"] + check(graph["paired_boundaries"] and not graph["fixed"], "Boundary mode") + check(len(labels) == graph["raw_segments"], "Segment count") + check(len(roots) == len(graph["labels"]), "Component count") + check(len(labels) - len(roots) == graph["scalar_access_unions"], "Union count") + check(len(native) == len(graph["edges"]), "Native edge count") + mapping = {} + inverse = {} + centres = [] + for position, (ours, saved) in enumerate(zip(native, graph["edges"])): + check(list(ours[2:]) == saved[2:], "A native edge differs from the source word") + for node, component in zip(ours[:2], saved[:2]): + root = find(node) + check(mapping.get(root, component) == component, "A source component was split") + check(inverse.get(component, root) == root, "Source components were merged") + mapping[root] = component + inverse[component] = root + if ours[5] == "center": + centres.append(position) + check(centres == graph["centre_edges"] and len(centres) == 8, "Centre traversal inventory") + check(len(roots - mapping.keys()) == 8, "Unexpected isolated wire components") + check(len(set(range(len(roots))) - inverse.keys()) == 8, "Unexpected isolated certificate components") + return graph["edges"] + + +def reduce_energy(edges, fixed, count): + values = defaultdict(lambda: [0, 0]) + constant = 0 + capacity = Counter() + for (u, v), weight in edges.items(): + if u in fixed and v in fixed: + constant += weight * (fixed[u] != fixed[v]) + elif u in fixed or v in fixed: + anchor, other = (u, v) if u in fixed else (v, u) + for bit in (0, 1): + values[other][bit] += weight * (fixed[anchor] != bit) + else: + check(weight >= 0, "A negative edge is not covered by a branch variable") + capacity[u, v] += weight + capacity[v, u] += weight + for node, (zero_cost, one_cost) in values.items(): + constant += min(zero_cost, one_cost) + if one_cost > zero_cost: + capacity[count, node] += one_cost - zero_cost + elif zero_cost > one_cost: + capacity[node, count + 1] += zero_cost - one_cost + return constant, {pair: value for pair, value in capacity.items() if value} + + +def check_flow_cut(case, signed_edges, count, fixed, expected_energy): + check(case["fixed"] == [list(item) for item in sorted(fixed.items())], "Fixed branch assignments") + selected = set(case["flipped_frames"]) + check(len(selected) == len(case["flipped_frames"]) and selected <= set(range(count)), "Selected nodes") + check(all((node in selected) == bool(bit) for node, bit in fixed.items()), "Cut violates a fixed bit") + constant, capacity = reduce_energy(signed_edges, fixed, count) + check(constant == case["constant"], "Cut constant") + flow = {} + for u, v, value in case["flow"]: + check(all(type(x) is int for x in (u, v, value)) and 0 <= u < v < count + 2, + "Flow entry type or node") + check((u, v) not in flow, "Duplicate flow entry") + flow[u, v], flow[v, u] = value, -value + divergence = Counter() + for (u, v), value in flow.items(): + check(-capacity.get((v, u), 0) <= value <= capacity.get((u, v), 0), "Flow capacity") + divergence[u] += value + check(all(divergence[node] == 0 for node in range(count)), "Flow conservation") + flow_value = divergence[count] + check(flow_value == case["flow_value"] and divergence[count + 1] == -flow_value, + "Flow terminal values") + zero_side = {count} | (set(range(count)) - set(fixed) - selected) + cut = sum(value for (u, v), value in capacity.items() if u in zero_side and v not in zero_side) + check(cut == flow_value, "The feasible flow and cut do not agree") + energy = sum(weight for (u, v), weight in signed_edges.items() if (u in selected) != (v in selected)) + check(energy == flow_value + constant == expected_energy, "Exact objective") + return energy, capacity, flow, selected + + +def zero_cut_rigidity(capacity, flow, count, fixed, native): + forward, reverse = defaultdict(list), defaultdict(list) + for u, v in capacity.keys() | flow.keys(): + if capacity.get((u, v), 0) - flow.get((u, v), 0) > 0: + forward[u].append(v) + reverse[v].append(u) + def reachable(start, adjacency): + seen, pending = {start}, [start] + while pending: + for target in adjacency[pending.pop()]: + if target not in seen: + seen.add(target) + pending.append(target) + return seen + zero = reachable(count, forward) - {count} + one = reachable(count + 1, reverse) - {count + 1} + check(not (zero & one), "A residual source to sink path remains") + forced = dict(fixed) + forced.update((node, 0) for node in zero) + forced.update((node, 1) for node in one) + incident = {node for edge in native for node in edge[:2]} + check(incident <= forced.keys(), "A native gauge is free in an optimal cut") + values = {forced[node] for node in incident} + check(len(values) == 1, "An optimal native gauge is not constant") + check(len(set(range(count)) - forced.keys()) == 8, + "The optimal cut has unexpected isolated freedom") + return dict(common_native_bit=values.pop(), forced_native_components=len(incident), + free_isolated_zero_components=8) + + +def check_profile(case, native, deltas, selected): + profile = Counter() + by_kind = Counter() + centres = [] + for index, (edge, delta) in enumerate(zip(native, deltas)): + u, v, _, _, rank, kind, _ = edge + crossed = (u in selected) != (v in selected) + profile[rank + delta * crossed] += 1 + by_kind[kind] += delta * crossed + if kind == "center" and crossed: + centres.append(index) + check(dict(profile) == {int(k): v for k, v in case["profile"].items()}, "Candidate child profile") + check(dict(by_kind) == case["kind_rank_delta"], "Candidate operation cost") + check(sum(by_kind.values()) == case["rank_delta"] and centres == case["changed_centres"], "Changed centre set") + + +def check_case(case, signed_edges, native, deltas, count, fixed): + energy, capacity, flow, selected = check_flow_cut(case, signed_edges, count, fixed, case["rank_delta"]) + check_profile(case, native, deltas, selected) + rigidity = (zero_cut_rigidity(capacity, flow, count, fixed, native) + if energy == 0 and case["forced_centre_cross"] is None else None) + return energy, rigidity + + +def run(certificate_path): + raw = certificate_path.read_bytes() + digest = sha256(raw).hexdigest() + certificate = json.loads(gzip.decompress(raw) if certificate_path.suffix == ".gz" else raw) + word, programs = load_source() + check(certificate["source_base"] == BASE, "Certificate source base") + check(certificate["word_sha256"] == MEMBERS["slots/local/CANONICAL-WORD.json.gz"], "Certificate word pin") + check(certificate["programs_sha256"] == MEMBERS["slots/local/LOCAL-PROGRAMS.json.gz"], "Certificate program pin") + for name, program in programs.items(): + scalar_endpoint(word, program, name == "backward") + check_orientation_duality(word, programs) + orientation = certificate["orientation"] + native = rebuild_graph(word, programs[orientation], certificate) + frames = word["frames"] + spaces = list(map(frame_span, frames)) + lagrangians = list(map(lagrangian, frames)) + count = len(certificate["graph"]["labels"]) + distinct_pairs = {(before, after, rank) for _, _, before, after, rank, _, _ in native} + for before, after, rank in distinct_pairs: + check(len(gf2_basis(lagrangians[before] + lagrangians[after])) - 9 == rank, "Original native rank") + summaries = [] + rank_checks = 0 + all_common = sorted(set.intersection(*(spaces[f] for f in word["center_frames"]))) + all_common = [a for a in all_common if a.bit_count() % 2] + for entry in certificate["lines"]: + line = entry["line"] + check(line in all_common, "The gauge line is not odd and common to the centre frames") + changed = [transform(rows, line) for rows in lagrangians] + pair_delta = {} + for before, after, rank in distinct_pairs: + left = len(gf2_basis(changed[before] + lagrangians[after])) - 9 + right = len(gf2_basis(lagrangians[before] + changed[after])) - 9 + both = len(gf2_basis(changed[before] + changed[after])) - 9 + check(left == right and both == rank, "Gauge bit symmetry") + lower, upper = (before, after) if len(frames[before]) <= len(frames[after]) else (after, before) + nested = spaces[lower] <= spaces[upper] + check(nested, "A native edge is not nested") + good = line in spaces[upper] and all((line & u).bit_count() % 2 == 0 for u in frames[lower]) + check(left - rank == (-1 if good else 1), "Signed edge price differs from direct Lagrangian rank") + pair_delta[before, after, rank] = left - rank + rank_checks += 3 + deltas = [pair_delta[edge[2], edge[3], edge[4]] for edge in native] + signed = Counter() + for edge, delta in zip(native, deltas): + if edge[0] != edge[1]: + signed[tuple(sorted(edge[:2]))] += delta + signed = {key: value for key, value in signed.items() if value} + cover = entry["negative_cover"] + check(len(set(cover)) == len(cover) and all(0 <= node < count for node in cover), "Branch cover nodes") + check(all(u in cover or v in cover for (u, v), weight in signed.items() if weight < 0), "Negative edge cover") + expected = {} + scenarios = [(None, {})] + for index in certificate["graph"]["centre_edges"]: + u, v = native[index][:2] + check(u != v, "A centre traversal is internally identified") + scenarios.extend(((index, bit), {u: bit, v: 1 - bit}) for bit in (0, 1)) + for scenario, forcing in scenarios: + for bits in product((0, 1), repeat=len(cover)): + fixed = dict(zip(cover, bits)) + if any(node in fixed and fixed[node] != bit for node, bit in forcing.items()): + continue + fixed.update(forcing) + expected[scenario, bits] = fixed + cases = {} + zero_cut_rigidity = [] + for case in entry["cases"]: + scenario = case["forced_centre_cross"] + scenario = tuple(scenario) if scenario is not None else None + key = scenario, tuple(case["branch"]) + check(key in expected and key not in cases, "Missing or repeated scenario") + cases[key], rigidity = check_case(case, signed, native, deltas, count, expected[key]) + if rigidity is not None: + zero_cut_rigidity.append(rigidity) + check(cases.keys() == expected.keys(), "The exhaustive branch list is incomplete") + ordinary = min(value for (scenario, _), value in cases.items() if scenario is None) + forced = min(value for (scenario, _), value in cases.items() if scenario is not None) + check(ordinary == entry["minimum_rank_delta"] and forced == entry["minimum_with_centre_cross"], "Reported minima") + summaries.append(dict(line=line, certified_cases=len(cases), minimum_rank_delta=ordinary, + minimum_if_any_centre_traversal_changes=forced, + all_zero_cost_cuts_constant_on_native_components=zero_cut_rigidity)) + check(sha256(certificate_path.read_bytes()).hexdigest() == digest, "Certificate changed during review") + return dict( + status="PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE", + certificate=str(certificate_path.resolve()), certificate_sha256=digest, + source_base=BASE, source_member_pins=MEMBERS, + original_scalar_endpoint_columns=712, original_scalar_orientations=2, + forward_backward_gauge_graph_isomorphism=True, + native_events=len(native), native_event_kinds=dict(Counter(e[5] for e in native)), + raw_segments=certificate["graph"]["raw_segments"], components=count, + fixed_external_components=0, isolated_final_zero_components=8, + direct_binary_rank_checks=rank_checks, common_odd_centre_lines=all_common, + all_common_odd_lines_reviewed=sorted(x["line"] for x in summaries) == all_common, + lines=summaries, + total_flow_cut_cases=sum(x["certified_cases"] for x in summaries), + proof_scope="A common odd line, two gauge values I and C_a, the old scalar schedule, and actual wire segments with paired boundary gauges.", + native_rank_scope="Exact binary ranks. The symbolic boundary identity includes phases; no changed native recipe is admitted.", + not_checked=["a changed native lowering", "whole-call hosting", "complete recursive moment", "selected cold replay"], + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() + result = run(args.certificate) + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"]) + print("lines=" + str(len(result["lines"])) + " flow_cut_cases=" + str(result["total_flow_cut_cases"])) diff --git a/research/fixed-word-gauge-limits/checkers/verify_odd_paths.py b/research/fixed-word-gauge-limits/checkers/verify_odd_paths.py new file mode 100644 index 0000000000..c7b173197c --- /dev/null +++ b/research/fixed-word-gauge-limits/checkers/verify_odd_paths.py @@ -0,0 +1,125 @@ +"""Check every odd-line path certificate from source-derived native ranks. + +This check uses the independently reviewed source and graph reader. It +does not import the path producer, its rank formula, or its graph builder. +""" + +from collections import Counter +from hashlib import sha256 +from importlib.util import module_from_spec, spec_from_file_location +from pathlib import Path +import argparse +import gzip +import json +import time + + +def require(condition, label): + if not condition: + raise ValueError(label) + + +def main(args): + checker_path = Path(__file__).with_name("review_wire_gauge.py") + require(sha256(checker_path.read_bytes()).hexdigest() == "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", "reviewed graph reader pin") + spec = spec_from_file_location("independent_graph", checker_path) + checker = module_from_spec(spec) + spec.loader.exec_module(checker) + receipts = [json.loads(gzip.decompress(path.read_bytes())) for path in args.certificates] + word, programs = checker.load_source() + for side in programs: + checker.scalar_endpoint(word, programs[side], side == "backward") + checker.check_orientation_duality(word, programs) + for receipt in receipts: + require(receipt["source_base"] == checker.BASE, "source base") + require(receipt["word_sha256"] == checker.MEMBERS["slots/local/CANONICAL-WORD.json.gz"], "word pin") + require(receipt["programs_sha256"] == checker.MEMBERS["slots/local/LOCAL-PROGRAMS.json.gz"], "program pin") + checker.rebuild_graph(word, programs["forward"], receipt) + require(receipt["graph"] == receipts[0]["graph"], "same graph in every receipt") + graph = receipts[0]["graph"] + native = graph["edges"] + pairs = {(before, after, rank) for u, v, before, after, rank, kind, event in native} + labels = list(map(checker.lagrangian, word["frames"])) + for before, after, rank in pairs: + require(len(checker.gf2_basis(labels[before] + labels[after])) - 9 == rank, "baseline rank") + rows = [row for receipt in receipts for row in receipt["lines"] if "paths" in row] + wanted = {a for a in range(1, 512) if a.bit_count() % 2} + require(len(rows) == len(wanted) and {row["line"] for row in rows} == wanted, "all 256 odd lines exactly once") + summaries, rank_checks = [], 0 + started = time.monotonic() + for row in rows: + a = row["line"] + changed = [checker.transform(basis, a) for basis in labels] + prices = {} + for before, after, old in pairs: + new = len(checker.gf2_basis(labels[before] + changed[after])) - 9 + prices[before, after, old] = new - old + rank_checks += 1 + signed = Counter() + for u, v, before, after, old, kind, event in native: + if u != v: + signed[tuple(sorted((u, v)))] += prices[before, after, old] + positive = {edge: value for edge, value in signed.items() if value > 0} + negative = {edge: -value for edge, value in signed.items() if value < 0} + require(row["negative_edges"] == len(negative), "negative edge count") + require(row["negative_mass"] == sum(negative.values()), "negative mass") + supplied, used = Counter(), Counter() + for route in row["paths"]: + pair = tuple(route["negative_edge"]) + amount, path = route["amount"], route["path"] + require(pair in negative, "negative demand belongs to source graph") + require(type(amount) is int and amount > 0, "positive integer path amount") + require(len(path) >= 2 and (path[0], path[-1]) == pair, "path endpoints") + require(all(type(v) is int and 0 <= v < len(graph["labels"]) for v in path), "path vertices") + supplied[pair] += amount + for u, v in zip(path, path[1:]): + edge = tuple(sorted((u, v))) + require(edge in positive, "path uses a positive source edge") + used[edge] += amount + require(dict(supplied) == negative, "all negative demands covered exactly") + require(all(amount <= positive[edge] for edge, amount in used.items()), "positive capacities") + require(row["certified_minimum"] == 0, "constant gauge attains the proved bound") + parent = list(range(len(graph["labels"]))) + + def find(node): + while parent[node] != node: + parent[node] = parent[parent[node]] + node = parent[node] + return node + + for (u, v), capacity in positive.items(): + if capacity > used[u, v]: + parent[find(u)] = find(v) + live = {node for edge in native for node in edge[:2]} + summaries.append({"line": a, "negative_edges": len(negative), + "paths": len(row["paths"]), "minimum_rank_delta": 0, + "unused_positive_components_on_live_vertices": len({find(i) for i in live})}) + if len(summaries) % 32 == 0: + print("checked", len(summaries), "rank checks", rank_checks, + "seconds", round(time.monotonic() - started, 1), flush=True) + even_rank_checks = 0 + for a in range(1, 512): + if a.bit_count() % 2: + continue + changed = [checker.transform(basis, a) for basis in labels] + for before, after, old in pairs: + new = len(checker.gf2_basis(labels[before] + changed[after])) - 9 + require(new >= old, "an even line decreases a native rank") + even_rank_checks += 1 + output = {"status": "PASS_ALL_PAIRED_WIRE_LINE_RANKS", "source_base": checker.BASE, + "independent_graph_reader_sha256": sha256(checker_path.read_bytes()).hexdigest(), + "certificate_sha256": {str(path): sha256(path.read_bytes()).hexdigest() for path in args.certificates}, + "odd_lines": len(rows), "native_rank_checks": rank_checks, + "even_lines": 255, "even_native_rank_checks": even_rank_checks, + "both_scalar_maps_checked_on_columns": len(word["start"]) + 8, + "lines": summaries, + "scope": "All 511 nonzero fixed-line gauges on the paired graph have minimum total rank change zero. Even lines never decrease a native edge rank. No general claim about all odd-line zero cuts or other cost functions."} + args.out.write_text(json.dumps(output, indent=2, sort_keys=True) + "\n") + print(output["status"], "lines", len(rows), "native rank checks", rank_checks, flush=True) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("certificates", type=Path, nargs="+") + main(parser.parse_args()) diff --git a/research/fixed-word-gauge-limits/data/CANONICAL-WORD.json.gz b/research/fixed-word-gauge-limits/data/CANONICAL-WORD.json.gz new file mode 100644 index 0000000000..5f9ef68098 Binary files /dev/null and b/research/fixed-word-gauge-limits/data/CANONICAL-WORD.json.gz differ diff --git a/research/fixed-word-gauge-limits/data/LOCAL-PROGRAMS.json.gz b/research/fixed-word-gauge-limits/data/LOCAL-PROGRAMS.json.gz new file mode 100644 index 0000000000..4eed995798 Binary files /dev/null and b/research/fixed-word-gauge-limits/data/LOCAL-PROGRAMS.json.gz differ diff --git a/research/fixed-word-gauge-limits/evidence/historical/ALL-LINE-PATH-REVIEW.json b/research/fixed-word-gauge-limits/evidence/historical/ALL-LINE-PATH-REVIEW.json new file mode 100644 index 0000000000..15567dd394 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/ALL-LINE-PATH-REVIEW.json @@ -0,0 +1,84 @@ +{ + "arbitrary_cut_proof": "For each routed demand d from u to v, d times the endpoint cut indicator is at most the sum of d times the indicators on its path. Summing all paths and using the positive capacities bounds every negative cut term. The signed cut energy is therefore nonnegative. A constant gauge attains zero.", + "backward_scope": "The two source programs give the same component partition and undirected native inventory. In backward frames D_U=T_U F^-1, the line gauges commute with F. The relative ranks therefore agree in both orientations.", + "binary_rank_proof": "The symplectic pairing has rank 9 minus the Lagrangian intersection dimension. Twisting either endpoint adds the same outer product. Twisting both endpoints leaves the pairing unchanged. Thus the price depends only on the XOR of the two gauge bits.", + "boundary_scope": "The graph keeps the original scalar program and requires one gauge at each ADD or COPY. Each old data pair has a common gauge on its four boundary points. Each helper has one gauge at its input and output. A CLEAR starts a new private lifetime. These constraints preserve the exact endpoint on arbitrary inputs.", + "distinct_native_frame_pairs": 3150, + "even_lines": 255, + "graph_components": 1979, + "independent_method": "The review rebuilds live wire partitions with register and lifetime labels. It computes rank from the 9 by 9 symplectic pairing matrix, not the producer's 18-dimensional span calculation or its rank-price formula.", + "independent_symplectic_pairing_rank_checks": 1609650, + "integer_paths": 10488, + "maximum_control_child_resident_bytes": 107495424, + "maximum_parent_resident_bytes": 114917376, + "native_events": 5064, + "native_rank_mass": 5586, + "negative_controls_under_optimized_python": [ + { + "control": "missing_path", + "exit_code": 1, + "rejected_by": "all negative demands covered exactly" + }, + { + "control": "overused_positive_capacity", + "exit_code": 1, + "rejected_by": "positive capacities" + }, + { + "control": "negative_edge_used_as_path", + "exit_code": 1, + "rejected_by": "path uses a positive source edge" + }, + { + "control": "noninteger_amount", + "exit_code": 1, + "rejected_by": "positive integer path amount" + }, + { + "control": "unpaired_boundary", + "exit_code": 1, + "rejected_by": "Boundary mode" + }, + { + "control": "native_wrapper_omission", + "exit_code": 1, + "rejected_by": "Native edge count" + }, + { + "control": "missing_line", + "exit_code": 1, + "rejected_by": "all 256 odd lines exactly once" + } + ], + "negative_demand_mass": 10488, + "not_claimed": [ + "Different gauge lines at different components", + "All Clifford palettes", + "All child costs or moments", + "An unchanged rank profile for every zero-rank cut", + "A changed scalar program or controller", + "A fully emitted changed supplier or a kappa bound" + ], + "odd_lines": 256, + "orientations": [ + "forward", + "backward" + ], + "rank_zero_wrappers": 1570, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_pins": { + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_sha256": { + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/check_line_paths.py": "b5289410c23621f7c4f4014dd6a4f81b7d80978c627347392f43f12764fd45a7", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/route_cut_certificate.py": "87392fa1b12f9c7cb1033b27f640507b5694bd1381cb310ce061c52489f39fc8", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/verify_odd_paths.py": "c443834dc00d6864405c85af5e8e4cb28e708fa8ad7386259e334894dda1bd10", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/temporal-reuse/review_wire_gauge.py": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860" + }, + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION" +} diff --git a/research/fixed-word-gauge-limits/evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json b/research/fixed-word-gauge-limits/evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json new file mode 100644 index 0000000000..00761385ac --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json @@ -0,0 +1,87 @@ +{ + "common_basis": [ + 30, + 45, + 75, + 128, + 256 + ], + "common_gram_rank": 2, + "common_gram_rows": [ + 0, + 0, + 0, + 8, + 16 + ], + "maximum_resident_bytes": 88670208, + "not_claimed": [ + "A bound for lines outside A", + "No complete-cost gain", + "All Clifford gauges", + "A changed native supplier replay or a kappa bound" + ], + "proof_review": [ + "Every product and inverse has symplectic action S_B(x,z)=(x+Bz,z), where B is a sum of aa^T with a in A. Thus im(B) is in A and B kills U-perp.", + "The intersection of L_U and S_B L_0 is parametrized by w in U-perp and u in Fix(B|U), with z=w+u. The parametrization is injective: a fixed vector in U-perp must be zero.", + "The intersection dimension is n-dim(U)+dim Fix(B|U). Hence the exact native rank is dim(U)-dim Fix(B|U).", + "Each fixed vector is in A and in the image of B|A. The map B|A factors through the restricted dot product on A, whose rank is s. The fixed space has dimension at most s, so native rank is at least dim(U)-s.", + "Applying the same symplectic gauge to both labels reduces two arbitrary endpoint products to their relative product. Native rank depends only on these labels, so phases do not change this rank bound." + ], + "scope": "A local native-rank bound for products of translation-line gauges from one fixed common subspace A. This does not price the complete scalar graph, all child moments, or a supplier.", + "sharp_gauge": "C_128 C_256", + "sharp_ranks": [ + { + "frame": 415, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 416, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 417, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 418, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 419, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 420, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 421, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 422, + "new_rank": 6, + "old_rank": 8 + } + ], + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_pins": { + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_sha256": { + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/check_common_product_rank.py": "0491d79be36bfe3f853d690863920aae541775853221ff1ad5e3bfb62e6d1f9e", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/encoded-controller/review/check_line_paths.py": "b5289410c23621f7c4f4014dd6a4f81b7d80978c627347392f43f12764fd45a7", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599" + }, + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND" +} diff --git a/research/fixed-word-gauge-limits/evidence/historical/GAUGE-NEGATIVE-CONTROLS.json b/research/fixed-word-gauge-limits/evidence/historical/GAUGE-NEGATIVE-CONTROLS.json new file mode 100644 index 0000000000..da1e4db1f3 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/GAUGE-NEGATIVE-CONTROLS.json @@ -0,0 +1,29 @@ +{ + "controls": [ + { + "control": "Changed final scalar coefficient", + "rejected_by": "The original scalar endpoint is not the stated dirty shear" + }, + { + "control": "Omitted rank-zero wrapper", + "rejected_by": "Native edge count" + }, + { + "control": "Flow exceeds capacity", + "rejected_by": "Flow capacity" + }, + { + "control": "False objective", + "rejected_by": "Exact objective" + }, + { + "control": "Cut violates its branch", + "rejected_by": "Cut violates a fixed bit" + }, + { + "control": "Omitted forced-centre branch", + "rejected_by": "The exhaustive branch list is incomplete" + } + ], + "status": "PASS_GAUGE_NEGATIVE_CONTROLS" +} diff --git a/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json new file mode 100644 index 0000000000..6e527e200a --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json @@ -0,0 +1,732 @@ +{ + "certificate_sha256": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "conclusion": "Every common odd-line binary gauge has nonnegative delta for every increasing concave function f of native rank with f(0)=0.", + "forward_backward_gauge_graph_isomorphism": true, + "lines": [ + { + "line": 128, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 158, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 173, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 179, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 203, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 213, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 230, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 248, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 256, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 286, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 301, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 307, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 331, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 341, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 358, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 376, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + } + ], + "recurrence_scope": "This includes sum r^(1-b) for 0<=b<1 and the count of positive-rank children at b=1. It excludes changed scalar schedules and other gauge families.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_certificate_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "status": "PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION", + "total_flow_cut_cases": 800 +} diff --git a/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json new file mode 100644 index 0000000000..08bf5a6ae9 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json @@ -0,0 +1,199 @@ +{ + "all_flow_cut_cases": 4, + "backward_gauge": { + "product_lines": [ + 128, + 256 + ] + }, + "certificate_sha256": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "exact_native_rank_pairs": 3150, + "forward_backward_gauge_graph_isomorphism": true, + "gauge": { + "product_lines": [ + 128, + 256 + ] + }, + "maximum_total_negative_rank_mass": 16, + "minimum_rank_delta": 0, + "scope": "Binary gauges I,G on actual segments, with the old scalar schedule and paired endpoints. No changed native lowering is admitted.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 1, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 2, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 3, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 4, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 5, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 6, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 7, + "cases": 4, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 8, + "cases": 4, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 9, + "cases": 4, + "minimum": 0 + } + ], + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] +} diff --git a/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json new file mode 100644 index 0000000000..fe2f6d18aa --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json @@ -0,0 +1,225 @@ +{ + "all_flow_cut_cases": 16, + "backward_gauge": { + "conjugated_by_full_frame": { + "basis": [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + "frame": 415 + } + }, + "certificate_sha256": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "exact_native_rank_pairs": 3150, + "forward_backward_gauge_graph_isomorphism": true, + "gauge": { + "basis": [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + "frame": 415 + }, + "maximum_total_negative_rank_mass": 54, + "minimum_rank_delta": 0, + "moment_obstruction": { + "lower_bound_for_every_changed_native_cut": "47/9800 (strict)", + "proof": "The threshold cone gives delta >= 2*(9^(1-b)-8^(1-b))-(2-2^(1-b)); the exact fifth-power bounds give >47/9800.", + "rank_zero_cuts": "All native gauges are constant, so the child profile is unchanged.", + "saving_parameter_range": [ + "0", + "2/5" + ] + }, + "scope": "Binary gauges I,G on actual segments, with the old scalar schedule and paired endpoints. No changed native lowering is admitted.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "best": { + "objective_delta": -1, + "profile": { + "0": 1571, + "1": 2405, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 7, + "9": 7 + }, + "rank_delta": 48 + }, + "cap": 1, + "cases": 2, + "minimum": -1 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 2, + "cases": 2, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 3, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 4, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 5, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 6, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 7, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 8, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 9, + "cases": 16, + "minimum": 0 + } + ], + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] +} diff --git a/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json new file mode 100644 index 0000000000..979073d207 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json @@ -0,0 +1,97 @@ +{ + "certificate_sha256": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "equality_case": "Both bits are constant on all 1971 native-edge components; only eight isolated final zero components are free.", + "forward_backward_gauge_graph_isomorphism": true, + "gauges": [ + "I", + "C_128", + "C_256", + "C_128 C_256" + ], + "lower_graphs": [ + { + "flow_cut_cases": 4, + "minimum": 0, + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] + }, + { + "flow_cut_cases": 16, + "minimum": 0, + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] + } + ], + "maximum_total_negative_rank_mass": 18, + "not_used": "The exploratory solver status, solver lower bound, and saved state were not used as proof.", + "rank_lower_bound": 0, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 2, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 3, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 4, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 5, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 6, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 7, + "flow_cut_cases": 20, + "minimum": 0 + }, + { + "cap": 8, + "flow_cut_cases": 20, + "minimum": 0 + }, + { + "cap": 9, + "flow_cut_cases": 20, + "minimum": 0 + } + ] +} diff --git a/research/fixed-word-gauge-limits/evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json b/research/fixed-word-gauge-limits/evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json new file mode 100644 index 0000000000..8ac51e012f --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json @@ -0,0 +1,343 @@ +{ + "all_common_odd_lines_reviewed": true, + "certificate": "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/lanes/source-domain/WIRE-GAUGE-PAIRED-COMMON.json.gz", + "certificate_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "common_odd_centre_lines": [ + 128, + 158, + 173, + 179, + 203, + 213, + 230, + 248, + 256, + 286, + 301, + 307, + 331, + 341, + 358, + 376 + ], + "components": 1979, + "direct_binary_rank_checks": 151200, + "fixed_external_components": 0, + "forward_backward_gauge_graph_isomorphism": true, + "isolated_final_zero_components": 8, + "lines": [ + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 128, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 158, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 173, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 179, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 203, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 213, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 230, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 248, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 256, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 286, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 301, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 307, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 331, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 341, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 358, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 376, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + } + ], + "native_event_kinds": { + "adapter": 1090, + "center": 8, + "climb": 3486, + "residual_adapter": 480 + }, + "native_events": 5064, + "native_rank_scope": "Exact binary ranks. The symbolic boundary identity includes phases; no changed native recipe is admitted.", + "not_checked": [ + "a changed native lowering", + "whole-call hosting", + "complete recursive moment", + "selected cold replay" + ], + "original_scalar_endpoint_columns": 712, + "original_scalar_orientations": 2, + "proof_scope": "A common odd line, two gauge values I and C_a, the old scalar schedule, and actual wire segments with paired boundary gauges.", + "raw_segments": 5784, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_member_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "status": "PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE", + "total_flow_cut_cases": 3384 +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/REPLAY.json b/research/fixed-word-gauge-limits/evidence/replay/REPLAY.json new file mode 100644 index 0000000000..169c71ea3e --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/REPLAY.json @@ -0,0 +1,103 @@ +{ + "all_fixed_translation_lines": 511, + "checks": [ + { + "check": "common-rank", + "receipt": "common-rank.json", + "receipt_sha256": "001917257546807ea4d031c547b6221b23da12e50a2dba4ae6739e060e155923", + "seconds": 42.226, + "status": "PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE" + }, + { + "check": "common-thresholds", + "receipt": "common-thresholds.json", + "receipt_sha256": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "seconds": 9.282, + "status": "PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION" + }, + { + "check": "product-thresholds", + "receipt": "product-thresholds.json", + "receipt_sha256": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "seconds": 1.388, + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "frame415-thresholds", + "receipt": "frame415-thresholds.json", + "receipt_sha256": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "seconds": 2.913, + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "four-state-thresholds", + "receipt": "four-state-thresholds.json", + "receipt_sha256": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "seconds": 3.349, + "status": "PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "all-lines-span", + "receipt": "all-lines-span.json", + "receipt_sha256": "eeae7231add00963a57f6f8708c7ff6f59de2e3b5134bc465d23b0ab6df23b62", + "seconds": 15.708, + "status": "PASS_ALL_PAIRED_WIRE_LINE_RANKS" + }, + { + "check": "all-lines-pairing", + "receipt": "all-lines-pairing.json", + "receipt_sha256": "c493174b5f29b19003618ca022fb87566df71d99681528eb491fc80ba23fca08", + "seconds": 20.609, + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION" + }, + { + "check": "common-product-rank", + "receipt": "common-product-rank.json", + "receipt_sha256": "bbac61ccba8a6d8094f14b5bf3c379a85b9969d7c5a9b311db1042b15817ecd8", + "seconds": 0.224, + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND" + }, + { + "check": "negative-controls", + "receipt": "negative-controls.json", + "receipt_sha256": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "seconds": 8.938, + "status": "PASS_GAUGE_NEGATIVE_CONTROLS" + } + ], + "common_rank_flow_cut_cases": 3384, + "common_threshold_flow_cut_cases": 800, + "frame415_counterexample": { + "objective_delta": -1, + "profile": { + "0": 1571, + "1": 2405, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 7, + "9": 7 + }, + "rank_delta": 48 + }, + "historical_source_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "independent_pairing_ranks": 1609650, + "integer_paths": 10488, + "kappa_change": "None. No new supplier or complete multiplication bound is claimed.", + "native_events": 5064, + "negative_controls": 13, + "not_run": [ + "selected current-construction cold replay", + "changed native circuit emission", + "complete recursive repricing", + "new mathematical search" + ], + "optimized_checks": true, + "parallel_workers": 1, + "platform": "macOS-26.6.1-arm64-arm-64bit-Mach-O", + "python": "3.14.7", + "rank_zero_wrappers": 1570, + "seconds": 104.674, + "status": "PASS_FIXED_WORD_GAUGE_LIMITS" +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/all-lines-pairing.json b/research/fixed-word-gauge-limits/evidence/replay/all-lines-pairing.json new file mode 100644 index 0000000000..f987bdfb0b --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/all-lines-pairing.json @@ -0,0 +1,83 @@ +{ + "arbitrary_cut_proof": "For each routed demand d from u to v, d times the endpoint cut indicator is at most the sum of d times the indicators on its path. Summing all paths and using the positive capacities bounds every negative cut term. The signed cut energy is therefore nonnegative. A constant gauge attains zero.", + "backward_scope": "The two source programs give the same component partition and undirected native inventory. In backward frames D_U=T_U F^-1, the line gauges commute with F. The relative ranks therefore agree in both orientations.", + "binary_rank_proof": "The symplectic pairing has rank 9 minus the Lagrangian intersection dimension. Twisting either endpoint adds the same outer product. Twisting both endpoints leaves the pairing unchanged. Thus the price depends only on the XOR of the two gauge bits.", + "boundary_scope": "The graph keeps the original scalar program and requires one gauge at each ADD or COPY. Each old data pair has a common gauge on its four boundary points. Each helper has one gauge at its input and output. A CLEAR starts a new private lifetime. These constraints preserve the exact endpoint on arbitrary inputs.", + "distinct_native_frame_pairs": 3150, + "even_lines": 255, + "graph_components": 1979, + "independent_method": "The review rebuilds live wire partitions with register and lifetime labels. It computes rank from the 9 by 9 symplectic pairing matrix, not the producer's 18-dimensional span calculation or its rank-price formula.", + "independent_symplectic_pairing_rank_checks": 1609650, + "integer_paths": 10488, + "maximum_control_child_resident_bytes": 80936960, + "maximum_parent_resident_bytes": 84787200, + "native_events": 5064, + "native_rank_mass": 5586, + "negative_controls_under_optimized_python": [ + { + "control": "missing_path", + "exit_code": 1, + "rejected_by": "all negative demands covered exactly" + }, + { + "control": "overused_positive_capacity", + "exit_code": 1, + "rejected_by": "positive capacities" + }, + { + "control": "negative_edge_used_as_path", + "exit_code": 1, + "rejected_by": "path uses a positive source edge" + }, + { + "control": "noninteger_amount", + "exit_code": 1, + "rejected_by": "positive integer path amount" + }, + { + "control": "unpaired_boundary", + "exit_code": 1, + "rejected_by": "Boundary mode" + }, + { + "control": "native_wrapper_omission", + "exit_code": 1, + "rejected_by": "Native edge count" + }, + { + "control": "missing_line", + "exit_code": 1, + "rejected_by": "all 256 odd lines exactly once" + } + ], + "negative_demand_mass": 10488, + "not_claimed": [ + "Different gauge lines at different components", + "All Clifford palettes", + "All child costs or moments", + "An unchanged rank profile for every zero-rank cut", + "A changed scalar program or controller", + "A fully emitted changed supplier or a kappa bound" + ], + "odd_lines": 256, + "orientations": [ + "forward", + "backward" + ], + "rank_zero_wrappers": 1570, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_pins": { + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_sha256": { + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "checkers/verify_odd_paths.py": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "proofs/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb" + }, + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION" +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/all-lines-span.json b/research/fixed-word-gauge-limits/evidence/replay/all-lines-span.json new file mode 100644 index 0000000000..767d6f8c96 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/all-lines-span.json @@ -0,0 +1,1809 @@ +{ + "both_scalar_maps_checked_on_columns": 712, + "certificate_sha256": { + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84" + }, + "even_lines": 255, + "even_native_rank_checks": 803250, + "independent_graph_reader_sha256": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "lines": [ + { + "line": 7, + "minimum_rank_delta": 0, + "negative_edges": 175, + "paths": 184, + "unused_positive_components_on_live_vertices": 233 + }, + { + "line": 11, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 13, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 14, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 39 + }, + { + "line": 19, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 21, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 22, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 25, + "minimum_rank_delta": 0, + "negative_edges": 175, + "paths": 184, + "unused_positive_components_on_live_vertices": 239 + }, + { + "line": 26, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 39 + }, + { + "line": 28, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 35, + "minimum_rank_delta": 0, + "negative_edges": 51, + "paths": 52, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 37, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 38, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 41, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 39 + }, + { + "line": 44, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 49, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 50, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 33 + }, + { + "line": 52, + "minimum_rank_delta": 0, + "negative_edges": 189, + "paths": 192, + "unused_positive_components_on_live_vertices": 256 + }, + { + "line": 56, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 67, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 69, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 70, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 73, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 74, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 76, + "minimum_rank_delta": 0, + "negative_edges": 171, + "paths": 183, + "unused_positive_components_on_live_vertices": 229 + }, + { + "line": 81, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 82, + "minimum_rank_delta": 0, + "negative_edges": 171, + "paths": 183, + "unused_positive_components_on_live_vertices": 231 + }, + { + "line": 84, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 88, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 97, + "minimum_rank_delta": 0, + "negative_edges": 185, + "paths": 191, + "unused_positive_components_on_live_vertices": 259 + }, + { + "line": 98, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 100, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 104, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 43 + }, + { + "line": 112, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 127, + "minimum_rank_delta": 0, + "negative_edges": 185, + "paths": 191, + "unused_positive_components_on_live_vertices": 253 + }, + { + "line": 131, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 133, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 134, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 137, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 138, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 30 + }, + { + "line": 140, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 145, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 146, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 148, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 152, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 161, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 162, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 164, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 168, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 176, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 191, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 193, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 33 + }, + { + "line": 194, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 196, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 200, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 208, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 223, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 224, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 239, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 247, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 251, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 253, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 43 + }, + { + "line": 254, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 259, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 261, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 262, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 265, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 266, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 27 + }, + { + "line": 268, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 273, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 274, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 276, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 27 + }, + { + "line": 280, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 289, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 290, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 292, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 296, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 304, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 319, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 321, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 322, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 324, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 328, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 336, + "minimum_rank_delta": 0, + "negative_edges": 51, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 351, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 352, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 43 + }, + { + "line": 367, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 375, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 379, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 381, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 382, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 385, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 386, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 388, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 49 + }, + { + "line": 392, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 400, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 415, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 33 + }, + { + "line": 416, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 431, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 439, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 49 + }, + { + "line": 443, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 445, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 446, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 448, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 463, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 471, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 475, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 477, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 478, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 29 + }, + { + "line": 487, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 491, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 493, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 494, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 499, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 501, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 502, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 505, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 506, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 508, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 1, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 2, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 4, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 8, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 16, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 31, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 32, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 47, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 55, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 59, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 61, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 62, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 64, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 79, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 87, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 91, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 93, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 94, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 103, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 107, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 109, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 110, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 115, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 117, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 118, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 121, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 122, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 124, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 128, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 143, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 151, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 155, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 13, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 157, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 158, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 167, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 171, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 173, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 174, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 179, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 181, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 182, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 13, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 185, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 186, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 188, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 199, + "minimum_rank_delta": 0, + "negative_edges": 26, + "paths": 26, + "unused_positive_components_on_live_vertices": 12 + }, + { + "line": 203, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 205, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 206, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 211, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 213, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 214, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 217, + "minimum_rank_delta": 0, + "negative_edges": 27, + "paths": 27, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 218, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 220, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 227, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 229, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 230, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 233, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 234, + "minimum_rank_delta": 0, + "negative_edges": 26, + "paths": 26, + "unused_positive_components_on_live_vertices": 12 + }, + { + "line": 236, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 241, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 242, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 244, + "minimum_rank_delta": 0, + "negative_edges": 27, + "paths": 27, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 248, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 256, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 271, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 279, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 17, + "unused_positive_components_on_live_vertices": 18 + }, + { + "line": 283, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 285, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 286, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 295, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 299, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 301, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 302, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 307, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 309, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 310, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 313, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 314, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 17, + "unused_positive_components_on_live_vertices": 18 + }, + { + "line": 316, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 327, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 331, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 333, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 334, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 339, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 341, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 342, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 345, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 346, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 348, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 355, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 357, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 358, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 361, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 362, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 364, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 369, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 370, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 372, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 376, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 391, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 115 + }, + { + "line": 395, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 397, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 398, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 403, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 405, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 406, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 409, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 118 + }, + { + "line": 410, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 412, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 419, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 421, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 422, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 425, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 426, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 115 + }, + { + "line": 428, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 433, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 434, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 436, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 117 + }, + { + "line": 440, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 451, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 453, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 7 + }, + { + "line": 454, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 457, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 458, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 460, + "minimum_rank_delta": 0, + "negative_edges": 164, + "paths": 176, + "unused_positive_components_on_live_vertices": 157 + }, + { + "line": 465, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 466, + "minimum_rank_delta": 0, + "negative_edges": 212, + "paths": 224, + "unused_positive_components_on_live_vertices": 194 + }, + { + "line": 468, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 472, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 481, + "minimum_rank_delta": 0, + "negative_edges": 164, + "paths": 176, + "unused_positive_components_on_live_vertices": 155 + }, + { + "line": 482, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 484, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 488, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 7 + }, + { + "line": 496, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 511, + "minimum_rank_delta": 0, + "negative_edges": 0, + "paths": 0, + "unused_positive_components_on_live_vertices": 1 + }, + { + "line": 42, + "minimum_rank_delta": 0, + "negative_edges": 161, + "paths": 176, + "unused_positive_components_on_live_vertices": 205 + } + ], + "native_rank_checks": 806400, + "odd_lines": 256, + "scope": "All 511 nonzero fixed-line gauges on the paired graph have minimum total rank change zero. Even lines never decrease a native edge rank. No general claim about all odd-line zero cuts or other cost functions.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_ALL_PAIRED_WIRE_LINE_RANKS" +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/common-product-rank.json b/research/fixed-word-gauge-limits/evidence/replay/common-product-rank.json new file mode 100644 index 0000000000..61c2897094 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/common-product-rank.json @@ -0,0 +1,87 @@ +{ + "common_basis": [ + 30, + 45, + 75, + 128, + 256 + ], + "common_gram_rank": 2, + "common_gram_rows": [ + 0, + 0, + 0, + 8, + 16 + ], + "maximum_resident_bytes": 62849024, + "not_claimed": [ + "A bound for lines outside A", + "No complete-cost gain", + "All Clifford gauges", + "A changed native supplier replay or a kappa bound" + ], + "proof_review": [ + "Every product and inverse has symplectic action S_B(x,z)=(x+Bz,z), where B is a sum of aa^T with a in A. Thus im(B) is in A and B kills U-perp.", + "The intersection of L_U and S_B L_0 is parametrized by w in U-perp and u in Fix(B|U), with z=w+u. The parametrization is injective: a fixed vector in U-perp must be zero.", + "The intersection dimension is n-dim(U)+dim Fix(B|U). Hence the exact native rank is dim(U)-dim Fix(B|U).", + "Each fixed vector is in A and in the image of B|A. The map B|A factors through the restricted dot product on A, whose rank is s. The fixed space has dimension at most s, so native rank is at least dim(U)-s.", + "Applying the same symplectic gauge to both labels reduces two arbitrary endpoint products to their relative product. Native rank depends only on these labels, so phases do not change this rank bound." + ], + "scope": "A local native-rank bound for products of translation-line gauges from one fixed common subspace A. This does not price the complete scalar graph, all child moments, or a supplier.", + "sharp_gauge": "C_128 C_256", + "sharp_ranks": [ + { + "frame": 415, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 416, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 417, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 418, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 419, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 420, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 421, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 422, + "new_rank": 6, + "old_rank": 8 + } + ], + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_pins": { + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_sha256": { + "checkers/check_common_product_rank.py": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "proofs/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599" + }, + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND" +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/common-rank.json b/research/fixed-word-gauge-limits/evidence/replay/common-rank.json new file mode 100644 index 0000000000..fe4159445f --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/common-rank.json @@ -0,0 +1,343 @@ +{ + "all_common_odd_lines_reviewed": true, + "certificate": "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz", + "certificate_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "common_odd_centre_lines": [ + 128, + 158, + 173, + 179, + 203, + 213, + 230, + 248, + 256, + 286, + 301, + 307, + 331, + 341, + 358, + 376 + ], + "components": 1979, + "direct_binary_rank_checks": 151200, + "fixed_external_components": 0, + "forward_backward_gauge_graph_isomorphism": true, + "isolated_final_zero_components": 8, + "lines": [ + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 128, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 158, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 173, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 179, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 203, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 213, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 230, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 248, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 256, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 286, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 301, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 307, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 331, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 341, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 358, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 376, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + } + ], + "native_event_kinds": { + "adapter": 1090, + "center": 8, + "climb": 3486, + "residual_adapter": 480 + }, + "native_events": 5064, + "native_rank_scope": "Exact binary ranks. The symbolic boundary identity includes phases; no changed native recipe is admitted.", + "not_checked": [ + "a changed native lowering", + "whole-call hosting", + "complete recursive moment", + "selected cold replay" + ], + "original_scalar_endpoint_columns": 712, + "original_scalar_orientations": 2, + "proof_scope": "A common odd line, two gauge values I and C_a, the old scalar schedule, and actual wire segments with paired boundary gauges.", + "raw_segments": 5784, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_member_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "status": "PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE", + "total_flow_cut_cases": 3384 +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/common-thresholds.json b/research/fixed-word-gauge-limits/evidence/replay/common-thresholds.json new file mode 100644 index 0000000000..6e527e200a --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/common-thresholds.json @@ -0,0 +1,732 @@ +{ + "certificate_sha256": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "conclusion": "Every common odd-line binary gauge has nonnegative delta for every increasing concave function f of native rank with f(0)=0.", + "forward_backward_gauge_graph_isomorphism": true, + "lines": [ + { + "line": 128, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 158, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 173, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 179, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 203, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 213, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 230, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 248, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 256, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 286, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 301, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 307, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 331, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 341, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 358, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 376, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + } + ], + "recurrence_scope": "This includes sum r^(1-b) for 0<=b<1 and the count of positive-rank children at b=1. It excludes changed scalar schedules and other gauge families.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_certificate_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "status": "PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION", + "total_flow_cut_cases": 800 +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/four-state-thresholds.json b/research/fixed-word-gauge-limits/evidence/replay/four-state-thresholds.json new file mode 100644 index 0000000000..979073d207 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/four-state-thresholds.json @@ -0,0 +1,97 @@ +{ + "certificate_sha256": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "equality_case": "Both bits are constant on all 1971 native-edge components; only eight isolated final zero components are free.", + "forward_backward_gauge_graph_isomorphism": true, + "gauges": [ + "I", + "C_128", + "C_256", + "C_128 C_256" + ], + "lower_graphs": [ + { + "flow_cut_cases": 4, + "minimum": 0, + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] + }, + { + "flow_cut_cases": 16, + "minimum": 0, + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] + } + ], + "maximum_total_negative_rank_mass": 18, + "not_used": "The exploratory solver status, solver lower bound, and saved state were not used as proof.", + "rank_lower_bound": 0, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 2, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 3, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 4, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 5, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 6, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 7, + "flow_cut_cases": 20, + "minimum": 0 + }, + { + "cap": 8, + "flow_cut_cases": 20, + "minimum": 0 + }, + { + "cap": 9, + "flow_cut_cases": 20, + "minimum": 0 + } + ] +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/frame415-thresholds.json b/research/fixed-word-gauge-limits/evidence/replay/frame415-thresholds.json new file mode 100644 index 0000000000..fe2f6d18aa --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/frame415-thresholds.json @@ -0,0 +1,225 @@ +{ + "all_flow_cut_cases": 16, + "backward_gauge": { + "conjugated_by_full_frame": { + "basis": [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + "frame": 415 + } + }, + "certificate_sha256": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "exact_native_rank_pairs": 3150, + "forward_backward_gauge_graph_isomorphism": true, + "gauge": { + "basis": [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + "frame": 415 + }, + "maximum_total_negative_rank_mass": 54, + "minimum_rank_delta": 0, + "moment_obstruction": { + "lower_bound_for_every_changed_native_cut": "47/9800 (strict)", + "proof": "The threshold cone gives delta >= 2*(9^(1-b)-8^(1-b))-(2-2^(1-b)); the exact fifth-power bounds give >47/9800.", + "rank_zero_cuts": "All native gauges are constant, so the child profile is unchanged.", + "saving_parameter_range": [ + "0", + "2/5" + ] + }, + "scope": "Binary gauges I,G on actual segments, with the old scalar schedule and paired endpoints. No changed native lowering is admitted.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "best": { + "objective_delta": -1, + "profile": { + "0": 1571, + "1": 2405, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 7, + "9": 7 + }, + "rank_delta": 48 + }, + "cap": 1, + "cases": 2, + "minimum": -1 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 2, + "cases": 2, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 3, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 4, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 5, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 6, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 7, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 8, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 9, + "cases": 16, + "minimum": 0 + } + ], + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/negative-controls.json b/research/fixed-word-gauge-limits/evidence/replay/negative-controls.json new file mode 100644 index 0000000000..da1e4db1f3 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/negative-controls.json @@ -0,0 +1,29 @@ +{ + "controls": [ + { + "control": "Changed final scalar coefficient", + "rejected_by": "The original scalar endpoint is not the stated dirty shear" + }, + { + "control": "Omitted rank-zero wrapper", + "rejected_by": "Native edge count" + }, + { + "control": "Flow exceeds capacity", + "rejected_by": "Flow capacity" + }, + { + "control": "False objective", + "rejected_by": "Exact objective" + }, + { + "control": "Cut violates its branch", + "rejected_by": "Cut violates a fixed bit" + }, + { + "control": "Omitted forced-centre branch", + "rejected_by": "The exhaustive branch list is incomplete" + } + ], + "status": "PASS_GAUGE_NEGATIVE_CONTROLS" +} diff --git a/research/fixed-word-gauge-limits/evidence/replay/product-thresholds.json b/research/fixed-word-gauge-limits/evidence/replay/product-thresholds.json new file mode 100644 index 0000000000..08bf5a6ae9 --- /dev/null +++ b/research/fixed-word-gauge-limits/evidence/replay/product-thresholds.json @@ -0,0 +1,199 @@ +{ + "all_flow_cut_cases": 4, + "backward_gauge": { + "product_lines": [ + 128, + 256 + ] + }, + "certificate_sha256": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "exact_native_rank_pairs": 3150, + "forward_backward_gauge_graph_isomorphism": true, + "gauge": { + "product_lines": [ + 128, + 256 + ] + }, + "maximum_total_negative_rank_mass": 16, + "minimum_rank_delta": 0, + "scope": "Binary gauges I,G on actual segments, with the old scalar schedule and paired endpoints. No changed native lowering is admitted.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 1, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 2, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 3, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 4, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 5, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 6, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 7, + "cases": 4, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 8, + "cases": 4, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 9, + "cases": 4, + "minimum": 0 + } + ], + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] +} diff --git a/research/fixed-word-gauge-limits/notices/LICENSE b/research/fixed-word-gauge-limits/notices/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/fixed-word-gauge-limits/notices/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/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/NOTICE.md b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/NOTICE.md new file mode 100644 index 0000000000..30d0c8cd3c --- /dev/null +++ b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/NOTICE.md @@ -0,0 +1,24 @@ +# Gauge44 attribution and scope + +New contributions by icekylinx, with OpenAI GPT-6 Astra assistance. +Local review and packaging used OpenAI Codex. Apache-2.0 applies; +the license is included. The full original PR635 notice is preserved as +UPSTREAM-NOTICE.md and construction/UPSTREAM-NOTICE.md. + +The new contribution is the changed source-branch gauge and retired-row +completion, source-carried coordinate totals, exact 44-cold-end realization, +and explicit all72 whole-family assignment using concave capacity matching +with integer majorization certificates. The center-carrier generalization +retains the exact ordered common frames and complete native local contract. +Independent local, price, interface and owner fixed-point checks are included. + +The construction retains the credited PR635 K-triangle and porting machinery, +earlier joint-prefix/HPE/frame ancestry and icekylinx's prior factory work. +#645 used the same cited PR543 bit supplier as PR635. This package (research/gauge44-leaver8) cites the merged PR589 bit supplier instead, with a derived rank-mass deficit (PROOF-NOTE-BIT.md); #645's retained PR543-based evidence is historical. It builds #645's word without K-triangles (PartialK) and stacks earlier community jp8 layers on it (G44Stack), adds the p6n ends (NoTriReopen), entrance promotions (BlockInvert) a read-set exchange (BRoute), chafreaky's #741 frames, JointXF's joint exchange, NewBArch's triangle-hybrid B rewrite and LeaverSAT's eight k8 leaver cells (with LeaverSAT2's frame re-optimisation); see README. All-size, realization, +hosting, precision/tape, analytic-transfer and bit H1-H5 assumptions remain +conditional. No upstream license, credit, source pin or AI disclosure is +replaced by this notice. + +PR641 and PR642 were checked as concurrent reported frontier comparisons. +Their endpoints and owner maps are not included here. See CONSTRUCTION.md, +hosting/PROOF.md, independent/ and README.md for the exact contribution scope. diff --git a/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# 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. + +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. + +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`); +- 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, 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. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/construction/NOTICE.md b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/construction/NOTICE.md new file mode 100644 index 0000000000..16b0507070 --- /dev/null +++ b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/construction/NOTICE.md @@ -0,0 +1,9 @@ +# Construction delta notice + +Prepared for icekylinx with OpenAI GPT-6 Astra assistance. Apache-2.0. + +`construct_gauge_xcentre.py` modifies PR635's credited `construct_k_triangle.py`, which in turn extends icekylinx's PR531/PR514/PR425 factory lineage. Its original source comments are retained. The K-triangle schedule and the upstream porting, JP8 frame, kernel and HPE procedures are reused from the pinned source checkouts and are not new contributions of this delta. + +The new source-copy exchanges, complementary factory basis, carrier assignment, exact cold44 constructor and compact reproduction driver are described in `../CONSTRUCTION.md`. + +`UPSTREAM-NOTICE.md` is the complete unmodified notice from the pinned PR635 package. `LICENSE` is that package's Apache-2.0 license. All further notices and source credits of the referenced upstream packages remain applicable and are retained in the source checkouts rather than vendored again here. diff --git a/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md new file mode 100644 index 0000000000..ebc24a0168 --- /dev/null +++ b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md @@ -0,0 +1,34 @@ +# 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. + +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. + +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`); +- 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, 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. + +**This package (complex-571-cold14-b3, jeremykothe2).** It is PR604's `complex-571-cold14` (DreamingOfClouds) with ColdBeyond's second cold end per block (two new `cold_end` A-gate primitives, `PROOF-NOTE.md`), ColdSupply's E1 entering pair and reviewed controls, a free dispatch (jp8 ×60, atm3 ×12) and a literal owner map from an exact per-time-Hall window MIP. All other construction, code, controls and proofs are PR604's and earlier contributors', unchanged. + +**This package (complex-571-cold14-k492).** It is complex-571-cold14-b3 with these changes: +- **K-triangle base words.** The leaver-read K-triangle skeleton atom and its read schedule (`data/TRI-SCHEDULE.json`) are by AtomScout, a Claude Code research agent. `code/construct_k_triangle.py` is PR531's `code/construct_504.py` (icekylinx, OpenAI Codex / GPT assisted, Apache-2.0; pinned source `direct_delivery`) extended with that atom. +- **Ported chains.** The PR604/B3 chains are ported stage by stage onto the K-triangle words by `code/build_port_stage.py` (Port480, a Claude Code research agent). `code/build_frame_regroup.py` extends PR583's `build_frames.py` (chafreaky). +- **Helper count R.** The generalisation of the global scripts to the provider helper count R is by GlobalR (a Claude Code research agent), with AtomReviewer's fixes (PROOF-NOTE-R.md). +- **Owner map.** The owner map, the cold_end recipes on the K-triangle words and the package assembly are by Stack492, Port480 and ColdBeyond (Claude Code research agents). + +Build on this at your own risk. diff --git a/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/t16/NOTICE.md b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/t16/NOTICE.md new file mode 100644 index 0000000000..403f4afffb --- /dev/null +++ b/research/fixed-word-gauge-limits/notices/research/gauge44-slots-t16/t16/NOTICE.md @@ -0,0 +1,39 @@ +# Attribution and license + +Apache-2.0. New construction and integration: Hao Yan (@FanPUYen), 2026. +Prepared with substantial OpenAI Codex assistance, including separately tasked +AI agents for owner construction, independent mathematical/code checking and +native verification. These are not claims of independent human peer review. + +The exact local supplier is Jeremy Kothe's accepted PR799 X4 word, layered on +Chafik Boukhalfa's PR741 frame changes and PR685 owner construction. Chafik's +PR795 fixed-inventory optimality result motivated changing the replica count. +The original owner bytes, scalar program, local frame and width inventory, +native phase and wrapper implementations retain their existing authorship. + +Credit icekylinx for the source gauge and supplier/admission pipeline; +DreamingOfClouds for the PR589 bit transport and inherited cold-end work; +eumemic for the PR555 bit supplier and earlier supplier work; Rohan Arun for +the native exact-complex recurrence correction; Jeremy Diviney, jaymosley07, +and the other retained owner/allocation contributors; and the complete +PR514/PR484/PR507/PR558 controller, physical hosting and verification lineage. +This list is cumulative credit, not approval of every claim in those PRs. + +All original notices and licenses remain in the referenced source packages: + +- `research/gauge44-frames-x/{NOTICE,UPSTREAM-NOTICE}.md` +- `research/complex-sw4-frame8/PROVENANCE.md` +- `research/e8-bit-p111-tuned/tune/README.md` +- the repository `CONTRIBUTORS.md` and source-package licenses. + +The verifier copies pinned global source files into an external replay +directory and applies an explicit checked edit list. Original attribution +comments are preserved in those generated derivatives. No original source +file or historical certificate is rewritten. + +The optional ancestry-reuse coverage guard addresses the omission issue +identified by Lucas (@ljste) in PR838 and the related PR847 integration by +Chinmay (@chinmayarvind23). Its fixed inventories were read from the accepted +PR741 source; no pending implementation is imported. Charles Bethin's +concurrent PR850 strengthens the fixed-inventory owner-profile theorem and +was checked for overlap before publication; that inventory is changed here. diff --git a/research/fixed-word-gauge-limits/proofs/ALL-LINE-GAUGES.md b/research/fixed-word-gauge-limits/proofs/ALL-LINE-GAUGES.md new file mode 100644 index 0000000000..f5cd63c0db --- /dev/null +++ b/research/fixed-word-gauge-limits/proofs/ALL-LINE-GAUGES.md @@ -0,0 +1,101 @@ +# All fixed translation-line gauges on the paired wire graph + +This result is about the pinned scalar program. It does not give a lower +bound for arbitrary centre encodings or arbitrary frame changes. + +Fix any nonzero `a in F_2^9`. On each scalar-connected component, choose +the right gauge `I` or `C_a` independently. Impose only the paired boundary +constraints in `root/BOUNDARY-GAUGE.md`. The minimum change in total native +rank is zero. The constant choice attains zero. + +The odd-line part has exact path certificates and a source-derived +checker. Separate-agent review passed. The reviewer rebuilt both source +graphs and used 9-by-9 symplectic pairing matrices to check all 1,609,650 +distinct-pair ranks. It checked all 10,488 integer paths and rejected seven +damaged certificates under optimized Python. The receipt is +`encoded-controller/review/ALL-LINE-PATH-REVIEW.json`. The earlier +common-line flow and threshold results also have independent review. + +## Exact source and rank prices + +The source is commit `bce54fb3f895cbe5cd4c0eb477c3afeed100190f` and the +selected replay archive named in `GAUGE-RESULTS.md`. The checker verifies +the archive and member hashes. It uses the source and graph reader from +the independently reviewed temporal-reuse lane, at SHA-256 +`204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860`. +It does not import the path producer or its rank-price formula. + +The exact scalar maps are checked on all 712 input columns in both +orientations. The checker rebuilds all scalar access and boundary +equalities. The graph has 1,979 components and 5,064 native events, +including every old rank-zero wrapper. It has 3,150 distinct ordered +frame pairs. Only eight cleared private components meet no native event. + +For each canonical frame, use the binary Lagrangian + + L_U={(u,u+v): u in U, v in U-perp}. + +The symplectic action of `C_a` is + + (x,z) -> (x+a(a dot z),z). + +This map is an involution and preserves the symplectic form. Therefore a +crossing of the binary gauge bit has the same native rank change from +either side of an edge. Two equal bits leave its rank fixed. The checker +computes each changed rank as `dim(L_U+C_a L_V)-9` by binary elimination. +It checks 806,400 distinct-pair ranks for the 256 odd lines. The 255 even +lines need no cut optimization: each individual changed edge has rank at +least its old rank. That is checked on a further 803,250 pairs. + +## An integer path proof for each odd line + +Combine parallel graph edges after each native edge is priced. Write the +result as + + E(epsilon)=sum_e w_e [epsilon_u != epsilon_v]. + +For every negative edge `(u,v)` with weight `-d`, route exactly `d` units +from `u` to `v` along paths that use only positive edges. Use a positive +edge of weight `c` at most `c` times, counting all path amounts. The +receipts store integer amounts and the full vertex path for every route. + +For any binary cut, a path crosses the cut at least once when its +endpoints are separated. Thus each negative demand is bounded by the +positive capacity assigned to its paths. Sum this inequality over all +negative edges. No positive capacity is counted too often, so +`E(epsilon)>=0` for every cut. This argument does not require a small +negative-edge vertex cover or a claim about a solver's optimum. + +`WIRE-GAUGE-ODD-PATHS.json.gz` has certificates for 255 odd lines. +`WIRE-GAUGE-LINE42-PATHS.json.gz` supplies the remaining line, 42. The +checker verifies that their successful entries cover all 256 odd lines +exactly once. It checks every negative demand, path endpoint, path edge, +integer amount, and positive capacity. A failed greedy path order is +only a failed search, not an obstruction or a negative cut. + +The same rank result applies to the backward program. The source graphs +are isomorphic, and `C_a` commutes with the full translation Fourier +operator `F`. In the backward frames `D_U=T_U F^-1`, use the same `C_a`. +Both changed labels differ from the forward labels by the same `F`. + +## Limits and continuation + +For odd lines outside the 16-line common centre intersection, total rank +does not settle every child moment. A cut of rank change zero could still +have a different rank profile. The path receipts alone do not exclude +that possibility. The common 16-line families have the stronger reviewed +threshold-cost result in `temporal-reuse/GAUGE-REVIEW.md`. + +For each even line, every native edge rank is nondecreasing. Therefore any +sum of nondecreasing functions of those ranks is also nondecreasing. This +is a native-rank-cost conclusion. It does not price finite implementation +costs or a changed global hosting construction. + +This result permits unrelated wire segments to use different bits. It +does not permit their line `a` to differ: `a` is fixed for the whole +program. It also leaves open general Clifford gauges, new scalar +operations, new controllers, and joint recursive child interfaces. + +Before any PR description, read +`/Users/aliromman/Projects/IntegerMultiplicationBounds/PR-DESCRIPTION-STANDARD.md`. +This note was prepared with OpenAI Codex assistance. diff --git a/research/fixed-word-gauge-limits/proofs/BOUNDARY-GAUGE.md b/research/fixed-word-gauge-limits/proofs/BOUNDARY-GAUGE.md new file mode 100644 index 0000000000..9ef8ba7750 --- /dev/null +++ b/research/fixed-word-gauge-limits/proofs/BOUNDARY-GAUGE.md @@ -0,0 +1,57 @@ +# Boundary gauges that preserve the physical supplier + +This note gives a larger search class for the pinned local supplier. It +does not state that this class reduces its cost. + +Let each wire segment have an invertible native frame `T_v`. The physical +value on the segment is `T_v z_v`, where `z_v` is its scalar content. A +native edge from segment `u` to segment `v` applies `T_v T_u^-1`. A scalar +ADD can combine segments with the same frame. All operators below include +their scalar phases and act on the full array, at the required tensor +power. + +Choose an invertible operator `G_v` on each segment. Require the same +`G_v` on the two live values of each scalar ADD or COPY. No relation is +required across a CLEAR that removes an old value. Replace the frame by +`T_v G_v` and the native edge by + + T_v G_v G_u^-1 T_u^-1. + +The same scalar program is then legal. If its scalar endpoint is `P`, its +physical endpoint is + + diag(T_out) diag(G_out) P diag(G_in)^-1 diag(T_in)^-1. + +It is the old physical endpoint if and only if + + diag(G_out) P = P diag(G_in). + +This equality, rather than a fixed zero boundary gauge, is the exact +boundary constraint. Necessity and sufficiency follow by multiplication by +the invertible outer frames. They do not require the frames to commute. + +For the original forward local shear, the scalar endpoint has +`x_p'=x_p`, `y_p'=y_p+x_p`, and `h_i'=h_i`. Thus it is sufficient to use one +common gauge on the four endpoints of each pair `(x_p,y_p)`, and one common +gauge on the two endpoints of each helper `h_i`. Distinct pairs and helpers +can use distinct gauges. The backward shear has the same constraints. +Private output rows are zero. A cleared private input has no endpoint +constraint from `P`; its actual scalar accesses still impose constraints. + +For the two-valued search `G_v=C_a^epsilon_v`, union the required scalar +access components. Then union each helper's input and output, and each +data pair's four endpoints. No such component needs a fixed value merely +because it is external. Price every native edge and wrapper after this +union. A change in a printed frame identifier alone is not an operation. + +The construction preserves arbitrary borrowed inputs. It also preserves +each helper's complete physical residual, because + + T_out G (T_in G)^-1 = T_out T_in^-1. + +The claim is valid at every tensor power: apply the same proof to the +tensor operators. Before admission, a candidate still needs exact native +lowering, phase checks, a full child profile, scalar and wrapper cost, and +an independent replay of the unchanged physical endpoint. + +This note was prepared with OpenAI Codex assistance. diff --git a/research/fixed-word-gauge-limits/proofs/COMMON-PRODUCT-RANK.md b/research/fixed-word-gauge-limits/proofs/COMMON-PRODUCT-RANK.md new file mode 100644 index 0000000000..0877222d67 --- /dev/null +++ b/research/fixed-word-gauge-limits/proofs/COMMON-PRODUCT-RANK.md @@ -0,0 +1,74 @@ +# A local rank bound for all common-line products + +This note gives a local bound. It does not price the complete program. +It does not require one fixed line or one binary bit per wire component. + +Let `A subset U subset F_2^n`. Write `e=dim(U)`. Let `s` be the rank of +the standard dot product restricted to `A`. Each endpoint of the native +descent from the canonical frame `T_U` to the identity can have any gauge +that is a product of translation-line operators `C_a`, with `a in A`. +The changed native rank is at least `e-s`. + +## Proof + +The binary action of `C_a` on a Pauli label is + + (x,z) -> (x+a(a dot z),z). + +The product, inverse, and relative product of these gauges therefore have +the form + + S_B(x,z)=(x+Bz,z), B=sum_j a_j a_j^T, a_j in A. + +Thus `im(B) subset A` and `B(A-perp)=0`. On `A`, the map `B` factors +through the dot-product map from `A` to its dual. Therefore +`rank(B|A)<=s`. + +The two binary labels for the changed descent can be compared as + + L_U={(u,u+v): u in U, v in U-perp}, + S_B L_0={(Bz,z): z in F_2^n}. + +An element of their intersection satisfies `z+Bz=w in U-perp`. +Put `u=Bz`. Since `im(B) subset A subset U` and `B(U-perp)=0`, this is +equivalent to + + z=w+u, w in U-perp, u in U, Bu=u. + +This representation is unique. Indeed, a fixed vector of `B` that lies +in `U-perp` is zero. The intersection has dimension + + n-e+dim ker(I-B|U). + +Each fixed vector belongs to `A`. The fixed space therefore has dimension +at most `rank(B|A)<=s`. Since the native rank is `n` minus the intersection +dimension, the exact formula and bound are + + r=e-dim ker(I-B|U) >= e-s. + +The comparison depends only on the relative gauge. It therefore applies +when both endpoint gauges are arbitrary products from this group. + +## Application to the eight actual centres + +At source commit `bce54fb3f895cbe5cd4c0eb477c3afeed100190f`, the common +intersection of centre frames 415 through 422 has basis + + 30, 45, 75, 128, 256. + +Its Gram matrix has binary rows `0,0,0,8,16`, so its rank is two. Each +centre has dimension eight. Thus every centre descent has rank at least +six under arbitrary common-line product gauges. The product +`C_128 C_256` attains rank six at each of the eight centres. + +The source-derived frame intersection, Gram rank, and eight sharp ranks +were checked with the pinned source reader used by `verify_odd_paths.py`. +Separate-agent review checked the proof and repeated the source checks +with symplectic pairing matrices. Its receipt is +`encoded-controller/review/COMMON-PRODUCT-RANK-REVIEW.json`. This bound +does not exclude a complete-cost gain that leaves rank-six centre children, +or a gauge that uses lines outside the common intersection. + +Before any PR description, read +`/Users/aliromman/Projects/IntegerMultiplicationBounds/PR-DESCRIPTION-STANDARD.md`. +This note was prepared with OpenAI Codex assistance. diff --git a/research/fixed-word-gauge-limits/proofs/GAUGE-REVIEW.md b/research/fixed-word-gauge-limits/proofs/GAUGE-REVIEW.md new file mode 100644 index 0000000000..4c2333b246 --- /dev/null +++ b/research/fixed-word-gauge-limits/proofs/GAUGE-REVIEW.md @@ -0,0 +1,268 @@ +# Independent review of the wire-gauge obstruction + +The boundary-paired certificate is valid for all 16 common odd centre lines. +Its exact minimum total-rank change is zero. If at least one centre edge +has different gauge bits at its two ends, the minimum is 13. + +The review also proves two stronger results. Every cut of total-rank cost +zero has one common bit on all 1,971 components that meet a native edge. +Thus its native profile is unchanged. Further, no gauge in this family +reduces any increasing concave function of native rank that is zero at +rank zero. This includes the child moment `sum r^(1-b)` for `0 <= b <= 1`, +with zero-rank children omitted at `b=1`. + +These statements apply to the pinned local words in both orientations. +They keep the scalar schedule and the native edge positions fixed. They +permit separate bits on every wire segment, subject only to scalar access +and the exact old endpoint. They do not exclude a different scalar program, +a larger gauge set, joint child compression, or a different controller. + +## Source and independent checks + +The source commit is `bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. +The archive is `research/community-frontier1042-audit/selected-replay.tar.gz`, +with SHA-256 +`22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754`. +The reviewer reads only these archive members: + +- `slots/local/CANONICAL-WORD.json.gz`, compressed SHA-256 + `16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219`. +- `slots/local/LOCAL-PROGRAMS.json.gz`, compressed SHA-256 + `241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a`. + +`review_wire_gauge.py` does not import the producer's graph, geometry, +optimizer, or certificate checker. It uses exact rational scalar replay, +binary row elimination, a separate segment construction, and direct +integer flow/cut checks. The tests remain active under `python -I -O -B`. +The source scalar words have the stated endpoint on all 712 input columns, +including arbitrary helper and private inputs. Each private output is zero. + +The segment construction gives 5,784 segments and 1,979 components after +the scalar and boundary equalities. There are 5,064 native events: 3,486 +climbs, eight centre traversals, 1,090 adapters, and 480 residual adapters. +Thus all 1,570 old rank-zero wrappers are charged if a gauge changes across +them. There is no fixed external bit. The eight isolated components are +the final cleared private values. + +The forward and backward scalar access graphs are isomorphic. The reviewer +names each persistent segment by its register and native-event count. It +names each live private segment by its centre and its high or low frame. +The two words have the same undirected scalar accesses and persistent +native edges under these names. Each centre edge has the reverse direction. +This is checked from the two complete original words. The backward common +frame is `D_U=T_U F^-1`. Since `C_a` commutes with the full frame `F`, +`D_U C_a=(T_U C_a)F^-1`. Thus both changed inverse-image labels have the +same outer `F` image, and the forward native ranks apply. Edge inversion +also preserves rank. The same cost certificate therefore applies to both +orientations for the common-line gauges. + +## Boundary theorem + +The theorem in `root/BOUNDARY-GAUGE.md` is correct. Give a segment the exact +frame `T_v`, including phase. Its physical value is `T_v z_v`. Replace that +frame by `T_v G_v` and each native edge by + + T_v G_v G_u^-1 T_u^-1. + +For an ADD or COPY, the gauges on its live operands must be equal. The old +frames on those operands are equal at each scalar access. Therefore the +same scalar operation is legal in the new frames. A CLEAR gives a new zero +value and imposes no relation to the old gauge. Induction over the program +gives the physical endpoint + + diag(T_out) diag(G_out) P diag(G_in)^-1 diag(T_in)^-1. + +Invertibility of the outer frames gives the necessary and sufficient +condition `diag(G_out) P = P diag(G_in)`. No commuting-frame assumption is +used. For a forward pair, the three nonzero blocks of `P` force the four +input/output gauges of `x_p,y_p` to be equal. The backward pair gives the +same relation. A helper forces equality of its input and output gauges. +The private rows and columns of `P` are zero, so they impose no boundary +relation. This proves the exact boundary unions used by the graph. + +The identity holds at every tensor power and includes global phases. It +also preserves the full physical residual on every arbitrary helper: +`T_out G (T_in G)^-1 = T_out T_in^-1`. The review does not emit or admit a +changed native circuit. Rank bounds do not require such an emission. + +## Native ranks + +Write a binary Pauli label as `(x,z)` in `F_2^9 x F_2^9`. The inverse image +of the diagonal Pauli space under the canonical frame of a subspace `E` is + + L_E = {(u,u+w) : u in E, w in E^perp}. + +The rank of the relative native operator between frames `E,F` is +`dim(L_E+L_F)-9`. The independent reviewer constructs these spaces by binary +row elimination. It checks each distinct native edge and its old rank. +Left monomial adapters leave this inverse-image space unchanged. Thus the +same formula also applies before and after each old rank-zero wrapper. + +The symplectic action of `C_a` is `(x,z) -> (x+a(a dot z),z)`. Its inverse +has the same binary action. The reviewer applies this action to either or +both edge ends and recomputes the rank. For each of the 16 odd common lines, +all edges have the following exact price. If their old nested frames are +`E subset F`, a crossing costs minus one exactly when +`a in F intersect E^perp`; otherwise it costs plus one. Equal endpoint bits +do not change the rank. A wrapper always costs plus one when crossed: +its Lagrangian could be invariant only if `(a,0)` belongs to it, which would +require `a in E intersect E^perp`. An odd vector cannot satisfy that condition. + +The lines are +`128,158,173,179,203,213,230,248,256,286,301,307,331,341,358,376`. +The reviewer derives this complete list from the original eight centre +hyperplanes. The signed energy is the sum of the prices of all crossed +native edges. Parallel edges are combined only after each is priced. + +## Integer lower bounds and zero-cost rigidity + +Each certificate gives a vertex cover of all negative edges. Every binary +assignment to this cover is listed. After it is fixed, all edges between +free vertices have nonnegative weight. A fixed/free edge gives a unary +cost. Subtract the smaller unary value as a constant and use its difference +as a source or sink capacity. The result is an ordinary directed cut +network with nonnegative integer capacities. + +For every case, the reviewer checks integral flow, both directed capacity +bounds, flow conservation, and the source and sink values. It separately +computes the displayed cut. Its capacity equals the feasible flow value. +The resulting lower bound is therefore exact. It agrees with the direct +sum over all crossed native edges, the child profile, and the change by +event kind. All 3,384 listed cases are checked. The forced cases cover each +of eight centre edges and both assignments to its two ends. Taking their +minimum means that at least one centre traversal changes. It does not mean +that all eight change at once. + +For each line, only the all-zero and all-one cover branches attain cost +zero. In the former branch, every free component incident to a native edge +is reachable from the source in the residual network. In the latter, each +such component can reach the sink. Every minimum cut must retain the first +set on the source side and the second set on the sink side. Combined with +the fixed cover bits, this forces all 1,971 live components to one common +bit. The only free components are the eight isolated cleared outputs. +This proves the claim for every optimal cut, not only the cuts saved by +the optimizer. + +## All increasing concave rank costs + +The separate certificate `THRESHOLD-GAUGE-COMMON.json.gz` treats +`f_k(r)=min(r,k)` for `k=1,...,8`. It has 800 integer flow/cut cases. Its +generator uses SciPy's integer maximum-flow implementation. The separate +standard-library reviewer reconstructs every changed rank from the source +Lagrangians and checks each integer witness directly. It does not rely on +the optimizer's status or on floating-point arithmetic. Every minimum is +zero. All old and changed ranks are between zero and eight. + +Let `f(0)=0` and let `d_j=f(j)-f(j-1)` satisfy +`d_1 >= ... >= d_8 >= 0`. For integer `0 <= r <= 8`, + + f(r) = d_8 min(r,8) + sum_(k=1)^7 (d_k-d_(k+1)) min(r,k). + +Each coefficient is nonnegative. Each threshold sum has nonnegative +change for every admissible gauge. Thus the same is true of `sum f(r)`. +The function `r^(1-b)` has these properties for `0 <= b < 1`. At `b=1`, +take `f(0)=0` and `f(r)=1` for positive ranks. This is the count of paid +children and is also `min(r,1)` on the integer ranks. + +The standard local child moment is a fixed positive multiple of this sum. +Thus this gauge family cannot improve that moment with the old scalar +program and native edge positions. This conclusion is stronger than the +total-rank minimum alone. It does not claim a general lower bound for +centre information or a new value of kappa. + +## Compound gauges and the four-state family + +The review also checks `I,G` for `G=C_128 C_256` and for the full canonical +frame `G=T_415`. A direct binary calculation replaces the producer's +Clifford compiler. Complete the printed frame basis `u_1,...,u_r` by the +standard unit vectors, in order. Let `d_j` be the dual basis. The canonical +frame is a product of commuting symplectic transvections with vectors +`(u_j,u_j+d_j)`. This follows by conjugating each axis `C` by the canonical +coordinate map and its diagonal quadratic factor. The reviewer constructs +the dual basis by exhaustive binary inner products and applies these +transvections directly. It checks all original, crossed, and equal-bit +native ranks. + +Both compound binary families have rank minimum zero. Every rank-zero cut +is again constant on all native components. The product `C_128 C_256` has +minimum zero for every capped-rank cost through cap nine, so the increasing +concave-cost theorem also applies to this family. + +For `T_415`, the cap-one minimum is minus one. All other capped-rank minima +are zero. The count-saving cut changes only component 608 from a constant +gauge. Seven incoming edges keep rank four. One rank-eight centre becomes +rank zero. Seven outgoing rank-one edges become rank nine. The full rank +change is 48. Its child-moment change is + + 7*9^(1-b) - 7 - 8^(1-b). + +Thus the all-concave obstruction is false for this full-frame family. The +count-saving example is a shift of native work to seven later transitions. +It is not a cheap centre construction for the selected supplier. + +This example gives a general cost formula. Suppose a scalar-access component +has one frame `E`, of dimension `e`, and satisfies the boundary equalities. +Assign it `G=T_E^-1` and keep the other gauges equal to the identity. The +new frame on the component is exactly zero. Count only native edges that +cross the component boundary. An edge from `A subset E` has +old rank `e-dim(A)` and new rank `dim(A)`. An edge to `B superset E` has +old rank `dim(B)-e` and new rank `dim(B)`. A centre edge to frame zero +disappears. The total rank change is therefore + + sum_entries (2*dim(A)-e) + e*number_of_exits - e*number_of_centres. + +This formula includes exact phases if the new native edges use the exact +frame products. It preserves arbitrary helper values by the boundary +theorem. The inverse gauge has the same binary ranks as `T_E` for the +canonical frame, so it has the same price in the example. The formula shows +which change to the scalar program could matter: reduce the number of live +exits, or use enough entry frames of dimension less than `e/2`. The old +component has neither property. This is a conditional design criterion, not +an implemented improvement. + +There is nevertheless an exact obstruction for `0 <= b <= 2/5`. Each +native rank change in this binary family is even. Every nonconstant native +cut therefore has total-rank change at least two. The threshold certificate +gives change at least minus one for `min(r,1)` and at least zero for every +other threshold. Put `a=1-b` and apply the threshold formula through rank +nine. It gives + + Delta sum r^a >= 2*(9^a-8^a) - (2-2^a). + +For `a >= 3/5`, the first term has the bound +`2*(9^a-8^a) >= 2*a*9^(a-1) > 24/49`. Also `2-2^a < 97/200`. +The strict rational bounds follow from +`49^5 > 81*20^5` and `303^5 < 8*200^5`. Thus every such cut has moment +increase greater than `47/9800`. The constant cuts keep the profile. +No floating-point estimate is used in this conclusion. + +For the four gauges `I,C_128,C_256,C_128 C_256`, the reviewer checks every +entry of the native four-by-four rank table. Each depends only on the XOR +of the two states. It checks the two separable lower graphs edge by edge, +then checks their integral flow/cut witnesses. Both lower minima are zero, +and both zero cuts have the same rigidity as before. Hence every zero-rank +four-state assignment is constant on the native components. + +For a capped cost, write its three nonzero XOR-state changes as `d_1,d_2,d_3`. +Put `m=max(0,d_1+d_2-d_3)`. The two integer weights +`2d_1-m` and `2d_2-m` give a separable lower bound for twice the true cost. +This is checked on all four states of every original native edge. The +threshold certificate gives zero as the minimum of both lower graphs for +all caps one through nine. The constant assignment attains zero in the true +problem. Thus the four-state family has no improvement for any increasing +concave rank cost. The exploratory solver's status and bound are not used. + +The product gauges commute exactly with `F`, so their conclusions hold in +both original orientations with the same gauge. The frame `T_415` does not +commute with `F`. Its forward certificate applies to the backward gauge +`F T_415 F^-1` in the backward frames `D_U=T_U F^-1`. It does not prove the +same claim for the identical `T_415` in those backward coordinates. + +## Validation boundary + +The source-derived checks, the flow/cut checks, and the threshold witnesses +ran locally. No selected cold replay, complete recursive repricing, changed +native lowering, or new hosting construction ran in this lane. No PR was +created. The source-domain lane produced the original gauge search and +certificates. This lane supplied an independent review and the threshold +extension. This work used OpenAI Codex assistance. diff --git a/research/fixed-word-gauge-limits/replay.py b/research/fixed-word-gauge-limits/replay.py new file mode 100644 index 0000000000..92ae415b61 --- /dev/null +++ b/research/fixed-word-gauge-limits/replay.py @@ -0,0 +1,114 @@ +"""Replay the exact certificates for the historical fixed scalar word.""" + +import argparse +from hashlib import sha256 +import json +from pathlib import Path +import platform +import shutil +import subprocess +import sys +import time + + +ROOT = Path(__file__).resolve().parent + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def main(args): + require(sys.version_info >= (3, 10), "Python 3.10 or later is required") + manifest = json.loads((ROOT / "MANIFEST.json").read_text()) + for name, expected in manifest["files"].items(): + require(sha256((ROOT / name).read_bytes()).hexdigest() == expected, + "Package file pin: " + name) + if args.integrity_only: + print("PASS_FIXED_WORD_GAUGE_PACKAGE_INTEGRITY") + return + require(args.out is not None, "Use --out with a new external output directory") + output = args.out.resolve() + require(output != ROOT and ROOT not in output.parents, "Output must be outside the package") + output.mkdir(parents=True, exist_ok=False) + require(shutil.disk_usage(output).free >= 3 * 1024 ** 3, "Keep at least 3 GiB of free disk space") + certificates = ROOT / "certificates" + common = certificates / "WIRE-GAUGE-PAIRED-COMMON.json.gz" + odd = [str(certificates / name) for name in + ("WIRE-GAUGE-ODD-PATHS.json.gz", "WIRE-GAUGE-LINE42-PATHS.json.gz")] + jobs = [ + ("common-rank", "review_wire_gauge.py", ["--certificate", str(common)], + "PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE"), + ("common-thresholds", "review_threshold_certificate.py", + ["--source-certificate", str(common), "--certificate", + str(certificates / "THRESHOLD-GAUGE-COMMON.json.gz")], + "PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION"), + ("product-thresholds", "review_compound_gauge.py", ["--certificate", + str(certificates / "THRESHOLD-MULTI-GAUGE-128-256.json.gz")], + "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY"), + ("frame415-thresholds", "review_compound_gauge.py", ["--certificate", + str(certificates / "THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz")], + "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY"), + ("four-state-thresholds", "review_four_state_gauge.py", ["--certificate", + str(certificates / "THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz")], + "PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY"), + ("all-lines-span", "verify_odd_paths.py", odd, + "PASS_ALL_PAIRED_WIRE_LINE_RANKS"), + ("all-lines-pairing", "check_line_paths.py", [], + "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION"), + ("common-product-rank", "check_common_product_rank.py", [], + "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND"), + ("negative-controls", "gauge_negative_controls.py", ["--certificate", str(common)], + "PASS_GAUGE_NEGATIVE_CONTROLS"), + ] + receipts, runs = {}, [] + started = time.monotonic() + for name, script, options, expected in jobs: + print("check " + name, flush=True) + destination = output / (name + ".json") + command = [sys.executable, "-I", "-O", "-B", str(ROOT / "checkers" / script), + *options, "--out", str(destination)] + tick = time.monotonic() + run = subprocess.run(command, capture_output=True, text=True, timeout=1800) + (output / (name + ".stdout.txt")).write_text(run.stdout) + (output / (name + ".stderr.txt")).write_text(run.stderr) + require(run.returncode == 0, "Check failed: " + name + " (see output logs)") + receipt = json.loads(destination.read_text()) + require(receipt["status"] == expected, "Receipt status: " + name) + receipts[name] = receipt + runs.append({"check": name, "status": expected, "seconds": round(time.monotonic() - tick, 3), + "receipt": destination.name, "receipt_sha256": sha256(destination.read_bytes()).hexdigest()}) + require(receipts["common-rank"]["all_common_odd_lines_reviewed"], "Common line coverage") + require(receipts["common-rank"]["total_flow_cut_cases"] == 3384, "Common rank case count") + require(receipts["common-thresholds"]["total_flow_cut_cases"] == 800, "Common threshold case count") + require(receipts["all-lines-pairing"]["integer_paths"] == 10488, "Integer path count") + counterexample = receipts["frame415-thresholds"]["thresholds"][0]["best"] + require(counterexample["objective_delta"] == -1 and counterexample["rank_delta"] == 48, + "Full-frame counterexample") + result = { + "status": "PASS_FIXED_WORD_GAUGE_LIMITS", + "historical_source_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "python": platform.python_version(), "platform": platform.platform(), + "optimized_checks": True, "parallel_workers": 1, + "seconds": round(time.monotonic() - started, 3), "checks": runs, + "all_fixed_translation_lines": 511, + "independent_pairing_ranks": receipts["all-lines-pairing"]["independent_symplectic_pairing_rank_checks"], + "integer_paths": 10488, "native_events": 5064, "rank_zero_wrappers": 1570, + "common_rank_flow_cut_cases": 3384, "common_threshold_flow_cut_cases": 800, + "negative_controls": len(receipts["negative-controls"]["controls"]) + + len(receipts["all-lines-pairing"]["negative_controls_under_optimized_python"]), + "frame415_counterexample": counterexample, + "kappa_change": "None. No new supplier or complete multiplication bound is claimed.", + "not_run": ["selected current-construction cold replay", "changed native circuit emission", + "complete recursive repricing", "new mathematical search"], + } + (output / "REPLAY.json").write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"], flush=True) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--out", type=Path) + parser.add_argument("--integrity-only", action="store_true") + main(parser.parse_args()) diff --git a/research/publication-reviews/fixed-word-gauge-limits/CAMPAIGN-SOURCE-CHECK.json b/research/publication-reviews/fixed-word-gauge-limits/CAMPAIGN-SOURCE-CHECK.json new file mode 100644 index 0000000000..037c2c0e73 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/CAMPAIGN-SOURCE-CHECK.json @@ -0,0 +1,168 @@ +{ + "status": "PASS_ALL_CAMPAIGN_SOURCE_PINS", + "files": [ + { + "file": "certificates/THRESHOLD-GAUGE-COMMON.json.gz", + "source_sha256": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "packaged_sha256": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "adapted": false + }, + { + "file": "certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz", + "source_sha256": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "packaged_sha256": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "adapted": false + }, + { + "file": "certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz", + "source_sha256": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "packaged_sha256": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "adapted": false + }, + { + "file": "certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz", + "source_sha256": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "packaged_sha256": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "adapted": false + }, + { + "file": "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz", + "source_sha256": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "packaged_sha256": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "adapted": false + }, + { + "file": "certificates/WIRE-GAUGE-ODD-PATHS.json.gz", + "source_sha256": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "packaged_sha256": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "adapted": false + }, + { + "file": "certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz", + "source_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "packaged_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "adapted": false + }, + { + "file": "checkers/check_common_product_rank.py", + "source_sha256": "0491d79be36bfe3f853d690863920aae541775853221ff1ad5e3bfb62e6d1f9e", + "packaged_sha256": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "adapted": true + }, + { + "file": "checkers/check_line_paths.py", + "source_sha256": "b5289410c23621f7c4f4014dd6a4f81b7d80978c627347392f43f12764fd45a7", + "packaged_sha256": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "adapted": true + }, + { + "file": "checkers/gauge_negative_controls.py", + "source_sha256": "28b40ad1f84bcc43acf3adf4c592d65ff865af2f188ab7b7a4307cd08ff8e785", + "packaged_sha256": "c07cf9789a314abfaf8cbfb5a4440005e7ed4fd6cba1796e0a496fa84f791a8a", + "adapted": true + }, + { + "file": "checkers/review_compound_gauge.py", + "source_sha256": "0a7c718a07342dc6af675016445fb9e7ff28a90017a18663774c7e4e8fdac9e9", + "packaged_sha256": "9e2d216f15081dd655685da6f4bbb0a116db2a6e2557c649f4dc1af889ed83df", + "adapted": true + }, + { + "file": "checkers/review_four_state_gauge.py", + "source_sha256": "d125210cf6dbb6f82e7a4071cde077695475c940c0fb1105b044ea6a7146752e", + "packaged_sha256": "403f53c6ae128e6ea6fe50b41560e2c990f899889b0579b22bee85f48769b530", + "adapted": true + }, + { + "file": "checkers/review_threshold_certificate.py", + "source_sha256": "5141d6f2fc0db1f22a044af975c83926a0fe5a99b45338714340ba90a0bf4496", + "packaged_sha256": "bb1786e568ccda265825add83b4f06322ad7f5ed60d0a8147c90f4c26b275e7c", + "adapted": true + }, + { + "file": "checkers/review_wire_gauge.py", + "source_sha256": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", + "packaged_sha256": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "adapted": true + }, + { + "file": "checkers/verify_odd_paths.py", + "source_sha256": "c443834dc00d6864405c85af5e8e4cb28e708fa8ad7386259e334894dda1bd10", + "packaged_sha256": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "adapted": true + }, + { + "file": "evidence/historical/ALL-LINE-PATH-REVIEW.json", + "source_sha256": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284", + "packaged_sha256": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284", + "adapted": false + }, + { + "file": "evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json", + "source_sha256": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32", + "packaged_sha256": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32", + "adapted": false + }, + { + "file": "evidence/historical/GAUGE-NEGATIVE-CONTROLS.json", + "source_sha256": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "packaged_sha256": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "adapted": false + }, + { + "file": "evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json", + "source_sha256": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "packaged_sha256": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "adapted": false + }, + { + "file": "evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json", + "source_sha256": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "packaged_sha256": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "adapted": false + }, + { + "file": "evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json", + "source_sha256": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "packaged_sha256": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "adapted": false + }, + { + "file": "evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json", + "source_sha256": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "packaged_sha256": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "adapted": false + }, + { + "file": "evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json", + "source_sha256": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da", + "packaged_sha256": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da", + "adapted": false + }, + { + "file": "proofs/ALL-LINE-GAUGES.md", + "source_sha256": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "packaged_sha256": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "adapted": false + }, + { + "file": "proofs/BOUNDARY-GAUGE.md", + "source_sha256": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c", + "packaged_sha256": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c", + "adapted": false + }, + { + "file": "proofs/COMMON-PRODUCT-RANK.md", + "source_sha256": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599", + "packaged_sha256": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599", + "adapted": false + }, + { + "file": "proofs/GAUGE-REVIEW.md", + "source_sha256": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c", + "packaged_sha256": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c", + "adapted": false + } + ], + "adapted_checkers": 8 +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/CHECKER-ADAPTATIONS.diff b/research/publication-reviews/fixed-word-gauge-limits/CHECKER-ADAPTATIONS.diff new file mode 100644 index 0000000000..22464688ea --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/CHECKER-ADAPTATIONS.diff @@ -0,0 +1,323 @@ +--- lanes/encoded-controller/review/check_common_product_rank.py ++++ checkers/check_common_product_rank.py +@@ -9,7 +9,7 @@ + + + HERE = Path(__file__).resolve().parent +-LANES = HERE.parent.parent ++PACKAGE = HERE.parent + + + def require(condition, label): +@@ -28,7 +28,7 @@ + spec = spec_from_file_location("review_source", HERE / "check_line_paths.py") + helper = module_from_spec(spec) + spec.loader.exec_module(helper) +- word, programs = helper.load_source(args.repo) ++ word, programs = helper.load_source() + centres = word["center_frames"] + require(centres == list(range(415, 423)), "Centre frame IDs") + intersection = set.intersection(*(span(word["frames"][frame]) for frame in centres)) +@@ -50,7 +50,7 @@ + fixed = {u for u in span(frame) if u == (u & (128 | 256))} + require(fixed == {0, 128, 256, 384}, "Sharp fixed space") + sharp.append({"frame": frame_id, "old_rank": 8, "new_rank": changed_rank}) +- proof = LANES / "source-domain/COMMON-PRODUCT-RANK.md" ++ proof = PACKAGE / "proofs/COMMON-PRODUCT-RANK.md" + result = { + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND", + "source_base": helper.BASE, +@@ -69,16 +69,16 @@ + ], + "scope": "A local native-rank bound for products of translation-line gauges from one fixed common subspace A. This does not price the complete scalar graph, all child moments, or a supplier.", + "not_claimed": ["A bound for lines outside A", "No complete-cost gain", "All Clifford gauges", "A changed native supplier replay or a kappa bound"], +- "source_sha256": {str(path): sha256(path.read_bytes()).hexdigest() ++ "source_sha256": {str(path.relative_to(PACKAGE)): sha256(path.read_bytes()).hexdigest() + for path in (proof, HERE / "check_line_paths.py", HERE / "check_common_product_rank.py")}, + "maximum_resident_bytes": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, + } +- (HERE / "COMMON-PRODUCT-RANK-REVIEW.json").write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") ++ args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"]) + print("common_dimension=5 gram_rank=2 centre_ranks=6,6,6,6,6,6,6,6") + + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) ++ parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) +--- lanes/encoded-controller/review/check_line_paths.py ++++ checkers/check_line_paths.py +@@ -6,17 +6,15 @@ + from pathlib import Path + import argparse + import gzip +-import io + import json + import resource + import subprocess + import sys +-import tarfile + import tempfile + + + HERE = Path(__file__).resolve().parent +-LANES = HERE.parent.parent ++PACKAGE = HERE.parent + BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" + ARCHIVE = "research/community-frontier1042-audit/selected-replay.tar.gz" + PINS = { +@@ -47,15 +45,12 @@ + + ((left >> 9) & (right & 511)).bit_count()) % 2 + + +-def load_source(repo): +- raw = subprocess.check_output(["git", "show", BASE + ":" + ARCHIVE], cwd=repo) +- require(sha256(raw).hexdigest() == PINS[ARCHIVE], "Archive pin") +- with tarfile.open(fileobj=io.BytesIO(raw), mode="r:gz") as archive: +- output = [] +- for name in list(PINS)[1:]: +- compressed = archive.extractfile(name).read() +- require(sha256(compressed).hexdigest() == PINS[name], "Source member pin") +- output.append(json.loads(gzip.decompress(compressed))) ++def load_source(): ++ output = [] ++ for name in list(PINS)[1:]: ++ compressed = (PACKAGE / "data" / Path(name).name).read_bytes() ++ require(sha256(compressed).hexdigest() == PINS[name], "Source member pin") ++ output.append(json.loads(gzip.decompress(compressed))) + return output + + +@@ -139,10 +134,10 @@ + + + def main(args): +- source_dir = LANES / "source-domain" ++ source_dir = PACKAGE / "certificates" + cert_paths = [source_dir / name for name in ("WIRE-GAUGE-ODD-PATHS.json.gz", "WIRE-GAUGE-LINE42-PATHS.json.gz")] + certs = [json.loads(gzip.decompress(path.read_bytes())) for path in cert_paths] +- word, programs = load_source(args.repo) ++ word, programs = load_source() + forward, roots, groups = components(word, programs["forward"]) + backward, backward_roots, backward_groups = components(word, programs["backward"]) + require(groups == backward_groups, "Both scalar and boundary partitions") +@@ -235,11 +230,10 @@ + def reject(name, mutate, expected): + changed = deepcopy(certs[0]) + mutate(changed) +- with tempfile.TemporaryDirectory(prefix="line-path-control-", dir=HERE) as temporary: ++ with tempfile.TemporaryDirectory(prefix="line-path-control-") as temporary: + path = Path(temporary) / "certificate.json.gz" + path.write_bytes(gzip.compress(json.dumps(changed).encode(), mtime=0)) +- command = [sys.executable, "-I", "-O", "-B", str(source_dir / "verify_odd_paths.py"), +- "--repo", str(args.repo), "--out", str(Path(temporary) / "unexpected.json"), str(path), str(cert_paths[1])] ++ command = [sys.executable, "-I", "-O", "-B", str(HERE / "verify_odd_paths.py"), "--out", str(Path(temporary) / "unexpected.json"), str(path), str(cert_paths[1])] + run = subprocess.run(command, capture_output=True, text=True, timeout=60) + require(run.returncode != 0 and expected in run.stderr, "Mutation control: " + name) + controls.append({"control": name, "exit_code": run.returncode, "rejected_by": expected}) +@@ -263,8 +257,8 @@ + reject("native_wrapper_omission", lambda doc: doc["graph"]["edges"].pop(next(i for i, edge in enumerate(doc["graph"]["edges"]) if edge[5] == "adapter")), "Native edge count") + reject("missing_line", lambda doc: doc["lines"].remove(first(doc)), "all 256 odd lines exactly once") + +- paths = cert_paths + [source_dir / name for name in ("verify_odd_paths.py", "route_cut_certificate.py", "ALL-LINE-GAUGES.md")] +- paths += [LANES / "temporal-reuse/review_wire_gauge.py", HERE / "check_line_paths.py"] ++ paths = cert_paths + [HERE / "verify_odd_paths.py", PACKAGE / "proofs/ALL-LINE-GAUGES.md", ++ HERE / "review_wire_gauge.py", HERE / "check_line_paths.py"] + receipt = { + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION", + "source_base": BASE, +@@ -287,15 +281,15 @@ + "boundary_scope": "The graph keeps the original scalar program and requires one gauge at each ADD or COPY. Each old data pair has a common gauge on its four boundary points. Each helper has one gauge at its input and output. A CLEAR starts a new private lifetime. These constraints preserve the exact endpoint on arbitrary inputs.", + "backward_scope": "The two source programs give the same component partition and undirected native inventory. In backward frames D_U=T_U F^-1, the line gauges commute with F. The relative ranks therefore agree in both orientations.", + "not_claimed": ["Different gauge lines at different components", "All Clifford palettes", "All child costs or moments", "An unchanged rank profile for every zero-rank cut", "A changed scalar program or controller", "A fully emitted changed supplier or a kappa bound"], +- "source_sha256": {str(path): sha256(path.read_bytes()).hexdigest() for path in paths}, ++ "source_sha256": {str(path.relative_to(PACKAGE)): sha256(path.read_bytes()).hexdigest() for path in paths}, + "maximum_parent_resident_bytes": resource.getrusage(resource.RUSAGE_SELF).ru_maxrss, + "maximum_control_child_resident_bytes": resource.getrusage(resource.RUSAGE_CHILDREN).ru_maxrss, + } +- (HERE / "ALL-LINE-PATH-REVIEW.json").write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") ++ args.out.write_text(json.dumps(receipt, indent=2, sort_keys=True) + "\n") + print(receipt["status"], flush=True) + + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) ++ parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) +--- lanes/temporal-reuse/gauge_negative_controls.py ++++ checkers/gauge_negative_controls.py +@@ -14,7 +14,7 @@ + spec = spec_from_file_location("review", Path(__file__).with_name("review_wire_gauge.py")) + review = module_from_spec(spec) + spec.loader.exec_module(review) +- word, programs = review.load_source(args.repo) ++ word, programs = review.load_source() + certificate = json.loads(gzip.decompress(args.certificate.read_bytes())) + native = review.rebuild_graph(word, programs[certificate["orientation"]], certificate) + count = len(certificate["graph"]["labels"]) +@@ -80,7 +80,7 @@ + with tempfile.TemporaryDirectory(prefix="centre-gauge-control-") as directory: + path = Path(directory) / "missing-case.json.gz" + path.write_bytes(gzip.compress(json.dumps(damaged).encode(), mtime=0)) +- rejects("Omitted forced-centre branch", lambda: review.run(args.repo, path), ++ rejects("Omitted forced-centre branch", lambda: review.run(path), + "The exhaustive branch list is incomplete") + + output = dict(status="PASS_GAUGE_NEGATIVE_CONTROLS", controls=records) +@@ -90,7 +90,6 @@ + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) +--- lanes/temporal-reuse/review_compound_gauge.py ++++ checkers/review_compound_gauge.py +@@ -40,7 +40,7 @@ + raw = args.certificate.read_bytes() + certificate = json.loads(gzip.decompress(raw)) + review.check(certificate["source_base"] == review.BASE, "Compound source base") +- word, programs = review.load_source(args.repo) ++ word, programs = review.load_source() + review.check_orientation_duality(word, programs) + native = review.rebuild_graph(word, programs["forward"], certificate) + gauge = certificate["gauge"] +@@ -146,7 +146,6 @@ + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) +--- lanes/temporal-reuse/review_four_state_gauge.py ++++ checkers/review_four_state_gauge.py +@@ -61,7 +61,7 @@ + raw = args.certificate.read_bytes() + certificate = json.loads(gzip.decompress(raw)) + review.check(certificate["source_base"] == review.BASE and certificate["lines"] == [128, 256], "Four-state source and gauge") +- word, programs = review.load_source(args.repo) ++ word, programs = review.load_source() + review.check_orientation_duality(word, programs) + native = review.rebuild_graph(word, programs["forward"], certificate) + costs = native_costs(word, native, certificate["lines"], review) +@@ -121,7 +121,6 @@ + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + main(parser.parse_args()) +--- lanes/temporal-reuse/review_threshold_certificate.py ++++ checkers/review_threshold_certificate.py +@@ -19,7 +19,7 @@ + source_raw = args.source_certificate.read_bytes() + review.check(certificate["source_certificate_sha256"] == sha256(source_raw).hexdigest(), "Graph certificate pin") + source = json.loads(gzip.decompress(source_raw)) +- word, programs = review.load_source(args.repo) ++ word, programs = review.load_source() + review.check_orientation_duality(word, programs) + native = review.rebuild_graph(word, programs[source["orientation"]], source) + lagrangians = list(map(review.lagrangian, word["frames"])) +@@ -79,7 +79,6 @@ + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--source-certificate", type=Path, required=True) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) +--- lanes/temporal-reuse/review_wire_gauge.py ++++ checkers/review_wire_gauge.py +@@ -7,10 +7,7 @@ + from pathlib import Path + import argparse + import gzip +-import io + import json +-import subprocess +-import tarfile + + + BASE = "bce54fb3f895cbe5cd4c0eb477c3afeed100190f" +@@ -26,15 +23,12 @@ + raise ValueError(message) + + +-def load_source(repo): +- raw = subprocess.check_output(["git", "show", BASE + ":" + ARCHIVE], cwd=repo) +- check(sha256(raw).hexdigest() == "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", "Archive pin") +- with tarfile.open(fileobj=io.BytesIO(raw), mode="r:gz") as archive: +- output = [] +- for name, expected in MEMBERS.items(): +- payload = archive.extractfile(name).read() +- check(sha256(payload).hexdigest() == expected, "Member pin: " + name) +- output.append(json.loads(gzip.decompress(payload))) ++def load_source(): ++ output = [] ++ for name, expected in MEMBERS.items(): ++ payload = (Path(__file__).resolve().parents[1] / "data" / Path(name).name).read_bytes() ++ check(sha256(payload).hexdigest() == expected, "Member pin: " + name) ++ output.append(json.loads(gzip.decompress(payload))) + return output + + +@@ -342,11 +336,11 @@ + return energy, rigidity + + +-def run(repo, certificate_path): ++def run(certificate_path): + raw = certificate_path.read_bytes() + digest = sha256(raw).hexdigest() + certificate = json.loads(gzip.decompress(raw) if certificate_path.suffix == ".gz" else raw) +- word, programs = load_source(repo) ++ word, programs = load_source() + check(certificate["source_base"] == BASE, "Certificate source base") + check(certificate["word_sha256"] == MEMBERS["slots/local/CANONICAL-WORD.json.gz"], "Certificate word pin") + check(certificate["programs_sha256"] == MEMBERS["slots/local/LOCAL-PROGRAMS.json.gz"], "Certificate program pin") +@@ -444,11 +438,10 @@ + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--certificate", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + args = parser.parse_args() +- result = run(args.repo, args.certificate) ++ result = run(args.certificate) + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") + print(result["status"]) + print("lines=" + str(len(result["lines"])) + " flow_cut_cases=" + str(result["total_flow_cut_cases"])) +--- lanes/source-domain/verify_odd_paths.py ++++ checkers/verify_odd_paths.py +@@ -20,13 +20,13 @@ + + + def main(args): +- checker_path = Path(__file__).parent.parent / "temporal-reuse/review_wire_gauge.py" +- require(sha256(checker_path.read_bytes()).hexdigest() == "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", "reviewed graph reader pin") ++ checker_path = Path(__file__).with_name("review_wire_gauge.py") ++ require(sha256(checker_path.read_bytes()).hexdigest() == "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", "reviewed graph reader pin") + spec = spec_from_file_location("independent_graph", checker_path) + checker = module_from_spec(spec) + spec.loader.exec_module(checker) + receipts = [json.loads(gzip.decompress(path.read_bytes())) for path in args.certificates] +- word, programs = checker.load_source(args.repo) ++ word, programs = checker.load_source() + for side in programs: + checker.scalar_endpoint(word, programs[side], side == "backward") + checker.check_orientation_duality(word, programs) +@@ -120,7 +120,6 @@ + + if __name__ == "__main__": + parser = argparse.ArgumentParser(description=__doc__) +- parser.add_argument("--repo", type=Path, required=True) + parser.add_argument("--out", type=Path, required=True) + parser.add_argument("certificates", type=Path, nargs="+") + main(parser.parse_args()) diff --git a/research/publication-reviews/fixed-word-gauge-limits/COLD-PORTABILITY.json b/research/publication-reviews/fixed-word-gauge-limits/COLD-PORTABILITY.json new file mode 100644 index 0000000000..1c779152d0 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/COLD-PORTABILITY.json @@ -0,0 +1,77 @@ +{ + "PATH": "/nonexistent", + "command": [ + "/opt/homebrew/opt/python@3.14/bin/python3.14", + "-I", + "-O", + "-B", + "/tmp/fixed-word-gauge-export-20261022/package/replay.py", + "--out", + "/tmp/fixed-word-gauge-export-20261022/replay" + ], + "cwd": "/tmp/fixed-word-gauge-export-20261022", + "file_count": 54, + "negative_controls": 13, + "package_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "package_sha256": { + "MANIFEST.json": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "NOTICE.md": "a0f77933aef1f5e9301ae171ef03371fd59fcc67f4f2fecdfd85b6b4562453d6", + "PROOF.md": "d38d5c8c7565f4baa3ba66e84389cfd30bf14d1f9ec057773b47e03c8e8558d5", + "PROVENANCE.md": "9c44733b62b349ed5f7007a073593ce87a08edbd52a74b253a2dbe157aae6108", + "README.md": "4dc6f4b3a1d3d2e5bfeef55b91190dcc6574bcac15ea1392a49b908f4209d044", + "RELATED-WORK.md": "38f8d26789e22d017b4accd4df302c9f485e0fbc622fe864438e4aa3e671bcca", + "SOURCES.json": "d094cdf81582cc4e95dad10887c8f29684f779f18f4d6eb22c637bdcd19329ba", + "VALIDATION.md": "1386abfaf8353ae6c4579dc6914fd8b5ae8486a906d1e96fb68be81a3dcdef66", + "certificates/THRESHOLD-GAUGE-COMMON.json.gz": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "checkers/check_common_product_rank.py": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "checkers/gauge_negative_controls.py": "c07cf9789a314abfaf8cbfb5a4440005e7ed4fd6cba1796e0a496fa84f791a8a", + "checkers/review_compound_gauge.py": "9e2d216f15081dd655685da6f4bbb0a116db2a6e2557c649f4dc1af889ed83df", + "checkers/review_four_state_gauge.py": "403f53c6ae128e6ea6fe50b41560e2c990f899889b0579b22bee85f48769b530", + "checkers/review_threshold_certificate.py": "bb1786e568ccda265825add83b4f06322ad7f5ed60d0a8147c90f4c26b275e7c", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "checkers/verify_odd_paths.py": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "data/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "data/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "evidence/historical/ALL-LINE-PATH-REVIEW.json": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284", + "evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32", + "evidence/historical/GAUGE-NEGATIVE-CONTROLS.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da", + "evidence/replay/REPLAY.json": "7f81d82c4ac340296a567eb379de0464ab617f69fb91dae3f71c8d23752ef8b9", + "evidence/replay/all-lines-pairing.json": "c493174b5f29b19003618ca022fb87566df71d99681528eb491fc80ba23fca08", + "evidence/replay/all-lines-span.json": "eeae7231add00963a57f6f8708c7ff6f59de2e3b5134bc465d23b0ab6df23b62", + "evidence/replay/common-product-rank.json": "bbac61ccba8a6d8094f14b5bf3c379a85b9969d7c5a9b311db1042b15817ecd8", + "evidence/replay/common-rank.json": "001917257546807ea4d031c547b6221b23da12e50a2dba4ae6739e060e155923", + "evidence/replay/common-thresholds.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/replay/four-state-thresholds.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/replay/frame415-thresholds.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/replay/negative-controls.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/replay/product-thresholds.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "notices/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "notices/research/gauge44-slots-t16/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "proofs/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "proofs/BOUNDARY-GAUGE.md": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c", + "proofs/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599", + "proofs/GAUGE-REVIEW.md": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c", + "replay.py": "1120f28ea69263b74e5932aec64bc7f78ad18fb5912b73bcb416132ac1826eab" + }, + "package_unchanged": true, + "replay_receipt_sha256": "769f937268160754cbacde59d44b560795a763e91ad2530ff2d97768d4f20b53", + "seconds": 72.088, + "source_package_matches_export": true, + "status": "PASS_GIT_FREE_EXPORTED_GAUGE_PACKAGE" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/COLD-REPLAY.json b/research/publication-reviews/fixed-word-gauge-limits/COLD-REPLAY.json new file mode 100644 index 0000000000..700b75bb40 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/COLD-REPLAY.json @@ -0,0 +1,103 @@ +{ + "all_fixed_translation_lines": 511, + "checks": [ + { + "check": "common-rank", + "receipt": "common-rank.json", + "receipt_sha256": "f44fc6b663c433c4d1596ac7a66dfe1bc152eba89e9276a4826e10a85e7cd577", + "seconds": 28.338, + "status": "PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE" + }, + { + "check": "common-thresholds", + "receipt": "common-thresholds.json", + "receipt_sha256": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "seconds": 5.763, + "status": "PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION" + }, + { + "check": "product-thresholds", + "receipt": "product-thresholds.json", + "receipt_sha256": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "seconds": 0.734, + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "frame415-thresholds", + "receipt": "frame415-thresholds.json", + "receipt_sha256": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "seconds": 1.47, + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "four-state-thresholds", + "receipt": "four-state-thresholds.json", + "receipt_sha256": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "seconds": 1.413, + "status": "PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "all-lines-span", + "receipt": "all-lines-span.json", + "receipt_sha256": "a50d9053ef13209ec3099821401d794d3351137abf4ba70e629fc0c3de4631ec", + "seconds": 10.532, + "status": "PASS_ALL_PAIRED_WIRE_LINE_RANKS" + }, + { + "check": "all-lines-pairing", + "receipt": "all-lines-pairing.json", + "receipt_sha256": "be46d9936ef3e49c7449a082088e020e2ab66153b8875ad83c5bfe4bcfb0ddc3", + "seconds": 17.185, + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION" + }, + { + "check": "common-product-rank", + "receipt": "common-product-rank.json", + "receipt_sha256": "17f80c0c1a8002f77d776354180ca9b56d7e2877f038bd3561aa9dcfe12a3315", + "seconds": 0.182, + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND" + }, + { + "check": "negative-controls", + "receipt": "negative-controls.json", + "receipt_sha256": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "seconds": 6.223, + "status": "PASS_GAUGE_NEGATIVE_CONTROLS" + } + ], + "common_rank_flow_cut_cases": 3384, + "common_threshold_flow_cut_cases": 800, + "frame415_counterexample": { + "objective_delta": -1, + "profile": { + "0": 1571, + "1": 2405, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 7, + "9": 7 + }, + "rank_delta": 48 + }, + "historical_source_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "independent_pairing_ranks": 1609650, + "integer_paths": 10488, + "kappa_change": "None. No new supplier or complete multiplication bound is claimed.", + "native_events": 5064, + "negative_controls": 13, + "not_run": [ + "selected current-construction cold replay", + "changed native circuit emission", + "complete recursive repricing", + "new mathematical search" + ], + "optimized_checks": true, + "parallel_workers": 1, + "platform": "macOS-26.6.1-arm64-64bit", + "python": "3.14.7", + "rank_zero_wrappers": 1570, + "seconds": 71.865, + "status": "PASS_FIXED_WORD_GAUGE_LIMITS" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/COLD-STDERR.txt b/research/publication-reviews/fixed-word-gauge-limits/COLD-STDERR.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/COLD-STDOUT.txt b/research/publication-reviews/fixed-word-gauge-limits/COLD-STDOUT.txt new file mode 100644 index 0000000000..ab2c9edf0c --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/COLD-STDOUT.txt @@ -0,0 +1,10 @@ +check common-rank +check common-thresholds +check product-thresholds +check frame415-thresholds +check four-state-thresholds +check all-lines-span +check all-lines-pairing +check common-product-rank +check negative-controls +PASS_FIXED_WORD_GAUGE_LIMITS diff --git a/research/publication-reviews/fixed-word-gauge-limits/COMMAND.json b/research/publication-reviews/fixed-word-gauge-limits/COMMAND.json new file mode 100644 index 0000000000..0395c94938 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/COMMAND.json @@ -0,0 +1,14 @@ +{ + "command": [ + "/opt/homebrew/opt/python@3.14/bin/python3.14", + "-I", + "-O", + "-B", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package/replay.py", + "--out", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold-output" + ], + "cwd": "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold", + "PATH": "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/empty-path", + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/COPY.json b/research/publication-reviews/fixed-word-gauge-limits/COPY.json new file mode 100644 index 0000000000..308a1bcf9e --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/COPY.json @@ -0,0 +1,62 @@ +{ + "bytes": 14663858, + "files": { + "MANIFEST.json": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "NOTICE.md": "a0f77933aef1f5e9301ae171ef03371fd59fcc67f4f2fecdfd85b6b4562453d6", + "PROOF.md": "d38d5c8c7565f4baa3ba66e84389cfd30bf14d1f9ec057773b47e03c8e8558d5", + "PROVENANCE.md": "9c44733b62b349ed5f7007a073593ce87a08edbd52a74b253a2dbe157aae6108", + "README.md": "4dc6f4b3a1d3d2e5bfeef55b91190dcc6574bcac15ea1392a49b908f4209d044", + "RELATED-WORK.md": "38f8d26789e22d017b4accd4df302c9f485e0fbc622fe864438e4aa3e671bcca", + "SOURCES.json": "d094cdf81582cc4e95dad10887c8f29684f779f18f4d6eb22c637bdcd19329ba", + "VALIDATION.md": "1386abfaf8353ae6c4579dc6914fd8b5ae8486a906d1e96fb68be81a3dcdef66", + "certificates/THRESHOLD-GAUGE-COMMON.json.gz": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "checkers/check_common_product_rank.py": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "checkers/gauge_negative_controls.py": "c07cf9789a314abfaf8cbfb5a4440005e7ed4fd6cba1796e0a496fa84f791a8a", + "checkers/review_compound_gauge.py": "9e2d216f15081dd655685da6f4bbb0a116db2a6e2557c649f4dc1af889ed83df", + "checkers/review_four_state_gauge.py": "403f53c6ae128e6ea6fe50b41560e2c990f899889b0579b22bee85f48769b530", + "checkers/review_threshold_certificate.py": "bb1786e568ccda265825add83b4f06322ad7f5ed60d0a8147c90f4c26b275e7c", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "checkers/verify_odd_paths.py": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "data/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "data/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "evidence/historical/ALL-LINE-PATH-REVIEW.json": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284", + "evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32", + "evidence/historical/GAUGE-NEGATIVE-CONTROLS.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da", + "evidence/replay/REPLAY.json": "7f81d82c4ac340296a567eb379de0464ab617f69fb91dae3f71c8d23752ef8b9", + "evidence/replay/all-lines-pairing.json": "c493174b5f29b19003618ca022fb87566df71d99681528eb491fc80ba23fca08", + "evidence/replay/all-lines-span.json": "eeae7231add00963a57f6f8708c7ff6f59de2e3b5134bc465d23b0ab6df23b62", + "evidence/replay/common-product-rank.json": "bbac61ccba8a6d8094f14b5bf3c379a85b9969d7c5a9b311db1042b15817ecd8", + "evidence/replay/common-rank.json": "001917257546807ea4d031c547b6221b23da12e50a2dba4ae6739e060e155923", + "evidence/replay/common-thresholds.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/replay/four-state-thresholds.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/replay/frame415-thresholds.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/replay/negative-controls.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/replay/product-thresholds.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "notices/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "notices/research/gauge44-slots-t16/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "proofs/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "proofs/BOUNDARY-GAUGE.md": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c", + "proofs/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599", + "proofs/GAUGE-REVIEW.md": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c", + "replay.py": "1120f28ea69263b74e5932aec64bc7f78ad18fb5912b73bcb416132ac1826eab" + }, + "files_read_only": true, + "inode_disjoint": true, + "source_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/EXIT.json b/research/publication-reviews/fixed-word-gauge-limits/EXIT.json new file mode 100644 index 0000000000..43623d1415 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/EXIT.json @@ -0,0 +1 @@ +{"exit_code": 0} diff --git a/research/publication-reviews/fixed-word-gauge-limits/HANDOFF.md b/research/publication-reviews/fixed-word-gauge-limits/HANDOFF.md new file mode 100644 index 0000000000..ae4770cb4e --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/HANDOFF.md @@ -0,0 +1,96 @@ +# Fixed-word gauge limits: publication handoff + +The package is ready for separate package review and publication checks. +No commit, push, PR, merge, or selected-result change was made. + +Package: `publication-wrap-20261022/packages/fixed-word-gauge-limits/`. +Recommended repository destination: `research/fixed-word-gauge-limits/`. +The package has 54 files and 14,663,858 bytes. Its manifest SHA-256 is +`82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836`. +All files are frozen for review. + +Before a PR description, read +`/Users/aliromman/Projects/IntegerMultiplicationBounds/PR-DESCRIPTION-STANDARD.md`. +The package owner read that file and the current contribution rules at +`b58ad9ef4d4e861b0eaa5dba41742bdc072dca51`. The coordinator must review the +final description, verify all public links, and inspect rendered Markdown. + +## Contribution and scope + +This is a scoped negative result and an exact boundary theorem. It does +not improve the complete kappa calculation or supply a new construction. +The consumed source remains historical commit +`bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. No result is asserted for the +changed PR #4470 selected scalar word or the PR #4610 word. + +The package includes these reviewed results: + +- The exact boundary condition `diag(G_out) P = P diag(G_in)` for the + unchanged scalar word, including arbitrary helpers and phases. +- Minimum total rank change zero for all 511 fixed translation-line + families, with each old rank-zero wrapper counted. Even lines are + nondecreasing on each native edge. +- Increasing concave cost limits for the 16 common odd lines, binary + `C_128 C_256`, and four-state product family. Their zero-rank choices + are constant on all 1,971 native components. +- The full-frame `T_415` counterexample: one fewer child, rank increase + 48. Its changed cuts have moment increase greater than `47/9800` for + `0<=b<=2/5`. In the backward word use `F T_415 F^-1`. +- The local rank-six floor for arbitrary products of lines from the + common five-dimensional subspace, attained at each centre by + `C_128 C_256`. This does not exclude a complete-cost gain. + +The package excludes unreviewed palette and code-closure claims. It also +leaves geodesic normalization outside this focused extraction. No search +producer or floating optimizer is needed. Seven exact certificates and +two exact source archive members form the data closure. + +`RELATED-WORK.md` compares PR #4700 at +`34434d4ea5d9edf58529eaf79b543cd6c58f3e41`. Its monotone-chart centre floor +uses a different scalar word, maps, boundary contract, and gauge class. +It is related work, not a consumed dependency or an exhaustive novelty +check. The refresh supplied its exact head, body, and proof. + +## Verification + +The first full replay passed under CPython 3.14.7 on macOS 26.6.1 arm64 +in 104.674 seconds. The package includes all nine JSON receipts under +`evidence/replay/`. The aggregate status is `PASS_FIXED_WORD_GAUGE_LIMITS`. + +Decisive counts: both scalar words on all 712 columns; 5,064 native events; +1,570 rank-zero wrappers; 511 lines; 1,609,650 independent pairing-rank +checks; 10,488 paths; 3,384 common-line rank flow/cut cases; 800 common-line +threshold cases; and 13 damage controls under optimized Python. The +product, full-frame, and four-state certificates also passed all their +rank and threshold cases. + +A second full replay ran from an exact exported copy under `/tmp`, with +`PATH=/nonexistent` and an unrelated working directory. It passed in +72.088 seconds. All 54 exported files remained byte-identical, and the +source package matched the export before and after the run. The receipt +is `COLD-PORTABILITY.json`; the aggregate result is `COLD-REPLAY.json`. +The final source manifest integrity check passed. More than 8 GiB of free +disk space remained. Execution used one CPU process at a time. + +Reproduce from the package directory: + +```sh +python3 -I -O -B replay.py --out /tmp/fixed-word-gauge-replay +``` + +The output directory must be new. The last output line is: + +```text +PASS_FIXED_WORD_GAUGE_LIMITS +``` + +The new package changes only source/input/output paths in the inherited +checkers, the associated source-reader hash, and output provenance paths. +The diff was inspected. Mathematical checks were retained. No fragile +workaround was introduced. + +No current selected cold replay, changed native emission, complete +recursive repricing, or hosting construction ran. This package is not a +formal verification of the full multiplication theorem. The fresh replay +and exported replay are producer checks; final independent package review +remains with the coordinator. diff --git a/research/publication-reviews/fixed-word-gauge-limits/PINNED-SOURCE-CHECK.json b/research/publication-reviews/fixed-word-gauge-limits/PINNED-SOURCE-CHECK.json new file mode 100644 index 0000000000..41d511e1e4 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/PINNED-SOURCE-CHECK.json @@ -0,0 +1,20 @@ +{ + "status": "PASS_EXACT_PINNED_ARCHIVE_MEMBERS", + "source_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "members": [ + { + "archive_member": "slots/local/CANONICAL-WORD.json.gz", + "packaged": "data/CANONICAL-WORD.json.gz", + "sha256": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "bytes": 84805 + }, + { + "archive_member": "slots/local/LOCAL-PROGRAMS.json.gz", + "packaged": "data/LOCAL-PROGRAMS.json.gz", + "sha256": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "bytes": 209318 + } + ], + "read_from_git": "." +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/POST-REPLAY-INTEGRITY.json b/research/publication-reviews/fixed-word-gauge-limits/POST-REPLAY-INTEGRITY.json new file mode 100644 index 0000000000..dfc170baba --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/POST-REPLAY-INTEGRITY.json @@ -0,0 +1,6 @@ +{ + "package_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "exact_file_set": true, + "all_54_files_equal": true, + "free_bytes": 9049354240 +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/RECEIPT-COMPARISON.json b/research/publication-reviews/fixed-word-gauge-limits/RECEIPT-COMPARISON.json new file mode 100644 index 0000000000..a533e13293 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/RECEIPT-COMPARISON.json @@ -0,0 +1,69 @@ +{ + "status": "PASS_ALL_NINE_REPLAY_RECEIPTS", + "normalization": { + "package_roots": [ + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package" + ], + "removed_resource_keys": [ + "maximum_control_child_resident_bytes", + "maximum_resident_bytes" + ] + }, + "receipts": [ + { + "file": "all-lines-pairing.json", + "byte_equal": false, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "9e00d4cf3ffabda551ca2c89af4ab03808cb5d8351b4bf43d92148aa49b30411" + }, + { + "file": "all-lines-span.json", + "byte_equal": false, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "8804d034b3525a04df578eeeb16bf08bfb3df9486d9582af1cf797ca3f199967" + }, + { + "file": "common-product-rank.json", + "byte_equal": false, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "22d2550d6b4f2f6177c1f236fc31c4f92e0594128713ea1a33b3f0ade4c198cb" + }, + { + "file": "common-rank.json", + "byte_equal": false, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "48f95a7d438a37608ee469b50ad86fc3a780d3b2b094a6bc6501a16fcbf04f77" + }, + { + "file": "common-thresholds.json", + "byte_equal": true, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636" + }, + { + "file": "four-state-thresholds.json", + "byte_equal": true, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e" + }, + { + "file": "frame415-thresholds.json", + "byte_equal": true, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7" + }, + { + "file": "negative-controls.json", + "byte_equal": true, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e" + }, + { + "file": "product-thresholds.json", + "byte_equal": true, + "all_nonresource_fields_equal_after_package_root_normalization": true, + "fresh_sha256": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c" + } + ] +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/RECEIPT-DIFFS.json b/research/publication-reviews/fixed-word-gauge-limits/RECEIPT-DIFFS.json new file mode 100644 index 0000000000..e52ba3bad6 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/RECEIPT-DIFFS.json @@ -0,0 +1,50 @@ +{ + "all-lines-pairing.json": [ + [ + ".maximum_control_child_resident_bytes", + 80936960, + 81330176 + ] + ], + "all-lines-span.json": [ + [ + ".certificate_sha256./Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/certificates/WIRE-GAUGE-LINE42-PATHS.json.gz", + "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + null + ], + [ + ".certificate_sha256./Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/certificates/WIRE-GAUGE-ODD-PATHS.json.gz", + "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + null + ], + [ + ".certificate_sha256./Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package/certificates/WIRE-GAUGE-LINE42-PATHS.json.gz", + null, + "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284" + ], + [ + ".certificate_sha256./Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package/certificates/WIRE-GAUGE-ODD-PATHS.json.gz", + null, + "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84" + ] + ], + "common-product-rank.json": [ + [ + ".maximum_resident_bytes", + 62849024, + 63160320 + ] + ], + "common-rank.json": [ + [ + ".certificate", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/packages/fixed-word-gauge-limits/certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package/certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz" + ] + ], + "common-thresholds.json": [], + "four-state-thresholds.json": [], + "frame415-thresholds.json": [], + "negative-controls.json": [], + "product-thresholds.json": [] +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/REVIEW.json b/research/publication-reviews/fixed-word-gauge-limits/REVIEW.json new file mode 100644 index 0000000000..f37fe4881c --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/REVIEW.json @@ -0,0 +1,66 @@ +{ + "blocking_findings": [], + "date": "2026-10-22", + "evidence": [ + "COMMAND.json", + "COPY.json", + "EXIT.json", + "cold-output/REPLAY.json", + "PINNED-SOURCE-CHECK.json", + "CAMPAIGN-SOURCE-CHECK.json", + "CHECKER-ADAPTATIONS.diff", + "RECEIPT-COMPARISON.json", + "RECEIPT-DIFFS.json", + "POST-REPLAY-INTEGRITY.json", + "scope_check.py", + "SCOPE-CHECK.json" + ], + "historical_source_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "not_run": [ + "selected current-construction cold replay", + "changed native circuit emission", + "complete recursive repricing", + "new mathematical search" + ], + "package_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "package_modified": false, + "proof_scope_checks": [ + "The exact boundary identity is proved for the fixed scalar access grammar. CLEAR starts a new lifetime. No maximality claim is made for other scalar schedules.", + "All 511 fixed nonzero lines permit binary component choices with one line fixed across the word. The general result is a total-rank bound. Even lines also have an edgewise rank bound.", + "The stronger concave-cost and equality-rigidity claims are restricted to the 16 common odd lines, one binary common product, and the stated four-state family.", + "The full-frame counterexample rules out a general all-concave-cost claim. Its restricted moment proof uses the stated b interval and exact integer inequalities. Backward coordinates require the conjugate gauge.", + "The arbitrary-product theorem is a local rank bound under A subset U. It does not imply a full-graph cost obstruction.", + "The path capacity, exact flow/cut equality, full branch coverage, and residual reachability arguments support the finite claims. Rank-zero wrappers are included.", + "The current selected graph is not covered. No physical supplier, full recursive repricing, or kappa improvement is claimed." + ], + "publication_base_commit": "b58ad9ef4d4e861b0eaa5dba41742bdc072dca51", + "required_changes": [], + "reviewer_agent": "remaining_results_audit", + "status": "ACCEPTED_INDEPENDENT_FIXED_WORD_GAUGE_LIMITS_REVIEW", + "validation": { + "campaign_source_pins_verified": 27, + "checker_adaptations_reviewed": 8, + "common_rank_flow_cut_cases": 3384, + "common_threshold_flow_cut_cases": 800, + "exact_checks": 9, + "exact_snapshot_file_count": 54, + "free_bytes_at_review_end": 8991268864, + "git_unavailable_during_replay": true, + "historical_archive_and_members_verified": true, + "independent_pairing_ranks": 1609650, + "independent_scope_arithmetic_status": "PASS_INDEPENDENT_SCOPE_ARITHMETIC", + "inode_disjoint_package_copy": true, + "integer_paths": 10488, + "negative_controls": 13, + "optimized_python": true, + "package_unchanged_after_replay": true, + "parallel_workers": 1, + "python": "3.14.7", + "receipt_byte_equal_count": 5, + "receipt_differences": "Four receipts differ only in package-root paths or measured memory use. The replay summary also records fresh timings and receipt hashes.", + "receipt_mathematical_equal_count": 9, + "relocated_read_only_snapshot": true, + "replay_seconds": 99.646, + "replay_status": "PASS_FIXED_WORD_GAUGE_LIMITS" + } +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/REVIEW.md b/research/publication-reviews/fixed-word-gauge-limits/REVIEW.md new file mode 100644 index 0000000000..dee25893bf --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/REVIEW.md @@ -0,0 +1,47 @@ +# Independent review: fixed-word gauge limits + +Accepted for the scope stated in the package. No blocking issue or required change was found. This review did not change the package. + +The reviewed manifest is: + +```text +82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836 +``` + +## Proof and scope + +I read the package proof, the four retained source proofs and reviews, the source metadata, and the eight adapted checkers. I checked each adaptation against its pinned campaign source. The changes concern file access, output paths, and source metadata. The mathematical checks remain in place. + +The exact boundary identity applies to the fixed scalar access grammar. ADD and COPY operands have the same gauge. CLEAR starts a new lifetime. The proof does not claim that these are all possible gauges for a different scalar schedule. Both original scalar endpoints are checked on all 712 input columns. The graph includes every native event, including the 1,570 old rank-zero wrappers. + +The result over all 511 nonzero lines fixes one line for the entire word and permits binary choices on the scalar components. It proves that total native rank cannot decrease. Each even line also has a nondecreasing rank on each native edge. It does not prove every child-moment bound for the other odd lines. + +The stronger concave-cost and equality-rigidity results have the stated smaller scope: the 16 common odd lines, the binary product `C_128 C_256`, and the four-state family. The exact flow/cut checks include every negative-cover branch. Their capacity, conservation, cut equality, and residual reachability checks prove the stated minima and rigidity. The capped-cost decomposition has nonnegative coefficients under the stated hypotheses. + +The full-frame example is retained with its correct sign. It removes one paid child and adds 48 to total rank. Thus it defeats a general claim for every increasing concave cost. The restricted moment proof uses `0 <= b <= 2/5`. Its strict bound follows from the two stated integer fifth-power inequalities. The backward frame is the conjugate `F T_415 F^-1`. + +The arbitrary common-product theorem is a local statement under `A subset U`. For a relative product, `B` has image in `A` and kills `U-perp`. The intersection formula gives rank `e-dim Fix(B|U)`. Each fixed vector is in the image of `B|A`, whose rank is at most the restricted Gram rank. This proves the lower bound `e-s`. The source has `e=8` and `s=2`, and the product `C_128 C_256` attains rank six at all eight centres. No full-graph cost result follows from this local bound. + +## Executed validation + +The independent replay used a separate copy of all 54 files. The files have separate inodes and were read-only. The command used isolated, optimized Python 3.14.7, one checker at a time, and an empty `PATH`. Git was unavailable to the replay. [COMMAND.json](COMMAND.json) records the exact command and environment. + +The replay passed in 99.646 seconds: + +```text +PASS_FIXED_WORD_GAUGE_LIMITS +``` + +The nine checks verified 1,609,650 pairing ranks, 10,488 integer paths, 3,384 common-line rank flow/cut cases, 800 common-line capped-cost cases, and 13 damage controls. The fresh output is in [cold-output/REPLAY.json](cold-output/REPLAY.json). + +Five of the nine detailed receipts match the packaged receipts byte for byte. The other four differ only in the copied package path or measured memory use. All mathematical fields agree. [RECEIPT-COMPARISON.json](RECEIPT-COMPARISON.json) states the exact normalization; [RECEIPT-DIFFS.json](RECEIPT-DIFFS.json) retains the raw differences. + +I read the historical archive from commit `bce54fb3f895cbe5cd4c0eb477c3afeed100190f`. Its hash and both compressed source members match the package. All 27 campaign source pins match. Eight checker changes were reviewed. The [independent scope check](scope_check.py) imports no package checker. It checks the two source profiles, the common intersection and Gram rank, the eight sharp rank-six descents, the full-frame cost change, and the rational moment gap. It passed. All package files remained unchanged. More than 3 GiB remained free. + +## Limits + +This is an independent agent review and exact replay of the submitted package. It is not a new mathematical search or a human review. The graph-specific claims use the historical source. They do not transfer to the changed selected construction at publication base `b58ad9ef4d4e861b0eaa5dba41742bdc072dca51` without a new source-bound proof. + +No selected current-construction cold replay, changed native circuit emission, complete recursive repricing, or supplier construction was run. The package gives no new complete kappa bound. + +The machine-readable result is [REVIEW.json](REVIEW.json). diff --git a/research/publication-reviews/fixed-word-gauge-limits/SCOPE-CHECK.json b/research/publication-reviews/fixed-word-gauge-limits/SCOPE-CHECK.json new file mode 100644 index 0000000000..7a448f8db3 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/SCOPE-CHECK.json @@ -0,0 +1,68 @@ +{ + "all_nonzero_lines": 511, + "common_gram_rank": 2, + "common_gram_rows": [ + 0, + 0, + 0, + 8, + 16 + ], + "common_odd_lines": [ + 128, + 158, + 173, + 179, + 203, + 213, + 230, + 248, + 256, + 286, + 301, + 307, + 331, + 341, + 358, + 376 + ], + "frame415_counterexample_paid_child_delta": -1, + "frame415_counterexample_rank_delta": 48, + "imports_package_checkers": false, + "odd_lines": 256, + "scope": "Arithmetic checks for existing claims. The proof review supplies the general statements.", + "sharp_centre_ranks": [ + 6, + 6, + 6, + 6, + 6, + 6, + 6, + 6 + ], + "source_native_events": 5064, + "source_profiles": { + "backward": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "forward": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + } + }, + "source_rank_mass": 5586, + "status": "PASS_INDEPENDENT_SCOPE_ARITHMETIC", + "strict_moment_gap": "47/9800" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/REPLAY.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/REPLAY.json new file mode 100644 index 0000000000..f35d563696 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/REPLAY.json @@ -0,0 +1,103 @@ +{ + "all_fixed_translation_lines": 511, + "checks": [ + { + "check": "common-rank", + "receipt": "common-rank.json", + "receipt_sha256": "48f95a7d438a37608ee469b50ad86fc3a780d3b2b094a6bc6501a16fcbf04f77", + "seconds": 40.633, + "status": "PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE" + }, + { + "check": "common-thresholds", + "receipt": "common-thresholds.json", + "receipt_sha256": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "seconds": 8.487, + "status": "PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION" + }, + { + "check": "product-thresholds", + "receipt": "product-thresholds.json", + "receipt_sha256": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "seconds": 0.8, + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "frame415-thresholds", + "receipt": "frame415-thresholds.json", + "receipt_sha256": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "seconds": 1.886, + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "four-state-thresholds", + "receipt": "four-state-thresholds.json", + "receipt_sha256": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "seconds": 3.056, + "status": "PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY" + }, + { + "check": "all-lines-span", + "receipt": "all-lines-span.json", + "receipt_sha256": "8804d034b3525a04df578eeeb16bf08bfb3df9486d9582af1cf797ca3f199967", + "seconds": 12.899, + "status": "PASS_ALL_PAIRED_WIRE_LINE_RANKS" + }, + { + "check": "all-lines-pairing", + "receipt": "all-lines-pairing.json", + "receipt_sha256": "9e00d4cf3ffabda551ca2c89af4ab03808cb5d8351b4bf43d92148aa49b30411", + "seconds": 22.935, + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION" + }, + { + "check": "common-product-rank", + "receipt": "common-product-rank.json", + "receipt_sha256": "22d2550d6b4f2f6177c1f236fc31c4f92e0594128713ea1a33b3f0ade4c198cb", + "seconds": 0.209, + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND" + }, + { + "check": "negative-controls", + "receipt": "negative-controls.json", + "receipt_sha256": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "seconds": 8.712, + "status": "PASS_GAUGE_NEGATIVE_CONTROLS" + } + ], + "common_rank_flow_cut_cases": 3384, + "common_threshold_flow_cut_cases": 800, + "frame415_counterexample": { + "objective_delta": -1, + "profile": { + "0": 1571, + "1": 2405, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 7, + "9": 7 + }, + "rank_delta": 48 + }, + "historical_source_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "independent_pairing_ranks": 1609650, + "integer_paths": 10488, + "kappa_change": "None. No new supplier or complete multiplication bound is claimed.", + "native_events": 5064, + "negative_controls": 13, + "not_run": [ + "selected current-construction cold replay", + "changed native circuit emission", + "complete recursive repricing", + "new mathematical search" + ], + "optimized_checks": true, + "parallel_workers": 1, + "platform": "macOS-26.6.1-arm64-64bit", + "python": "3.14.7", + "rank_zero_wrappers": 1570, + "seconds": 99.646, + "status": "PASS_FIXED_WORD_GAUGE_LIMITS" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.json new file mode 100644 index 0000000000..258ef54488 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.json @@ -0,0 +1,83 @@ +{ + "arbitrary_cut_proof": "For each routed demand d from u to v, d times the endpoint cut indicator is at most the sum of d times the indicators on its path. Summing all paths and using the positive capacities bounds every negative cut term. The signed cut energy is therefore nonnegative. A constant gauge attains zero.", + "backward_scope": "The two source programs give the same component partition and undirected native inventory. In backward frames D_U=T_U F^-1, the line gauges commute with F. The relative ranks therefore agree in both orientations.", + "binary_rank_proof": "The symplectic pairing has rank 9 minus the Lagrangian intersection dimension. Twisting either endpoint adds the same outer product. Twisting both endpoints leaves the pairing unchanged. Thus the price depends only on the XOR of the two gauge bits.", + "boundary_scope": "The graph keeps the original scalar program and requires one gauge at each ADD or COPY. Each old data pair has a common gauge on its four boundary points. Each helper has one gauge at its input and output. A CLEAR starts a new private lifetime. These constraints preserve the exact endpoint on arbitrary inputs.", + "distinct_native_frame_pairs": 3150, + "even_lines": 255, + "graph_components": 1979, + "independent_method": "The review rebuilds live wire partitions with register and lifetime labels. It computes rank from the 9 by 9 symplectic pairing matrix, not the producer's 18-dimensional span calculation or its rank-price formula.", + "independent_symplectic_pairing_rank_checks": 1609650, + "integer_paths": 10488, + "maximum_control_child_resident_bytes": 81330176, + "maximum_parent_resident_bytes": 84787200, + "native_events": 5064, + "native_rank_mass": 5586, + "negative_controls_under_optimized_python": [ + { + "control": "missing_path", + "exit_code": 1, + "rejected_by": "all negative demands covered exactly" + }, + { + "control": "overused_positive_capacity", + "exit_code": 1, + "rejected_by": "positive capacities" + }, + { + "control": "negative_edge_used_as_path", + "exit_code": 1, + "rejected_by": "path uses a positive source edge" + }, + { + "control": "noninteger_amount", + "exit_code": 1, + "rejected_by": "positive integer path amount" + }, + { + "control": "unpaired_boundary", + "exit_code": 1, + "rejected_by": "Boundary mode" + }, + { + "control": "native_wrapper_omission", + "exit_code": 1, + "rejected_by": "Native edge count" + }, + { + "control": "missing_line", + "exit_code": 1, + "rejected_by": "all 256 odd lines exactly once" + } + ], + "negative_demand_mass": 10488, + "not_claimed": [ + "Different gauge lines at different components", + "All Clifford palettes", + "All child costs or moments", + "An unchanged rank profile for every zero-rank cut", + "A changed scalar program or controller", + "A fully emitted changed supplier or a kappa bound" + ], + "odd_lines": 256, + "orientations": [ + "forward", + "backward" + ], + "rank_zero_wrappers": 1570, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_pins": { + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_sha256": { + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "checkers/verify_odd_paths.py": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "proofs/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb" + }, + "status": "ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.stdout.txt new file mode 100644 index 0000000000..28b492e790 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-pairing.stdout.txt @@ -0,0 +1,9 @@ +independent_pairing_ranks=1609650 odd_lines=256 even_lines=255 +rejected missing_path +rejected overused_positive_capacity +rejected negative_edge_used_as_path +rejected noninteger_amount +rejected unpaired_boundary +rejected native_wrapper_omission +rejected missing_line +ACCEPTED_INDEPENDENT_ALL_FIXED_LINE_RANK_MASS_OBSTRUCTION diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.json new file mode 100644 index 0000000000..ed5bb672f9 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.json @@ -0,0 +1,1809 @@ +{ + "both_scalar_maps_checked_on_columns": 712, + "certificate_sha256": { + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package/certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package/certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84" + }, + "even_lines": 255, + "even_native_rank_checks": 803250, + "independent_graph_reader_sha256": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "lines": [ + { + "line": 7, + "minimum_rank_delta": 0, + "negative_edges": 175, + "paths": 184, + "unused_positive_components_on_live_vertices": 233 + }, + { + "line": 11, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 13, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 14, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 39 + }, + { + "line": 19, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 21, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 22, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 25, + "minimum_rank_delta": 0, + "negative_edges": 175, + "paths": 184, + "unused_positive_components_on_live_vertices": 239 + }, + { + "line": 26, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 39 + }, + { + "line": 28, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 35, + "minimum_rank_delta": 0, + "negative_edges": 51, + "paths": 52, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 37, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 38, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 41, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 39 + }, + { + "line": 44, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 49, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 50, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 33 + }, + { + "line": 52, + "minimum_rank_delta": 0, + "negative_edges": 189, + "paths": 192, + "unused_positive_components_on_live_vertices": 256 + }, + { + "line": 56, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 67, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 69, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 70, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 73, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 74, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 76, + "minimum_rank_delta": 0, + "negative_edges": 171, + "paths": 183, + "unused_positive_components_on_live_vertices": 229 + }, + { + "line": 81, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 82, + "minimum_rank_delta": 0, + "negative_edges": 171, + "paths": 183, + "unused_positive_components_on_live_vertices": 231 + }, + { + "line": 84, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 88, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 97, + "minimum_rank_delta": 0, + "negative_edges": 185, + "paths": 191, + "unused_positive_components_on_live_vertices": 259 + }, + { + "line": 98, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 100, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 104, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 43 + }, + { + "line": 112, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 127, + "minimum_rank_delta": 0, + "negative_edges": 185, + "paths": 191, + "unused_positive_components_on_live_vertices": 253 + }, + { + "line": 131, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 133, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 134, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 137, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 138, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 30 + }, + { + "line": 140, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 145, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 146, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 148, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 152, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 161, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 162, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 164, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 168, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 176, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 191, + "minimum_rank_delta": 0, + "negative_edges": 64, + "paths": 64, + "unused_positive_components_on_live_vertices": 26 + }, + { + "line": 193, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 33 + }, + { + "line": 194, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 196, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 200, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 208, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 223, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 224, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 239, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 247, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 251, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 253, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 43 + }, + { + "line": 254, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 259, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 261, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 262, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 265, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 266, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 27 + }, + { + "line": 268, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 273, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 274, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 276, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 27 + }, + { + "line": 280, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 44 + }, + { + "line": 289, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 290, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 292, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 296, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 304, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 319, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 321, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 322, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 324, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 328, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 336, + "minimum_rank_delta": 0, + "negative_edges": 51, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 351, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 31 + }, + { + "line": 352, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 43 + }, + { + "line": 367, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 375, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 379, + "minimum_rank_delta": 0, + "negative_edges": 47, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 381, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 40 + }, + { + "line": 382, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 385, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 386, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 388, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 49 + }, + { + "line": 392, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 400, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 37 + }, + { + "line": 415, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 33 + }, + { + "line": 416, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 431, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 35 + }, + { + "line": 439, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 49 + }, + { + "line": 443, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 38 + }, + { + "line": 445, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 446, + "minimum_rank_delta": 0, + "negative_edges": 49, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 448, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 463, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 471, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 475, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 477, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 478, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 29 + }, + { + "line": 487, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 491, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 45 + }, + { + "line": 493, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 494, + "minimum_rank_delta": 0, + "negative_edges": 46, + "paths": 48, + "unused_positive_components_on_live_vertices": 42 + }, + { + "line": 499, + "minimum_rank_delta": 0, + "negative_edges": 63, + "paths": 64, + "unused_positive_components_on_live_vertices": 28 + }, + { + "line": 501, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 46 + }, + { + "line": 502, + "minimum_rank_delta": 0, + "negative_edges": 52, + "paths": 52, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 505, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 32 + }, + { + "line": 506, + "minimum_rank_delta": 0, + "negative_edges": 50, + "paths": 50, + "unused_positive_components_on_live_vertices": 34 + }, + { + "line": 508, + "minimum_rank_delta": 0, + "negative_edges": 48, + "paths": 50, + "unused_positive_components_on_live_vertices": 36 + }, + { + "line": 1, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 2, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 4, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 8, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 16, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 31, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 32, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 47, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 55, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 59, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 61, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 62, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 64, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 79, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 87, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 91, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 93, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 94, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 103, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 107, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 109, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 110, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 115, + "minimum_rank_delta": 0, + "negative_edges": 19, + "paths": 19, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 117, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 118, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 121, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 122, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 24, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 124, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 128, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 143, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 151, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 155, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 13, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 157, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 158, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 167, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 171, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 173, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 174, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 179, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 181, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 182, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 13, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 185, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 186, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 188, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 199, + "minimum_rank_delta": 0, + "negative_edges": 26, + "paths": 26, + "unused_positive_components_on_live_vertices": 12 + }, + { + "line": 203, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 205, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 206, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 211, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 213, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 214, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 217, + "minimum_rank_delta": 0, + "negative_edges": 27, + "paths": 27, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 218, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 220, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 227, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 229, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 230, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 233, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 234, + "minimum_rank_delta": 0, + "negative_edges": 26, + "paths": 26, + "unused_positive_components_on_live_vertices": 12 + }, + { + "line": 236, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 241, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 242, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 244, + "minimum_rank_delta": 0, + "negative_edges": 27, + "paths": 27, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 248, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 256, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 271, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 279, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 17, + "unused_positive_components_on_live_vertices": 18 + }, + { + "line": 283, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 285, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 286, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 295, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 299, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 301, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 302, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 307, + "minimum_rank_delta": 0, + "negative_edges": 10, + "paths": 10, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 309, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 310, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 313, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 314, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 17, + "unused_positive_components_on_live_vertices": 18 + }, + { + "line": 316, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 327, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 331, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 333, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 334, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 339, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 11 + }, + { + "line": 341, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 342, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 345, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 346, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 348, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 355, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 357, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 358, + "minimum_rank_delta": 0, + "negative_edges": 8, + "paths": 8, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 361, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 362, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 364, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 369, + "minimum_rank_delta": 0, + "negative_edges": 13, + "paths": 16, + "unused_positive_components_on_live_vertices": 19 + }, + { + "line": 370, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 372, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 376, + "minimum_rank_delta": 0, + "negative_edges": 12, + "paths": 12, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 391, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 115 + }, + { + "line": 395, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 397, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 398, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 403, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 405, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 406, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 409, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 118 + }, + { + "line": 410, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 412, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 419, + "minimum_rank_delta": 0, + "negative_edges": 21, + "paths": 21, + "unused_positive_components_on_live_vertices": 6 + }, + { + "line": 421, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 422, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 425, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 426, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 115 + }, + { + "line": 428, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 433, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 434, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 436, + "minimum_rank_delta": 0, + "negative_edges": 125, + "paths": 134, + "unused_positive_components_on_live_vertices": 117 + }, + { + "line": 440, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 451, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 453, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 7 + }, + { + "line": 454, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 457, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 458, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 460, + "minimum_rank_delta": 0, + "negative_edges": 164, + "paths": 176, + "unused_positive_components_on_live_vertices": 157 + }, + { + "line": 465, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 466, + "minimum_rank_delta": 0, + "negative_edges": 212, + "paths": 224, + "unused_positive_components_on_live_vertices": 194 + }, + { + "line": 468, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 472, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 5 + }, + { + "line": 481, + "minimum_rank_delta": 0, + "negative_edges": 164, + "paths": 176, + "unused_positive_components_on_live_vertices": 155 + }, + { + "line": 482, + "minimum_rank_delta": 0, + "negative_edges": 14, + "paths": 14, + "unused_positive_components_on_live_vertices": 9 + }, + { + "line": 484, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 17 + }, + { + "line": 488, + "minimum_rank_delta": 0, + "negative_edges": 20, + "paths": 20, + "unused_positive_components_on_live_vertices": 7 + }, + { + "line": 496, + "minimum_rank_delta": 0, + "negative_edges": 15, + "paths": 18, + "unused_positive_components_on_live_vertices": 15 + }, + { + "line": 511, + "minimum_rank_delta": 0, + "negative_edges": 0, + "paths": 0, + "unused_positive_components_on_live_vertices": 1 + }, + { + "line": 42, + "minimum_rank_delta": 0, + "negative_edges": 161, + "paths": 176, + "unused_positive_components_on_live_vertices": 205 + } + ], + "native_rank_checks": 806400, + "odd_lines": 256, + "scope": "All 511 nonzero fixed-line gauges on the paired graph have minimum total rank change zero. Even lines never decrease a native edge rank. No general claim about all odd-line zero cuts or other cost functions.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_ALL_PAIRED_WIRE_LINE_RANKS" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.stdout.txt new file mode 100644 index 0000000000..70e7350432 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/all-lines-span.stdout.txt @@ -0,0 +1,9 @@ +checked 32 rank checks 100800 seconds 1.0 +checked 64 rank checks 201600 seconds 1.8 +checked 96 rank checks 302400 seconds 2.6 +checked 128 rank checks 403200 seconds 3.3 +checked 160 rank checks 504000 seconds 4.1 +checked 192 rank checks 604800 seconds 4.8 +checked 224 rank checks 705600 seconds 5.6 +checked 256 rank checks 806400 seconds 6.6 +PASS_ALL_PAIRED_WIRE_LINE_RANKS lines 256 native rank checks 806400 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.json new file mode 100644 index 0000000000..0780417a00 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.json @@ -0,0 +1,87 @@ +{ + "common_basis": [ + 30, + 45, + 75, + 128, + 256 + ], + "common_gram_rank": 2, + "common_gram_rows": [ + 0, + 0, + 0, + 8, + 16 + ], + "maximum_resident_bytes": 63160320, + "not_claimed": [ + "A bound for lines outside A", + "No complete-cost gain", + "All Clifford gauges", + "A changed native supplier replay or a kappa bound" + ], + "proof_review": [ + "Every product and inverse has symplectic action S_B(x,z)=(x+Bz,z), where B is a sum of aa^T with a in A. Thus im(B) is in A and B kills U-perp.", + "The intersection of L_U and S_B L_0 is parametrized by w in U-perp and u in Fix(B|U), with z=w+u. The parametrization is injective: a fixed vector in U-perp must be zero.", + "The intersection dimension is n-dim(U)+dim Fix(B|U). Hence the exact native rank is dim(U)-dim Fix(B|U).", + "Each fixed vector is in A and in the image of B|A. The map B|A factors through the restricted dot product on A, whose rank is s. The fixed space has dimension at most s, so native rank is at least dim(U)-s.", + "Applying the same symplectic gauge to both labels reduces two arbitrary endpoint products to their relative product. Native rank depends only on these labels, so phases do not change this rank bound." + ], + "scope": "A local native-rank bound for products of translation-line gauges from one fixed common subspace A. This does not price the complete scalar graph, all child moments, or a supplier.", + "sharp_gauge": "C_128 C_256", + "sharp_ranks": [ + { + "frame": 415, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 416, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 417, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 418, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 419, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 420, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 421, + "new_rank": 6, + "old_rank": 8 + }, + { + "frame": 422, + "new_rank": 6, + "old_rank": 8 + } + ], + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_pins": { + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_sha256": { + "checkers/check_common_product_rank.py": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "proofs/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599" + }, + "status": "ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.stdout.txt new file mode 100644 index 0000000000..6fbb0af037 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-product-rank.stdout.txt @@ -0,0 +1,2 @@ +ACCEPTED_COMMON_PRODUCT_CENTRE_RANK_BOUND +common_dimension=5 gram_rank=2 centre_ranks=6,6,6,6,6,6,6,6 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.json new file mode 100644 index 0000000000..d89e07900e --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.json @@ -0,0 +1,343 @@ +{ + "all_common_odd_lines_reviewed": true, + "certificate": "/Users/aliromman/Projects/IntegerMultiplicationBounds/work/centre-encoding-campaign-20261014/publication-wrap-20261022/reviews/fixed-word-gauge-limits/cold/package/certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz", + "certificate_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "common_odd_centre_lines": [ + 128, + 158, + 173, + 179, + 203, + 213, + 230, + 248, + 256, + 286, + 301, + 307, + 331, + 341, + 358, + 376 + ], + "components": 1979, + "direct_binary_rank_checks": 151200, + "fixed_external_components": 0, + "forward_backward_gauge_graph_isomorphism": true, + "isolated_final_zero_components": 8, + "lines": [ + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 128, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 158, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 173, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 179, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 203, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 213, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 230, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 248, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 256, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 286, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 301, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 144, + "line": 307, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 331, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 341, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 36, + "line": 358, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + }, + { + "all_zero_cost_cuts_constant_on_native_components": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ], + "certified_cases": 576, + "line": 376, + "minimum_if_any_centre_traversal_changes": 13, + "minimum_rank_delta": 0 + } + ], + "native_event_kinds": { + "adapter": 1090, + "center": 8, + "climb": 3486, + "residual_adapter": 480 + }, + "native_events": 5064, + "native_rank_scope": "Exact binary ranks. The symbolic boundary identity includes phases; no changed native recipe is admitted.", + "not_checked": [ + "a changed native lowering", + "whole-call hosting", + "complete recursive moment", + "selected cold replay" + ], + "original_scalar_endpoint_columns": 712, + "original_scalar_orientations": 2, + "proof_scope": "A common odd line, two gauge values I and C_a, the old scalar schedule, and actual wire segments with paired boundary gauges.", + "raw_segments": 5784, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_member_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "status": "PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE", + "total_flow_cut_cases": 3384 +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.stdout.txt new file mode 100644 index 0000000000..e239bd03d3 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-rank.stdout.txt @@ -0,0 +1,2 @@ +PASS_INDEPENDENT_BOUNDARY_PAIRED_WIRE_GAUGE_CERTIFICATE +lines=16 flow_cut_cases=3384 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.json new file mode 100644 index 0000000000..6e527e200a --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.json @@ -0,0 +1,732 @@ +{ + "certificate_sha256": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "conclusion": "Every common odd-line binary gauge has nonnegative delta for every increasing concave function f of native rank with f(0)=0.", + "forward_backward_gauge_graph_isomorphism": true, + "lines": [ + { + "line": 128, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 158, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 173, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 179, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 203, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 213, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 230, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 248, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 256, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 286, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 301, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 307, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 4, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 16, + "minimum_delta": 0 + } + ] + }, + { + "line": 331, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 341, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + }, + { + "line": 358, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 4, + "minimum_delta": 0 + } + ] + }, + { + "line": 376, + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 2, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 3, + "flow_cut_cases": 1, + "minimum_delta": 0 + }, + { + "cap": 4, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 5, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 6, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 7, + "flow_cut_cases": 16, + "minimum_delta": 0 + }, + { + "cap": 8, + "flow_cut_cases": 64, + "minimum_delta": 0 + } + ] + } + ], + "recurrence_scope": "This includes sum r^(1-b) for 0<=b<1 and the count of positive-rank children at b=1. It excludes changed scalar schedules and other gauge families.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_certificate_sha256": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "status": "PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION", + "total_flow_cut_cases": 800 +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.stdout.txt new file mode 100644 index 0000000000..a17e323084 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/common-thresholds.stdout.txt @@ -0,0 +1,2 @@ +PASS_INCREASING_CONCAVE_RANK_COST_OBSTRUCTION +lines=16 threshold_flow_cut_cases=800 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.json new file mode 100644 index 0000000000..979073d207 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.json @@ -0,0 +1,97 @@ +{ + "certificate_sha256": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "equality_case": "Both bits are constant on all 1971 native-edge components; only eight isolated final zero components are free.", + "forward_backward_gauge_graph_isomorphism": true, + "gauges": [ + "I", + "C_128", + "C_256", + "C_128 C_256" + ], + "lower_graphs": [ + { + "flow_cut_cases": 4, + "minimum": 0, + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] + }, + { + "flow_cut_cases": 16, + "minimum": 0, + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] + } + ], + "maximum_total_negative_rank_mass": 18, + "not_used": "The exploratory solver status, solver lower bound, and saved state were not used as proof.", + "rank_lower_bound": 0, + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "cap": 1, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 2, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 3, + "flow_cut_cases": 2, + "minimum": 0 + }, + { + "cap": 4, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 5, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 6, + "flow_cut_cases": 5, + "minimum": 0 + }, + { + "cap": 7, + "flow_cut_cases": 20, + "minimum": 0 + }, + { + "cap": 8, + "flow_cut_cases": 20, + "minimum": 0 + }, + { + "cap": 9, + "flow_cut_cases": 20, + "minimum": 0 + } + ] +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.stdout.txt new file mode 100644 index 0000000000..51e6ae5145 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/four-state-thresholds.stdout.txt @@ -0,0 +1 @@ +PASS_FOUR_STATE_GAUGE_RANK_AND_RIGIDITY cases=20 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.json new file mode 100644 index 0000000000..fe2f6d18aa --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.json @@ -0,0 +1,225 @@ +{ + "all_flow_cut_cases": 16, + "backward_gauge": { + "conjugated_by_full_frame": { + "basis": [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + "frame": 415 + } + }, + "certificate_sha256": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "exact_native_rank_pairs": 3150, + "forward_backward_gauge_graph_isomorphism": true, + "gauge": { + "basis": [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + "frame": 415 + }, + "maximum_total_negative_rank_mass": 54, + "minimum_rank_delta": 0, + "moment_obstruction": { + "lower_bound_for_every_changed_native_cut": "47/9800 (strict)", + "proof": "The threshold cone gives delta >= 2*(9^(1-b)-8^(1-b))-(2-2^(1-b)); the exact fifth-power bounds give >47/9800.", + "rank_zero_cuts": "All native gauges are constant, so the child profile is unchanged.", + "saving_parameter_range": [ + "0", + "2/5" + ] + }, + "scope": "Binary gauges I,G on actual segments, with the old scalar schedule and paired endpoints. No changed native lowering is admitted.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "best": { + "objective_delta": -1, + "profile": { + "0": 1571, + "1": 2405, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 7, + "9": 7 + }, + "rank_delta": 48 + }, + "cap": 1, + "cases": 2, + "minimum": -1 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 2, + "cases": 2, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 3, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 4, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 5, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 6, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 7, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 8, + "cases": 16, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 9, + "cases": 16, + "minimum": 0 + } + ], + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.stdout.txt new file mode 100644 index 0000000000..22cc182501 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/frame415-thresholds.stdout.txt @@ -0,0 +1 @@ +PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY cases=16 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.json new file mode 100644 index 0000000000..da1e4db1f3 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.json @@ -0,0 +1,29 @@ +{ + "controls": [ + { + "control": "Changed final scalar coefficient", + "rejected_by": "The original scalar endpoint is not the stated dirty shear" + }, + { + "control": "Omitted rank-zero wrapper", + "rejected_by": "Native edge count" + }, + { + "control": "Flow exceeds capacity", + "rejected_by": "Flow capacity" + }, + { + "control": "False objective", + "rejected_by": "Exact objective" + }, + { + "control": "Cut violates its branch", + "rejected_by": "Cut violates a fixed bit" + }, + { + "control": "Omitted forced-centre branch", + "rejected_by": "The exhaustive branch list is incomplete" + } + ], + "status": "PASS_GAUGE_NEGATIVE_CONTROLS" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.stdout.txt new file mode 100644 index 0000000000..325fffb354 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/negative-controls.stdout.txt @@ -0,0 +1 @@ +PASS_GAUGE_NEGATIVE_CONTROLS controls=6 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.json b/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.json new file mode 100644 index 0000000000..08bf5a6ae9 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.json @@ -0,0 +1,199 @@ +{ + "all_flow_cut_cases": 4, + "backward_gauge": { + "product_lines": [ + 128, + 256 + ] + }, + "certificate_sha256": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "exact_native_rank_pairs": 3150, + "forward_backward_gauge_graph_isomorphism": true, + "gauge": { + "product_lines": [ + 128, + 256 + ] + }, + "maximum_total_negative_rank_mass": 16, + "minimum_rank_delta": 0, + "scope": "Binary gauges I,G on actual segments, with the old scalar schedule and paired endpoints. No changed native lowering is admitted.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY", + "thresholds": [ + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 1, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 2, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 3, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 4, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 5, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 6, + "cases": 1, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 7, + "cases": 4, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 8, + "cases": 4, + "minimum": 0 + }, + { + "best": { + "objective_delta": 0, + "profile": { + "0": 1570, + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + }, + "rank_delta": 0 + }, + "cap": 9, + "cases": 4, + "minimum": 0 + } + ], + "zero_cut_rigidity": [ + { + "common_native_bit": 0, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + }, + { + "common_native_bit": 1, + "forced_native_components": 1971, + "free_isolated_zero_components": 8 + } + ] +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.stdout.txt new file mode 100644 index 0000000000..35dad15f7b --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/cold-output/product-thresholds.stdout.txt @@ -0,0 +1 @@ +PASS_COMPOUND_GAUGE_RANK_AND_RIGIDITY cases=4 diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/COLD-REPLAY-CHECKS.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/COLD-REPLAY-CHECKS.json new file mode 100644 index 0000000000..5b3d0fa641 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/COLD-REPLAY-CHECKS.json @@ -0,0 +1,97 @@ +{ + "cold_files_equal_frozen_package": true, + "cold_root": "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp", + "commands": [ + { + "command": [ + "/opt/homebrew/opt/python@3.14/bin/python3.14", + "-I", + "-O", + "-B", + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/fixed-word-gauge-limits/replay.py", + "--integrity-only" + ], + "exit_code": 0, + "label": "parent_integrity", + "seconds": 0.129057, + "stderr": "", + "stdout": "PASS_FIXED_WORD_GAUGE_PACKAGE_INTEGRITY\n" + }, + { + "command": [ + "/opt/homebrew/opt/python@3.14/bin/python3.14", + "-I", + "-O", + "-B", + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/fixed-word-gauge-limits/annex/geodesic-boundary/replay.py", + "--out", + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/cold-replay" + ], + "exit_code": 0, + "label": "annex", + "seconds": 6.134524, + "stderr": "", + "stdout": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE\nACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION\nPASS_GEODESIC_BOUNDARY_ANNEX\n" + } + ], + "environment_overrides": { + "MKL_NUM_THREADS": "1", + "NUMEXPR_NUM_THREADS": "1", + "OMP_NUM_THREADS": "1", + "OPENBLAS_NUM_THREADS": "1", + "PATH": "/no-external-tools", + "VECLIB_MAXIMUM_THREADS": "1" + }, + "free_bytes_after": 9863696384, + "free_bytes_before": 9876545536, + "python": "/opt/homebrew/opt/python@3.14/bin/python3.14", + "replay": { + "annex_manifest_sha256": "3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff", + "application_scope": "Retained productive paths and scalar access, common I/full-F productive endpoints, identity joint content; inherited one-shot mode and whole-owner invoice", + "checks": [ + { + "all_other_typed_json_fields_equal": true, + "check": "producer", + "declared_metadata_changes": [ + "reader_sha256: pinned portable parent reader" + ], + "receipt": "GEODESIC-CHECKS.json", + "receipt_sha256": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "seconds": 2.234603, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" + }, + { + "all_other_typed_json_fields_equal": true, + "check": "independent", + "declared_metadata_changes": [ + "reviewed_files_sha256: actual paths and executed checker hashes", + "maximum_resident_bytes: runtime metadata", + "review_update: retained only in the frozen historical review" + ], + "receipt": "GEODESIC-REVIEW.json", + "receipt_sha256": "9fa84dfe8854e10593548b25e594e909465da0583161ac473d13a44dfc50dfe4", + "seconds": 3.752396, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" + } + ], + "complete_kappa_improvement": false, + "frozen_source_files": 28, + "historical_source": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "not_rerun": [ + "Primary fixed-word package's mathematical checks", + "Global native emitter", + "One-shot mode native admission", + "Whole-owner hosting review", + "Current selected PR4470 replay", + "Scalar/address or recursive repricing" + ], + "optimized": true, + "parallel_workers": 1, + "parent_files_unchanged": 54, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]", + "status": "PASS_GEODESIC_BOUNDARY_ANNEX" + }, + "status": "PASS_RELOCATED_OPTIMIZED_GEODESIC_ANNEX", + "working_directory": "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/unrelated-working-directory" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/PR-DESCRIPTION-CHECK.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/PR-DESCRIPTION-CHECK.json new file mode 100644 index 0000000000..377437bcec --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/PR-DESCRIPTION-CHECK.json @@ -0,0 +1,78 @@ +{ + "annex_manifest_sha256": "3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff", + "body_bytes": 4407, + "body_sha256": "6bb4c44888a94c1f748227ee749d0d5c18eb0fd6788aa13fcb4b34dce44e94de", + "body_words": 460, + "checks": [ + "Exact path and common-boundary class", + "Identity joint-content and inherited mode/owner assumptions", + "Sharp rank invoice, global average, and literal per-replica normalizers", + "Nonnegative exponent domain on general fusion bound", + "No supplier exponent or complete kappa improvement", + "Portable command, prerequisites, expected PASS, executed controls, and omitted checks", + "Historical and current base kept distinct", + "Prior theorem and notices credited; AI and separate-agent review disclosed", + "Complete UTF-8 draft and literal command fenced", + "Final scope reviewed against exact frozen proof and fresh cold receipts" + ], + "historical_source_links": [ + { + "label": "Section C.2, Theorem N", + "line_anchor_checked": "L392-L438", + "sha256": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e", + "url": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md#L392-L438" + } + ], + "not_run": [ + "Commit placeholder replacement and GitHub file-object check", + "GitHub rendering of final description", + "Published body and rendered HTML readback" + ], + "pr_links": [ + { + "label": "PR #4470", + "status": "Current-base context; final GitHub endpoint check remains with publisher", + "url": "https://github.com/CrocSwap/integer-mult-bounds/pull/4470" + } + ], + "prospective_commit_links": [ + { + "label": "common-boundary geodesic annex", + "local_sha256": "3677547e252f768ca16d0cc0e1ece0b0fc66bb9d378ffef0ff7ce5e3ff417622", + "publication_path": "research/fixed-word-gauge-limits/annex/geodesic-boundary/README.md", + "url": "https://github.com/aliromman/integer-mult-bounds/blob/COMMIT/research/fixed-word-gauge-limits/annex/geodesic-boundary/README.md" + }, + { + "label": "path theorem", + "local_sha256": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "publication_path": "research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md", + "url": "https://github.com/aliromman/integer-mult-bounds/blob/COMMIT/research/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md" + }, + { + "label": "annex source manifest", + "local_sha256": "4bc61753836fe8481e671cc0646cd3934fdf5e31d201e0b56c1a0053846b29a5", + "publication_path": "research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCES.json", + "url": "https://github.com/aliromman/integer-mult-bounds/blob/COMMIT/research/fixed-word-gauge-limits/annex/geodesic-boundary/SOURCES.json" + }, + { + "label": "validation", + "local_sha256": "36e11ec021fd89c754bdb1faf6eb02e49979b3820220c4f4faf5e171925a85bd", + "publication_path": "research/fixed-word-gauge-limits/annex/geodesic-boundary/VALIDATION.json", + "url": "https://github.com/aliromman/integer-mult-bounds/blob/COMMIT/research/fixed-word-gauge-limits/annex/geodesic-boundary/VALIDATION.json" + }, + { + "label": "independent annex review", + "local_sha256": "981a5dac47a947683b9826d8969e74e0ae91a2e389c18a4ebdd6feddee301778", + "publication_path": "research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.md", + "url": "https://github.com/aliromman/integer-mult-bounds/blob/COMMIT/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.md" + }, + { + "label": "notice and full prior credit", + "local_sha256": "d16991367957b1de0cb3c9d4b61667482c3d4985903f15846051c65812c81611", + "publication_path": "research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/NOTICE.md", + "url": "https://github.com/aliromman/integer-mult-bounds/blob/COMMIT/research/fixed-word-gauge-limits/annex/geodesic-boundary/sources/research/format-limits-corrected/NOTICE.md" + } + ], + "publication_status": "Template accepted for root publication; COMMIT is intentionally unresolved", + "status": "ACCEPTED_FINAL_GEODESIC_BODY_TEMPLATE" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/PRIMARY-HISTORY-PINS.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/PRIMARY-HISTORY-PINS.json new file mode 100644 index 0000000000..a6be52af4e --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/PRIMARY-HISTORY-PINS.json @@ -0,0 +1,21 @@ +{ + "primary_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "primary_review_files": [ + { + "bytes": 4740, + "path": "REVIEW.md", + "sha256": "1923faa85099c1a791bef4ba39db1374e8f31595fe20d7acb3a63421636bec2d" + }, + { + "bytes": 3281, + "path": "REVIEW.json", + "sha256": "753d3b42db7a2dce788608f3bb0b61b295e0262eb21b509512b40a3bfa10d251" + }, + { + "bytes": 4617, + "path": "HANDOFF.md", + "sha256": "82437230e3424d9b08fd869dd1f6e3130dbd454cd87fca51318bba4d94fa233d" + } + ], + "scope": "Record accepted primary artifacts before the separate geodesic annex review. The annex review must not edit these artifacts." +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.json new file mode 100644 index 0000000000..d2e4af28ed --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.json @@ -0,0 +1,133 @@ +{ + "annex_bytes": 2563890, + "annex_files": 46, + "annex_manifest_sha256": "3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff", + "archive_bytes": 19299540, + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "body_template_sha256": "6bb4c44888a94c1f748227ee749d0d5c18eb0fd6788aa13fcb4b34dce44e94de", + "class": [ + "Retained productive lifetime paths and fixed legal scalar access", + "Arbitrary Clifford gauges and exact adjacent fusion", + "Every native event priced, including old rank-zero events", + "No free productive reset, CLEAR, or lifetime transfer into zero workspace", + "Common I/full-F productive endpoints and identity joint content" + ], + "cold_replay": { + "all_other_typed_json_fields_equal": true, + "annex_seconds": 6.134524, + "external_tool_lookup_disabled": true, + "final_status": "PASS_GEODESIC_BOUNDARY_ANNEX", + "optimized": true, + "parallel_workers": 1, + "parent_integrity_passed": true, + "python": "/opt/homebrew/opt/python@3.14/bin/python3.14", + "status": "PASS_RELOCATED_OPTIMIZED_GEODESIC_ANNEX", + "two_checks_passed": true, + "whole_relocated_package_unchanged": true + }, + "complete_kappa_improvement": false, + "current_frontier_transfer_proved": false, + "damage_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "evidence_sha256": { + "COLD-REPLAY-CHECKS.json": "66a888fa62e57f104c473a282721ffd34cf301c5f3b0eff1adc33b06e4e2f37d", + "PR-DESCRIPTION-CHECK.json": "d20e7c7ecefbfa0f0440c9c5272646959a0f3eeee1821c420237459e9afbfb03", + "PRIMARY-HISTORY-PINS.json": "bb315af41f15e6a66e3fb75346c5614470f5170a5b2d4fff15a6a04cd606321f", + "REVIEW.md": "981a5dac47a947683b9826d8969e74e0ae91a2e389c18a4ebdd6feddee301778", + "SOURCE-AND-DEPENDENCY-CHECKS.json": "bda727176a0cbdf93fe22fabec4b8b7aa34418eadd295a20af6e06adda04898c", + "TYPED-RECEIPT-AND-INVOICE-CHECKS.json": "2444cf8d5d94660dcabe8574cb9051278cfdacb5dbe576467d63e6ea5819932f", + "annex.stderr.txt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "annex.stdout.txt": "c8a07338a7c9c569fb3a9755b093ed824b45d18b08771016eaf1fae7dec9488e", + "check_annex_sources.py": "24995100165145695761ae234fd37f0073b0fd678b976dbc0fa590a4187ba525", + "cold-replay/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "cold-replay/GEODESIC-REVIEW.json": "9fa84dfe8854e10593548b25e594e909465da0583161ac473d13a44dfc50dfe4", + "cold-replay/REPLAY.json": "c7f5f5f74b1244be65ddc57fa035d7544c9f6bc25b91495237e1a50842ffee98", + "cold-replay/independent.stderr.txt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "cold-replay/independent.stdout.txt": "88da5348a9f468f17b5b708a0dc0c47be6e529b845cd873c2155d7a415d6120d", + "cold-replay/producer.stderr.txt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "cold-replay/producer.stdout.txt": "720cefe947e2226f17075ea4b55d0b1717f51b7f0f46ce087b1007a325f0ee6b", + "parent_integrity.stderr.txt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "parent_integrity.stdout.txt": "f404f381069e64ac96f5cd8ec7e59193c8bd47102e85a515e9d56dcb83ce5efe" + }, + "exact_original_sources": 28, + "findings": [], + "global_application_inherited_premises": [ + "Exact mode phases and full-F monomial access from the separate interface reviews", + "The whole-owner hosting and backfill invoice", + "The original selected supplier's native lowering" + ], + "global_invoice": { + "N": 15488, + "added_rank": 14336, + "average_per_replica": "896", + "before_boundary_rank_mass": 1116288, + "general_fusion_argument": "For b >= 0 and 0 < r <= 73, each factor (73/r)^b is at least 1. The path theorem gives rank mass at least 73N.", + "literal_per_replica": 896, + "moment_at_one": "263779/7744", + "moment_at_zero": "1", + "normalized_rank_mass": 1130624, + "strict_positive_exponent_argument": "Every retained literal child satisfies 0 < r < 73, so (73/r)^b > 1 for b > 0. The rank mass is 73N." + }, + "local_normalized_endpoint_sum": 5746, + "local_paid_climbs": 3486, + "local_persistent_paths": 704, + "local_rank_mass": 5522, + "local_rank_zero_events": 1570, + "local_words": 4, + "not_rerun": [ + "Primary fixed-word package's mathematical checks", + "Global native emitter", + "One-shot mode native admission", + "Whole-owner hosting review", + "Current selected PR4470 replay", + "Scalar/address or recursive repricing" + ], + "parent_files_unchanged": 54, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "parent_reader_mathematics_unchanged_after_source_io_edits": true, + "portable_checker_mathematical_asts_unchanged": true, + "prior_review_history_files_unchanged": 3, + "proof_review": [ + "Correct relative operator order and monomial invariance", + "Lagrangian intersection triangle inequality and complete path charging", + "Allowed tensor scaling and whole-cover averaging without equal payloads", + "Backward common right gauge is distinct from physical global boundary", + "Native macro and real-arithmetic scratch scopes separated", + "Sharp global rank invoice and average-versus-literal per-replica distinction", + "Positive exponent strict inequality for rank-48 literal profile; nonnegative exponent bound for admitted rank-at-most-73 fusions" + ], + "publication_remaining": [ + "Commit placeholder replacement and GitHub file-object check", + "GitHub rendering of final description", + "Published body and rendered HTML readback" + ], + "result": "Sharp conditional rank bound 1130624 for the stated one-shot common-boundary route", + "review_type": "Fresh separate agent proof, dependency, claim, and cold replay review; no human review", + "small_clifford_control": { + "distinct_Lagrangians": 15, + "left_monomial_checks": 34560, + "metric_triples": 3375, + "ordered_frame_pairs": 518400, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality.", + "symplectic_frames": 720, + "wrong_relative_order_rejected": true + }, + "source_frames": 1004, + "source_kinds": { + "campaign": 23, + "git": 5 + }, + "status": "ACCEPTED_INDEPENDENT_GEODESIC_ANNEX_PUBLICATION_REVIEW" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.md b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.md new file mode 100644 index 0000000000..17ec01431f --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/REVIEW.md @@ -0,0 +1,178 @@ +# Separate publication review of the common-boundary geodesic annex + +**Accepted within the stated path and boundary class.** No material proof, +dependency, or replay finding remains. This review applies to annex manifest +`3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff`. +It is a fresh, separate agent review. It is not human peer review. + +The parent manifest remains +`82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836`. +All 54 parent files and the three accepted parent review and handoff files +are unchanged. This review does not replace or revise that review history. + +## Accepted claim + +The written Lagrangian proof gives +`rho(U T^-1) = d(L(T), L(U))`, where `L(T)=S(T)^-1 Z` and +`d(L,K)=n-dim(L intersect K)`. The relative operator order is correct. +The intersection inequality in the middle space gives the triangle +inequality. A left monomial Clifford preserves Z. A common right gauge +applies one invertible symplectic map to both endpoint spaces. These facts +give the rank lower bound for each retained productive path. + +The theorem permits arbitrary Clifford frame gauges and exact adjacent +native fusion. It retains productive lifetime paths, legal common-frame +scalar accesses, and the stated boundary frames. It prices each native +event once, including events that had rank zero. It permits no free +productive CLEAR, frame reset, or lifetime transfer into private zero +workspace. It gives no free native operator-valued scalar coefficient. + +If N productive paths start at I and end at full F in binary dimension n, +up to left monomial wrappers, their rank sum is at least `n N`. The tensor +argument scales both dimensions and native ranks by the allowed tensor +power. Cover permutations transport path labels. The proof sums over the +whole cover before division by its size. It does not equate independent +payload values in different cover classes or grant shared native children +across productive paths. + +The global application also assumes the identity joint content endpoint. +It is a distinct class from the primary package's original virtual-Q +boundaries and 511-line translation gauges. The original virtual-Q +supplier does not satisfy the new common-I/full-F premise. The annex is +therefore not an extension of the original-boundary result to all +Clifford gauges, or a general circuit or encoding lower bound. + +## Exact local and conditional global results + +All four emitted local words have 704 persistent paths and 3,486 paid +nested upward steps. Each has rank mass 5,522, equal to the sum of its +path endpoint distances. The inventory keeps all 1,570 rank-zero events. +The 112 X inputs and 112 Y outputs each gain one endpoint rank under the +stated local normalization, so the endpoint sum becomes 5,746. The scalar +access checks prevent direct fusion of these boundary corrections with +the nearest paid climbs. The backward chart uses one common right factor; +its local labels do not impose a second physical boundary premise. + +The global application uses the inherited one-shot mode endpoint, full-F +monomial content inverse, and complete owner and backfill invoice. The +review read the content proof, native-mode review, and hosting review, and +checked their inclusion and exact pins. It did not rerun native admission +or the complete owner allocation. Under these premises, the invoice is: + +| Quantity | Value | +|---|---:| +| Productive families | `14336 + 1152 = 15488` | +| Rank before normalization | `1041408 - 8*1152 + 73*1152 = 1116288` | +| Common-boundary rank lower bound | `73*15488 = 1130624` | +| Required added rank | `14336` | +| Average added rank over 16 replicas | `896` | +| Literal added rank on each replica | `2*4*112 = 896` | + +The distinction between the average lower bound and the literal +per-replica construction is retained. The argument does not assign the +shared owner costs independently to each replica. The literal +normalizers attain the conditional rank bound. + +The literal normalized profile has total rank 1,130,624 and all positive +child ranks at most 48, below ambient rank 73. Its normalized moment is +one at exponent zero and greater than one for every positive exponent. +For any admitted fixed-path fusion with child ranks at most 73, the +moment is at least one for each nonnegative exponent. This follows from +`(73/r)^b >= 1` and the complete rank bound. This route gives no positive +supplier exponent and no complete kappa improvement. The annex makes no +claim of transfer to selected +[PR #4470](https://github.com/CrocSwap/integer-mult-bounds/pull/4470) at publication base +`b58ad9ef4d4e861b0eaa5dba41742bdc072dca51`. + +## Source and portability checks + +[SOURCE-AND-DEPENDENCY-CHECKS.json](SOURCE-AND-DEPENDENCY-CHECKS.json) +records the complete annex inventory: 45 listed files plus the manifest, +with 2,563,890 bytes in total. All 28 frozen sources match their originals: +23 campaign files and five historical Git objects. The full 19,299,540-byte +selected archive at `bce54fb3f895cbe5cd4c0eb477c3afeed100190f` has the +expected SHA-256. Both consumed compressed members occur once as regular +archive members and exactly match the parent package files. + +The two portable checkers preserve every mathematical function AST. +The source-loading and main-function changes were read in full. They +change paths, source reads, output arguments, and corresponding provenance +metadata. They do not change mathematics. The parent reader has equal +ASTs for all 14 functions other than source loading after removal of its +repository argument and that argument's use in the source call. The new +README's 19 local links resolve. Exact prior credit, notice, and license +files remain present. The prior canonical-subspace triangle argument is +credited to Section C.2, Theorem N of the historical source, which credits +DreamingOfClouds with Claude Opus 5.5 assistance. No account identity was +inferred. + +The independent source check can be repeated with +[check_annex_sources.py](check_annex_sources.py). It uses the original +workspace and local Git objects. Those inputs are needed for this source +audit, but not for the published portable mathematical replay. + +## Executed checks + +The full parent package, including the annex, was copied to a new +directory under `/private/tmp`. The working directory was a separate +empty directory. External tool lookup was disabled with +`PATH=/no-external-tools`. Numerical thread counts were one. The +interpreter was `/opt/homebrew/opt/python@3.14/bin/python3.14`, version +3.14.7. More than 3 GiB of free disk space remained. + +The parent integrity check passed. The two annex checks then passed under +`-I -O -B` in 6.135 seconds. The final status was +`PASS_GEODESIC_BOUNDARY_ANNEX`. The actual commands, logs, and receipts are +in [COLD-REPLAY-CHECKS.json](COLD-REPLAY-CHECKS.json) and +[cold-replay/REPLAY.json](cold-replay/REPLAY.json). The entire relocated +package remained byte-identical to the frozen package. + +The independent checker rebuilt all 1,004 source Lagrangians by Gaussian +nullspaces and used symplectic pairing ranks. The complete two-bit +control covered 720 symplectic frames, 518,400 ordered frame pairs, 3,375 +metric triples, and 34,560 left monomial checks. The three damaged inputs +were rejected: wrong native rank, productive-array CLEAR, and unequal +scalar frames. The separate wrong-relative-order control also passed. +These are the annex controls, separate from the primary package controls. + +[TYPED-RECEIPT-AND-INVOICE-CHECKS.json](TYPED-RECEIPT-AND-INVOICE-CHECKS.json) +records an additional direct comparison of both fresh receipts with the +frozen receipts. All typed fields match after the declared provenance +changes: the portable reader hash; actual reviewed paths and hashes; +runtime memory; and omission of the historical review-update note from +the new review receipt. It also records direct integer and rational +invoice checks. The measured independent-checker peak memory was +121,110,528 bytes. Finite group checks support the implementation; the +general-dimensional result rests on the written proof. + +Use Python 3.10 or later with its standard library. Retain the annex's +location inside the parent package. From a published repository root, +with a new external output directory, run: + +```sh +python3 -I -O -B research/fixed-word-gauge-limits/annex/geodesic-boundary/replay.py --out /tmp/geodesic-boundary-annex +``` + +Expected final line: + +```text +PASS_GEODESIC_BOUNDARY_ANNEX +``` + +The parent mathematical suite, native mode admission, whole-owner hosting +checks, global native emitter, current selected-construction replay, and +scalar/address or recursive pricing were not rerun. No new search, +supplier admission, human review, complete multiplication theorem, or +kappa result is claimed. The final PR text must retain these limits. + +This review used substantial OpenAI Codex assistance. Publication still +requires final commit links, GitHub rendering, and readback of the +published PR body. Those publication actions are outside this review. + +The final supplementary body template is accepted at SHA-256 +`6bb4c44888a94c1f748227ee749d0d5c18eb0fd6788aa13fcb4b34dce44e94de`. +[PR-DESCRIPTION-CHECK.json](PR-DESCRIPTION-CHECK.json) binds that text. +All six prospective new commit links resolve to their planned local +publication targets. The body states the nonnegative exponent domain +for the fusion moment bound. Its `COMMIT` placeholders remain for the +publisher to replace and verify. diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/SOURCE-AND-DEPENDENCY-CHECKS.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/SOURCE-AND-DEPENDENCY-CHECKS.json new file mode 100644 index 0000000000..5093a12744 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/SOURCE-AND-DEPENDENCY-CHECKS.json @@ -0,0 +1,197 @@ +{ + "annex_bytes_including_manifest": 2563890, + "annex_files_sha256": { + "ANNEX-MANIFEST.json": "3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff", + "ARCHIVE-CHECK.json": "e9ac68aff182d589f50e43656a333d3c3018c71539d3b522a9fdef683f14a02c", + "PARENT-SNAPSHOT.json": "4356542fdeacac1fb67ff9705d6a073be72b0c202afea74a8bc0e20f9ddd61c1", + "PORTABILITY.json": "a49992f05af0cbdc6c58259280b7116aa819ab75060794b9e8d9dd8b2499f814", + "PORTABILITY.patch": "ea47599db5bf622677e73128b66166496aa1365df3b9c2d4d0ac437d8c63b0fe", + "README.md": "3677547e252f768ca16d0cc0e1ece0b0fc66bb9d378ffef0ff7ce5e3ff417622", + "SOURCE-LINK-CHECK.json": "49188993d0962dcc1f5030908e9924591de906eb8f50eade13acd2bd57018ae5", + "SOURCES.json": "4bc61753836fe8481e671cc0646cd3934fdf5e31d201e0b56c1a0053846b29a5", + "VALIDATION.json": "36e11ec021fd89c754bdb1faf6eb02e49979b3820220c4f4faf5e171925a85bd", + "evidence/normal/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "evidence/normal/GEODESIC-REVIEW.json": "f5c831455ad4e412feb45482bfdc18c0b43d802f5b105d46d78572e56792dba7", + "evidence/normal/REPLAY.json": "38472dec6d3b302ac70d210bbd87fbacdfc838b498b35d866979c8f3fc65f1d0", + "evidence/optimized/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "evidence/optimized/GEODESIC-REVIEW.json": "41275bcf879ee69c8c68feda575e852e93816f9fb9adf137b58971785a76167a", + "evidence/optimized/REPLAY.json": "40ffdeb15677409bc346d446cf84fd83164704ac328c94941b199ffb2aed47b6", + "frozen/lanes/encoded-controller/ONE-SHOT.json": "215e89cfa7cd0d2634b03394799794198a51882512b3621e798ef64296da5d36", + "frozen/lanes/encoded-controller/ONE-SHOT.md": "f123669f63d7f92d95d73008356dbb1d7641d990efbceb46c59f1d3846f57bc4", + "frozen/lanes/encoded-controller/review/GEODESIC-RERUN-RECEIPT.json": "a61e11c93f56fe0a77a5318a4af9e9151d35701b5d4b310203fd6194b324aefe", + "frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json": "4992ccf57cff47f7f35cc6b89d6ef19edfcdec6bf38936ec53f1e58e9aa40885", + "frozen/lanes/encoded-controller/review/GEODESIC-rerun.json": "5d419f2f7cc935bb59e40aef3405a777cca6e41c0becc46c40534da7f4351396", + "frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json": "25c50633a2ea4d61904622f622fb9b59d033a997f8acdfb0280942fbf4ab318f", + "frozen/lanes/encoded-controller/review/check_geodesic_review.py": "370f7b14141f5606a7fdf38cb206fc8251d342e1a623c97eb96551f91fe3315b", + "frozen/lanes/history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "frozen/lanes/history-encoding/HOSTING-PATCH.json": "d095384882575475c0a99a424acef3eadf36c56e3c2ae466fadfac72cceb0823", + "frozen/lanes/history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "frozen/lanes/history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7", + "frozen/lanes/history-encoding/WALSH-MODE-PROOF.md": "3aa1c67c4f2294aa2bf6522adaffd648a09f68984cd850b93399381027f8c248", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json": "5f70e47794b8a376e3646b8a5a4012171512f90dce696fccba9ba914ddca0309", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md": "259553e900b6f3e98443bb6c5703e9dbedae42cb0d67ae6a5b514b912ec6b09a", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json": "36d8f5a98265f7f1c96ab49892b2520cb37fca6edf0347caf2e7f871fb1db026", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md": "f218e2182fee87c8550c98b68c5793f7a70719453149052c8fa82da1cc94c589", + "frozen/lanes/interface-proof/WALSH-MODE-ADAPTERS-SOURCE.json": "c8ea223ddd139387bbed17ef6dc1175324cec3e4e5431f834e121dc35dcb9bbd", + "frozen/lanes/interface-proof/WALSH-MODE-REVIEW.json": "c0a90e4365634561fc63128f1ca92d1fdd3cd3ebdc33187fd2f8929bd071cb34", + "frozen/lanes/interface-proof/WALSH-MODE-REVIEW.md": "3287d12aa979e5b1790879e5609d1147f9791a5e296fb25796d63e12c8736283", + "frozen/lanes/source-domain/GEODESIC-BOUNDARY.md": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "frozen/lanes/source-domain/GEODESIC-CHECKS.json": "5d419f2f7cc935bb59e40aef3405a777cca6e41c0becc46c40534da7f4351396", + "frozen/lanes/source-domain/verify_geodesic.py": "e9fcb23302b056369ff7251ab84db02aa389afba3415979ea3cf5d9aec04157b", + "frozen/lanes/temporal-reuse/review_wire_gauge.py": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", + "portable/check_geodesic_review.py": "801a2972f8a364f354db1a8e38a58bf9184f6c497a1ecba67f4510161ef299c6", + "portable/verify_geodesic.py": "5cee00883bf48953534da2232e970e82d4954754dafe0c50604a30b3e2b86213", + "replay.py": "d200cf1245f7d72537463c1e23ca58e0a12850eb114752707affbff2d3d47987", + "sources/research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "sources/research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "sources/research/format-limits-corrected/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "sources/research/format-limits-corrected/NOTICE.md": "d16991367957b1de0cb3c9d4b61667482c3d4985903f15846051c65812c81611", + "sources/research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e" + }, + "annex_listed_files": 45, + "annex_manifest_sha256": "3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff", + "annex_total_files": 46, + "archive_check": { + "archive_bytes": 19299540, + "archive_path": "research/community-frontier1042-audit/selected-replay.tar.gz", + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "members": [ + { + "bytes": 84805, + "member": "slots/local/CANONICAL-WORD.json.gz", + "parent_path": "data/CANONICAL-WORD.json.gz", + "sha256": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219" + }, + { + "bytes": 209318, + "member": "slots/local/LOCAL-PROGRAMS.json.gz", + "parent_path": "data/LOCAL-PROGRAMS.json.gz", + "sha256": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + } + ], + "revision": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "status": "PASS_COMPLETE_ARCHIVE_AND_PARENT_MEMBERS" + }, + "exact_original_sources": 28, + "parent_reader_functions_equal_after_two_source_io_substitutions": [ + "check", + "gf2_basis", + "lagrangian", + "transform", + "frame_span", + "scalar_endpoint", + "check_orientation_duality", + "rebuild_graph", + "reduce_energy", + "check_flow_cut", + "zero_cut_rigidity", + "check_profile", + "check_case", + "run" + ], + "primary_files_sha256": { + "MANIFEST.json": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "NOTICE.md": "a0f77933aef1f5e9301ae171ef03371fd59fcc67f4f2fecdfd85b6b4562453d6", + "PROOF.md": "d38d5c8c7565f4baa3ba66e84389cfd30bf14d1f9ec057773b47e03c8e8558d5", + "PROVENANCE.md": "9c44733b62b349ed5f7007a073593ce87a08edbd52a74b253a2dbe157aae6108", + "README.md": "4dc6f4b3a1d3d2e5bfeef55b91190dcc6574bcac15ea1392a49b908f4209d044", + "RELATED-WORK.md": "38f8d26789e22d017b4accd4df302c9f485e0fbc622fe864438e4aa3e671bcca", + "SOURCES.json": "d094cdf81582cc4e95dad10887c8f29684f779f18f4d6eb22c637bdcd19329ba", + "VALIDATION.md": "1386abfaf8353ae6c4579dc6914fd8b5ae8486a906d1e96fb68be81a3dcdef66", + "certificates/THRESHOLD-GAUGE-COMMON.json.gz": "1e37dfee90763660ee04edb74ea8814a84846c5912f299ff1cbc26cdf6823c22", + "certificates/THRESHOLD-MULTI-GAUGE-128-256.json.gz": "960f3f80a7119d5c99c7782160c0d1d27bcb05ce3fd29f2b5fd769b87a99efc6", + "certificates/THRESHOLD-MULTI-GAUGE-CENTRE415.json.gz": "1e7b2a8ba177d0ed27a6138f0edd43472e3c91d71e187b7b60ce8e1a2c1b0fd2", + "certificates/THRESHOLD-MULTISTATE-GAUGE-128-256.json.gz": "acf975c6971df8eb1d54e4d5c6c6883842f3ad1f450b1ef68ff5aaeaae2f210c", + "certificates/WIRE-GAUGE-LINE42-PATHS.json.gz": "5362b6644eef8a00c8135432f877348be44a37be737a521f68be1b7ae2ce5284", + "certificates/WIRE-GAUGE-ODD-PATHS.json.gz": "8887f80c4446738e859f2a8355922e84c3bc7a0f7072a0d8deddd48364fdae84", + "certificates/WIRE-GAUGE-PAIRED-COMMON.json.gz": "8be93c23f0a71339c825fdf2a2893e3c0b2b3c880c7c5d044cb93c0a9b174a2c", + "checkers/check_common_product_rank.py": "d41c401b9a3ca0670d1b117dbc5dc6c9036fab7a57700359affa9a4e6a9c84e6", + "checkers/check_line_paths.py": "06b9589a76b6b84e3ab628bfe940cd07a90fd363aa6ba462d314eb13402cec63", + "checkers/gauge_negative_controls.py": "c07cf9789a314abfaf8cbfb5a4440005e7ed4fd6cba1796e0a496fa84f791a8a", + "checkers/review_compound_gauge.py": "9e2d216f15081dd655685da6f4bbb0a116db2a6e2557c649f4dc1af889ed83df", + "checkers/review_four_state_gauge.py": "403f53c6ae128e6ea6fe50b41560e2c990f899889b0579b22bee85f48769b530", + "checkers/review_threshold_certificate.py": "bb1786e568ccda265825add83b4f06322ad7f5ed60d0a8147c90f4c26b275e7c", + "checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "checkers/verify_odd_paths.py": "a7aad7ee518b12683eba62aa451fa1b946c7a1e31553a38e999074dba6a5fd8d", + "data/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "data/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a", + "evidence/historical/ALL-LINE-PATH-REVIEW.json": "9beb0c253e6db68a47fc6eb8db4e1930f17e3f43ab1e9beee508090fb8169284", + "evidence/historical/COMMON-PRODUCT-RANK-REVIEW.json": "46f400fd6e94c4809b498cfdc563ac98d8363f5119f036d155bc5d4228525b32", + "evidence/historical/GAUGE-NEGATIVE-CONTROLS.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/historical/THRESHOLD-GAUGE-COMMON-REVIEW.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/historical/THRESHOLD-MULTI-GAUGE-128-256-REVIEW.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "evidence/historical/THRESHOLD-MULTI-GAUGE-CENTRE415-REVIEW.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/historical/THRESHOLD-MULTISTATE-GAUGE-128-256-REVIEW.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/historical/WIRE-GAUGE-PAIRED-COMMON-REVIEW.json": "e75b3c088e17ae9443f6651d1253a78e0e5c4c34a36241f5719dc199899cc8da", + "evidence/replay/REPLAY.json": "7f81d82c4ac340296a567eb379de0464ab617f69fb91dae3f71c8d23752ef8b9", + "evidence/replay/all-lines-pairing.json": "c493174b5f29b19003618ca022fb87566df71d99681528eb491fc80ba23fca08", + "evidence/replay/all-lines-span.json": "eeae7231add00963a57f6f8708c7ff6f59de2e3b5134bc465d23b0ab6df23b62", + "evidence/replay/common-product-rank.json": "bbac61ccba8a6d8094f14b5bf3c379a85b9969d7c5a9b311db1042b15817ecd8", + "evidence/replay/common-rank.json": "001917257546807ea4d031c547b6221b23da12e50a2dba4ae6739e060e155923", + "evidence/replay/common-thresholds.json": "c9a335512412fba7ca8b15d0960b8a10e5e7722960527fe778bc9fe478d86636", + "evidence/replay/four-state-thresholds.json": "9b00098d9f17a856df5de02ba4debb5eb5bfc2e6eef0370954867fa2f562f13e", + "evidence/replay/frame415-thresholds.json": "33ef8dfa5b6b77456b030708225322f2b55311674117bdd34a3b636840fb76d7", + "evidence/replay/negative-controls.json": "ce4c1b1d730a2557c7232f01eb959a689e237565ffaa65becc253f29974fa01e", + "evidence/replay/product-thresholds.json": "6aa8a784bd6814ea333ebb67673cecdeb51244b14de928ad6110d5d1e3b4c91c", + "notices/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "notices/research/gauge44-slots-t16/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "notices/research/gauge44-slots-t16/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "notices/research/gauge44-slots-t16/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "notices/research/gauge44-slots-t16/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "proofs/ALL-LINE-GAUGES.md": "006d8882d3865e2dea88840b62a0b792d7d2ff11bd0bb6b7fd26c9756fe842cb", + "proofs/BOUNDARY-GAUGE.md": "0ead988c25cc52ac64d7396761e143312de617e78381ba3fd96b97256b55d44c", + "proofs/COMMON-PRODUCT-RANK.md": "5db8a5730b70f61acd499712e909e952b1951fc3263aeeb11e07b573cf528599", + "proofs/GAUGE-REVIEW.md": "064d331bf5f4bbc6c9f4b33bd9dd279b3f456248b91a6f5e91855e290d9f1d7c", + "replay.py": "1120f28ea69263b74e5932aec64bc7f78ad18fb5912b73bcb416132ac1826eab" + }, + "primary_files_unchanged": 54, + "primary_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "primary_review_history_files_unchanged": 3, + "readme_local_links": [ + "frozen/lanes/source-domain/GEODESIC-BOUNDARY.md", + "frozen/lanes/source-domain/GEODESIC-CHECKS.json", + "frozen/lanes/encoded-controller/review/GEODESIC-REVIEW.json", + "SOURCES.json", + "ANNEX-MANIFEST.json", + "PARENT-SNAPSHOT.json", + "frozen/lanes/encoded-controller/ONE-SHOT.md", + "frozen/lanes/encoded-controller/review/ONE-SHOT-REVIEW.json", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.md", + "frozen/lanes/interface-proof/ONE-SHOT-MODE-REVIEW.json", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.md", + "frozen/lanes/interface-proof/HOSTING-PATCH-REVIEW.json", + "VALIDATION.json", + "PORTABILITY.patch", + "ARCHIVE-CHECK.json", + "sources/research/format-limits-corrected/NOTICE.md", + "sources/research/format-limits-corrected/LICENSE", + "../../NOTICE.md", + "../../notices/LICENSE" + ], + "source_kinds": { + "campaign": 23, + "git": 5 + }, + "status": "PASS_INDEPENDENT_GEODESIC_ANNEX_SOURCES", + "unchanged_mathematical_functions": { + "portable/check_geodesic_review.py": [ + "canonical_label", + "clifford_control", + "compose", + "distance", + "image", + "inverse", + "local_paths", + "pairing", + "rank", + "require" + ], + "portable/verify_geodesic.py": [ + "audit_program", + "load_reader", + "pin", + "require" + ] + } +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/TYPED-RECEIPT-AND-INVOICE-CHECKS.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/TYPED-RECEIPT-AND-INVOICE-CHECKS.json new file mode 100644 index 0000000000..d41d6053dd --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/TYPED-RECEIPT-AND-INVOICE-CHECKS.json @@ -0,0 +1,61 @@ +{ + "all_four_local_words_checked": true, + "complete_kappa_improvement": false, + "conclusion_scope": "Retained persistent array paths, their scalar accesses, and common-I/common-F productive endpoints with identity joint content. This is not a lower bound for virtual-Q boundaries or changed controllers.", + "damage_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "exact_reviewed_paths_verified": 5, + "global_invoice": { + "N": 15488, + "added_rank": 14336, + "average_per_replica": "896", + "before_boundary_rank_mass": 1116288, + "general_fusion_argument": "For b >= 0 and 0 < r <= 73, each factor (73/r)^b is at least 1. The path theorem gives rank mass at least 73N.", + "literal_per_replica": 896, + "moment_at_one": "263779/7744", + "moment_at_zero": "1", + "normalized_rank_mass": 1130624, + "strict_positive_exponent_argument": "Every retained literal child satisfies 0 < r < 73, so (73/r)^b > 1 for b > 0. The rank mass is 73N." + }, + "independent_all_other_typed_fields_equal": true, + "independent_metadata_changes": [ + "actual reviewed file paths and hashes", + "runtime maximum resident bytes", + "historical review_update note is not regenerated" + ], + "inherited_premises": [ + "Exact mode phases and full-F monomial access from the separate interface reviews", + "The whole-owner hosting and backfill invoice", + "The original selected supplier's native lowering" + ], + "maximum_resident_bytes": 121110528, + "producer_all_other_typed_fields_equal": true, + "producer_metadata_changes": { + "reader_sha256": { + "historical": "204fdb8173f0dcf268ab145416b97e4a41c6a54ec877386d3b7aa73fb524c860", + "portable": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a" + } + }, + "small_clifford_control": { + "distinct_Lagrangians": 15, + "left_monomial_checks": 34560, + "metric_triples": 3375, + "ordered_frame_pairs": 518400, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality.", + "symplectic_frames": 720, + "wrong_relative_order_rejected": true + }, + "status": "PASS_INDEPENDENT_TYPED_RECEIPT_AND_INVOICE_CHECKS" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/annex.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/annex.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/annex.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/annex.stdout.txt new file mode 100644 index 0000000000..588aa0c14c --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/annex.stdout.txt @@ -0,0 +1,3 @@ +PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE +ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION +PASS_GEODESIC_BOUNDARY_ANNEX diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/check_annex_sources.py b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/check_annex_sources.py new file mode 100644 index 0000000000..ad76192a78 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/check_annex_sources.py @@ -0,0 +1,156 @@ +"""Check the frozen annex against its original source objects and parent files.""" + +import argparse +import ast +from collections import Counter +from hashlib import sha256 +import io +import json +from pathlib import Path +import re +import subprocess +import tarfile + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def digest(data): + return sha256(data).hexdigest() + + +def read_json(path): + return json.loads(path.read_text()) + + +def functions(path): + return {node.name: node for node in ast.parse(path.read_text()).body + if isinstance(node, ast.FunctionDef)} + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--repo', type=Path, required=True) + parser.add_argument('--package', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + repo, package = args.repo.resolve(), args.package.resolve() + annex = package / 'annex/geodesic-boundary' + review = Path(__file__).resolve().parent + manifest = read_json(annex / 'ANNEX-MANIFEST.json') + expected_manifest = '3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff' + require(digest((annex / 'ANNEX-MANIFEST.json').read_bytes()) == expected_manifest, + 'Exact accepted annex manifest') + annex_files = {str(p.relative_to(annex)): digest(p.read_bytes()) + for p in annex.rglob('*') if p.is_file()} + require(set(annex_files) == set(manifest['files']) | {'ANNEX-MANIFEST.json'}, + 'Complete annex file inventory') + require(not any(p.is_symlink() for p in annex.rglob('*')), 'No annex symlinks') + for name, expected in manifest['files'].items(): + require(annex_files[name] == expected, 'Annex file hash: ' + name) + + parent = read_json(annex / 'PARENT-SNAPSHOT.json')['files'] + primary_files = {str(p.relative_to(package)): digest(p.read_bytes()) + for p in package.rglob('*') + if p.is_file() and 'annex' not in p.relative_to(package).parts} + require(primary_files == parent, 'Exact complete primary file inventory') + history = read_json(review / 'PRIMARY-HISTORY-PINS.json') + require(primary_files['MANIFEST.json'] == history['primary_manifest_sha256'], + 'Accepted primary manifest') + for item in history['primary_review_files']: + data = (review.parent / item['path']).read_bytes() + require(len(data) == item['bytes'] and digest(data) == item['sha256'], + 'Accepted primary review history: ' + item['path']) + + sources = read_json(annex / 'SOURCES.json') + for item in sources['files']: + frozen = (annex / item['path']).read_bytes() + if item['kind'] == 'campaign': + original = (repo / item['source_path']).read_bytes() + else: + require(item['kind'] == 'git', 'Known source kind') + original = subprocess.check_output( + ['git', '-C', str(repo), 'show', item['revision'] + ':' + item['source_path']]) + require(frozen == original, 'Exact original source: ' + item['path']) + require(len(frozen) == item['bytes'] and digest(frozen) == item['sha256'], + 'Source manifest: ' + item['path']) + for name, expected in sources['parent_inputs'].items(): + require(digest((package / name).read_bytes()) == expected, 'Parent input: ' + name) + + archive_check = read_json(annex / 'ARCHIVE-CHECK.json') + archive = subprocess.check_output(['git', '-C', str(repo), 'show', + archive_check['revision'] + ':' + archive_check['archive_path']]) + require(len(archive) == archive_check['archive_bytes'] and + digest(archive) == archive_check['archive_sha256'], 'Complete historical archive') + with tarfile.open(fileobj=io.BytesIO(archive), mode='r:gz') as tar: + for item in archive_check['members']: + members = [m for m in tar.getmembers() if m.name == item['member']] + require(len(members) == 1 and members[0].isfile(), 'Unique regular archive member') + data = tar.extractfile(members[0]).read() + require(data == (package / item['parent_path']).read_bytes(), 'Exact parent member') + require(len(data) == item['bytes'] and digest(data) == item['sha256'], 'Member pin') + + math_functions = {} + for item in read_json(annex / 'PORTABILITY.json'): + old, new = (annex / item['source']), (annex / item['portable']) + require(digest(old.read_bytes()) == item['source_sha256'] and + digest(new.read_bytes()) == item['portable_sha256'], 'Checker source pins') + old_functions, new_functions = functions(old), functions(new) + require(set(old_functions) == set(new_functions), 'Same function inventory') + same = [] + for name in item['unchanged_function_names']: + require(ast.dump(old_functions[name]) == ast.dump(new_functions[name]), + 'Exact mathematical function AST: ' + name) + same.append(name) + require(set(old_functions) == set(same) | set(item['io_functions_changed']), + 'Every function accounted for') + math_functions[item['portable']] = same + + original_reader = functions(annex / 'frozen/lanes/temporal-reuse/review_wire_gauge.py') + portable_reader = functions(package / 'checkers/review_wire_gauge.py') + require(set(original_reader) == set(portable_reader), 'Parent reader function inventory') + original_reader['run'].args.args = [a for a in original_reader['run'].args.args if a.arg != 'repo'] + for node in ast.walk(original_reader['run']): + if isinstance(node, ast.Call) and isinstance(node.func, ast.Name) and node.func.id == 'load_source': + require(len(node.args) == 1 and isinstance(node.args[0], ast.Name) + and node.args[0].id == 'repo', 'Only the source argument changes') + node.args = [] + same_reader = [] + for name in original_reader: + if name == 'load_source': + continue + require(ast.dump(original_reader[name]) == ast.dump(portable_reader[name]), + 'Parent reader mathematical AST: ' + name) + same_reader.append(name) + + links = [] + for destination in re.findall(r'\]\(([^)]+)\)', (annex / 'README.md').read_text()): + if '://' not in destination: + require((annex / destination.split('#')[0]).is_file(), 'Local README link: ' + destination) + links.append(destination) + result = { + 'status': 'PASS_INDEPENDENT_GEODESIC_ANNEX_SOURCES', + 'annex_manifest_sha256': expected_manifest, + 'annex_listed_files': len(manifest['files']), + 'annex_total_files': len(annex_files), + 'annex_bytes_including_manifest': sum(p.stat().st_size for p in annex.rglob('*') if p.is_file()), + 'primary_files_unchanged': len(primary_files), + 'primary_review_history_files_unchanged': len(history['primary_review_files']), + 'primary_manifest_sha256': primary_files['MANIFEST.json'], + 'exact_original_sources': len(sources['files']), + 'source_kinds': dict(Counter(item['kind'] for item in sources['files'])), + 'archive_check': archive_check, + 'unchanged_mathematical_functions': math_functions, + 'parent_reader_functions_equal_after_two_source_io_substitutions': same_reader, + 'readme_local_links': links, + 'annex_files_sha256': annex_files, + 'primary_files_sha256': primary_files, + } + args.out.write_text(json.dumps(result, indent=2, sort_keys=True) + '\n') + print(result['status']) + + +if __name__ == '__main__': + main() diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/GEODESIC-CHECKS.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/GEODESIC-CHECKS.json new file mode 100644 index 0000000000..ac862ecfc9 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/GEODESIC-CHECKS.json @@ -0,0 +1,3748 @@ +{ + "archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "assembly_sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "2": 60192, + "3": 62585, + "4": 20448, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152, + "16": 512, + "24": 256, + "32": 256, + "40": 256, + "48": 5634 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "local_words": { + "FULL-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 19658, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + }, + "ONE-SIDED-MODE": { + "backward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7847, + "last_Y_native_event": 17576, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7848, + "last_Y_native_event": 17577, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7849, + "last_Y_native_event": 17578, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7850, + "last_Y_native_event": 17579, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7851, + "last_Y_native_event": 17580, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7852, + "last_Y_native_event": 17581, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7853, + "last_Y_native_event": 17582, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7854, + "last_Y_native_event": 17583, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7855, + "last_Y_native_event": 17584, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7856, + "last_Y_native_event": 17585, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7857, + "last_Y_native_event": 17586, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7858, + "last_Y_native_event": 17587, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7859, + "last_Y_native_event": 17588, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7860, + "last_Y_native_event": 17589, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7861, + "last_Y_native_event": 17590, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7862, + "last_Y_native_event": 17591, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7863, + "last_Y_native_event": 17592, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7864, + "last_Y_native_event": 17593, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7865, + "last_Y_native_event": 17594, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7866, + "last_Y_native_event": 17595, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7867, + "last_Y_native_event": 17596, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7868, + "last_Y_native_event": 17597, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7869, + "last_Y_native_event": 17598, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7870, + "last_Y_native_event": 17599, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7871, + "last_Y_native_event": 17600, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7872, + "last_Y_native_event": 17601, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7873, + "last_Y_native_event": 17602, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7874, + "last_Y_native_event": 17603, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7875, + "last_Y_native_event": 17604, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7876, + "last_Y_native_event": 17605, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7877, + "last_Y_native_event": 17606, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7878, + "last_Y_native_event": 17607, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7879, + "last_Y_native_event": 17608, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7880, + "last_Y_native_event": 17609, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7881, + "last_Y_native_event": 17610, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7882, + "last_Y_native_event": 17611, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7883, + "last_Y_native_event": 17612, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7884, + "last_Y_native_event": 17613, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7885, + "last_Y_native_event": 17614, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7886, + "last_Y_native_event": 17615, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7887, + "last_Y_native_event": 17616, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7888, + "last_Y_native_event": 17617, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7889, + "last_Y_native_event": 17618, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7890, + "last_Y_native_event": 17619, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7891, + "last_Y_native_event": 17620, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7892, + "last_Y_native_event": 17621, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7893, + "last_Y_native_event": 17622, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7894, + "last_Y_native_event": 17623, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7895, + "last_Y_native_event": 17624, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7896, + "last_Y_native_event": 17625, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7897, + "last_Y_native_event": 17626, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7898, + "last_Y_native_event": 17627, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7899, + "last_Y_native_event": 17628, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7900, + "last_Y_native_event": 17629, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7901, + "last_Y_native_event": 17630, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7902, + "last_Y_native_event": 17631, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7903, + "last_Y_native_event": 17632, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7904, + "last_Y_native_event": 17633, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7905, + "last_Y_native_event": 17634, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7906, + "last_Y_native_event": 17635, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7907, + "last_Y_native_event": 17636, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7908, + "last_Y_native_event": 17637, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7909, + "last_Y_native_event": 17638, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7910, + "last_Y_native_event": 17639, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7911, + "last_Y_native_event": 17640, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7912, + "last_Y_native_event": 17641, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7913, + "last_Y_native_event": 17642, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7914, + "last_Y_native_event": 17643, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7915, + "last_Y_native_event": 17644, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7916, + "last_Y_native_event": 17645, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7917, + "last_Y_native_event": 17646, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7918, + "last_Y_native_event": 17647, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7919, + "last_Y_native_event": 17648, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7920, + "last_Y_native_event": 17649, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7921, + "last_Y_native_event": 17650, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7922, + "last_Y_native_event": 17651, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7923, + "last_Y_native_event": 17652, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7924, + "last_Y_native_event": 17653, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7925, + "last_Y_native_event": 17654, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7926, + "last_Y_native_event": 17655, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7927, + "last_Y_native_event": 17656, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7928, + "last_Y_native_event": 17657, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7929, + "last_Y_native_event": 17658, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7930, + "last_Y_native_event": 17659, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7931, + "last_Y_native_event": 17660, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7932, + "last_Y_native_event": 17661, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7933, + "last_Y_native_event": 17662, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7934, + "last_Y_native_event": 17663, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7935, + "last_Y_native_event": 17664, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7936, + "last_Y_native_event": 17665, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7937, + "last_Y_native_event": 17666, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7938, + "last_Y_native_event": 17667, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7939, + "last_Y_native_event": 17668, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7940, + "last_Y_native_event": 17669, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7941, + "last_Y_native_event": 17670, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7942, + "last_Y_native_event": 17671, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7943, + "last_Y_native_event": 17672, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7944, + "last_Y_native_event": 17673, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7945, + "last_Y_native_event": 17674, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7946, + "last_Y_native_event": 17675, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7947, + "last_Y_native_event": 17676, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7948, + "last_Y_native_event": 17677, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7949, + "last_Y_native_event": 17678, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7950, + "last_Y_native_event": 17679, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7951, + "last_Y_native_event": 17680, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7952, + "last_Y_native_event": 17681, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7953, + "last_Y_native_event": 17682, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7954, + "last_Y_native_event": 17683, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7955, + "last_Y_native_event": 17684, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7956, + "last_Y_native_event": 17685, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7957, + "last_Y_native_event": 17686, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 7958, + "last_Y_native_event": 17687, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + }, + "forward": { + "boundary_native_adjacency": [ + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8296, + "last_Y_native_event": 18025, + "line": 11, + "port": 0 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8297, + "last_Y_native_event": 18026, + "line": 19, + "port": 1 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8298, + "last_Y_native_event": 18027, + "line": 35, + "port": 2 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8299, + "last_Y_native_event": 18028, + "line": 67, + "port": 3 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8300, + "last_Y_native_event": 18029, + "line": 131, + "port": 4 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8301, + "last_Y_native_event": 18030, + "line": 259, + "port": 5 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8302, + "last_Y_native_event": 18031, + "line": 13, + "port": 6 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8303, + "last_Y_native_event": 18032, + "line": 21, + "port": 7 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8304, + "last_Y_native_event": 18033, + "line": 37, + "port": 8 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8305, + "last_Y_native_event": 18034, + "line": 69, + "port": 9 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8306, + "last_Y_native_event": 18035, + "line": 133, + "port": 10 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8307, + "last_Y_native_event": 18036, + "line": 261, + "port": 11 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8308, + "last_Y_native_event": 18037, + "line": 41, + "port": 12 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8309, + "last_Y_native_event": 18038, + "line": 73, + "port": 13 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8310, + "last_Y_native_event": 18039, + "line": 137, + "port": 14 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8311, + "last_Y_native_event": 18040, + "line": 265, + "port": 15 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8312, + "last_Y_native_event": 18041, + "line": 49, + "port": 16 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8313, + "last_Y_native_event": 18042, + "line": 81, + "port": 17 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8314, + "last_Y_native_event": 18043, + "line": 145, + "port": 18 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8315, + "last_Y_native_event": 18044, + "line": 273, + "port": 19 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8316, + "last_Y_native_event": 18045, + "line": 161, + "port": 20 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8317, + "last_Y_native_event": 18046, + "line": 289, + "port": 21 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8318, + "last_Y_native_event": 18047, + "line": 193, + "port": 22 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8319, + "last_Y_native_event": 18048, + "line": 321, + "port": 23 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8320, + "last_Y_native_event": 18049, + "line": 385, + "port": 24 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8321, + "last_Y_native_event": 18050, + "line": 14, + "port": 25 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8322, + "last_Y_native_event": 18051, + "line": 22, + "port": 26 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8323, + "last_Y_native_event": 18052, + "line": 38, + "port": 27 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8324, + "last_Y_native_event": 18053, + "line": 70, + "port": 28 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8325, + "last_Y_native_event": 18054, + "line": 134, + "port": 29 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8326, + "last_Y_native_event": 18055, + "line": 262, + "port": 30 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8327, + "last_Y_native_event": 18056, + "line": 26, + "port": 31 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8328, + "last_Y_native_event": 18057, + "line": 74, + "port": 32 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8329, + "last_Y_native_event": 18058, + "line": 138, + "port": 33 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8330, + "last_Y_native_event": 18059, + "line": 266, + "port": 34 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8331, + "last_Y_native_event": 18060, + "line": 50, + "port": 35 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8332, + "last_Y_native_event": 18061, + "line": 146, + "port": 36 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8333, + "last_Y_native_event": 18062, + "line": 274, + "port": 37 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8334, + "last_Y_native_event": 18063, + "line": 98, + "port": 38 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8335, + "last_Y_native_event": 18064, + "line": 162, + "port": 39 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8336, + "last_Y_native_event": 18065, + "line": 290, + "port": 40 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8337, + "last_Y_native_event": 18066, + "line": 194, + "port": 41 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8338, + "last_Y_native_event": 18067, + "line": 322, + "port": 42 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8339, + "last_Y_native_event": 18068, + "line": 386, + "port": 43 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8340, + "last_Y_native_event": 18069, + "line": 28, + "port": 44 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8341, + "last_Y_native_event": 18070, + "line": 44, + "port": 45 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8342, + "last_Y_native_event": 18071, + "line": 140, + "port": 46 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8343, + "last_Y_native_event": 18072, + "line": 268, + "port": 47 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8344, + "last_Y_native_event": 18073, + "line": 84, + "port": 48 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8345, + "last_Y_native_event": 18074, + "line": 148, + "port": 49 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8346, + "last_Y_native_event": 18075, + "line": 276, + "port": 50 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8347, + "last_Y_native_event": 18076, + "line": 100, + "port": 51 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8348, + "last_Y_native_event": 18077, + "line": 164, + "port": 52 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8349, + "last_Y_native_event": 18078, + "line": 292, + "port": 53 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8350, + "last_Y_native_event": 18079, + "line": 196, + "port": 54 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8351, + "last_Y_native_event": 18080, + "line": 324, + "port": 55 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8352, + "last_Y_native_event": 18081, + "line": 388, + "port": 56 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8353, + "last_Y_native_event": 18082, + "line": 56, + "port": 57 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8354, + "last_Y_native_event": 18083, + "line": 88, + "port": 58 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8355, + "last_Y_native_event": 18084, + "line": 152, + "port": 59 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8356, + "last_Y_native_event": 18085, + "line": 280, + "port": 60 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8357, + "last_Y_native_event": 18086, + "line": 104, + "port": 61 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8358, + "last_Y_native_event": 18087, + "line": 168, + "port": 62 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8359, + "last_Y_native_event": 18088, + "line": 296, + "port": 63 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8360, + "last_Y_native_event": 18089, + "line": 200, + "port": 64 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8361, + "last_Y_native_event": 18090, + "line": 328, + "port": 65 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8362, + "last_Y_native_event": 18091, + "line": 392, + "port": 66 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8363, + "last_Y_native_event": 18092, + "line": 112, + "port": 67 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8364, + "last_Y_native_event": 18093, + "line": 176, + "port": 68 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8365, + "last_Y_native_event": 18094, + "line": 304, + "port": 69 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8366, + "last_Y_native_event": 18095, + "line": 208, + "port": 70 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8367, + "last_Y_native_event": 18096, + "line": 336, + "port": 71 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8368, + "last_Y_native_event": 18097, + "line": 400, + "port": 72 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8369, + "last_Y_native_event": 18098, + "line": 224, + "port": 73 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8370, + "last_Y_native_event": 18099, + "line": 352, + "port": 74 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8371, + "last_Y_native_event": 18100, + "line": 416, + "port": 75 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8372, + "last_Y_native_event": 18101, + "line": 448, + "port": 76 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8373, + "last_Y_native_event": 18102, + "line": 508, + "port": 77 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8374, + "last_Y_native_event": 18103, + "line": 506, + "port": 78 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8375, + "last_Y_native_event": 18104, + "line": 502, + "port": 79 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8376, + "last_Y_native_event": 18105, + "line": 494, + "port": 80 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8377, + "last_Y_native_event": 18106, + "line": 478, + "port": 81 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8378, + "last_Y_native_event": 18107, + "line": 446, + "port": 82 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8379, + "last_Y_native_event": 18108, + "line": 382, + "port": 83 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8380, + "last_Y_native_event": 18109, + "line": 254, + "port": 84 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8381, + "last_Y_native_event": 18110, + "line": 505, + "port": 85 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8382, + "last_Y_native_event": 18111, + "line": 501, + "port": 86 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8383, + "last_Y_native_event": 18112, + "line": 493, + "port": 87 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8384, + "last_Y_native_event": 18113, + "line": 477, + "port": 88 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8385, + "last_Y_native_event": 18114, + "line": 445, + "port": 89 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8386, + "last_Y_native_event": 18115, + "line": 381, + "port": 90 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8387, + "last_Y_native_event": 18116, + "line": 253, + "port": 91 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8388, + "last_Y_native_event": 18117, + "line": 499, + "port": 92 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8389, + "last_Y_native_event": 18118, + "line": 491, + "port": 93 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8390, + "last_Y_native_event": 18119, + "line": 475, + "port": 94 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8391, + "last_Y_native_event": 18120, + "line": 443, + "port": 95 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8392, + "last_Y_native_event": 18121, + "line": 379, + "port": 96 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8393, + "last_Y_native_event": 18122, + "line": 251, + "port": 97 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8394, + "last_Y_native_event": 18123, + "line": 487, + "port": 98 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8395, + "last_Y_native_event": 18124, + "line": 471, + "port": 99 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8396, + "last_Y_native_event": 18125, + "line": 439, + "port": 100 + }, + { + "X_scalar_uses_before_paid_child": 1, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8397, + "last_Y_native_event": 18126, + "line": 375, + "port": 101 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8398, + "last_Y_native_event": 18127, + "line": 247, + "port": 102 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8399, + "last_Y_native_event": 18128, + "line": 463, + "port": 103 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8400, + "last_Y_native_event": 18129, + "line": 431, + "port": 104 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8401, + "last_Y_native_event": 18130, + "line": 367, + "port": 105 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8402, + "last_Y_native_event": 18131, + "line": 239, + "port": 106 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8403, + "last_Y_native_event": 18132, + "line": 415, + "port": 107 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8404, + "last_Y_native_event": 18133, + "line": 351, + "port": 108 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8405, + "last_Y_native_event": 18134, + "line": 223, + "port": 109 + }, + { + "X_scalar_uses_before_paid_child": 5, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8406, + "last_Y_native_event": 18135, + "line": 319, + "port": 110 + }, + { + "X_scalar_uses_before_paid_child": 2, + "Y_scalar_uses_after_paid_child": 2, + "first_X_native_event": 8407, + "last_Y_native_event": 18136, + "line": 191, + "port": 111 + } + ], + "minimum_added_rank_for_both_local_data_boundaries": 224, + "native_climbs": 3486, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_CLEAR_macros": 0, + "persistent_COPY_macros": 0, + "persistent_paths": 704, + "private_C_references": 0, + "rank_mass": 5522, + "rank_zero_wrappers": 1570, + "scalar_macros": { + "add": 20106, + "scale": 731 + }, + "wire_endpoint_distance_sum": 5522 + } + } + }, + "negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "plan_sha256": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "reader_sha256": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a", + "scope": "Retained persistent wire paths and scalar accesses, arbitrary Clifford frame gauges, and priced fusions, with raw input and full-F output frames on every productive path. The global one-shot application inherits the owner-job invoice and exact mode history. This check is not a global native emitter or supplier admission.", + "scratch_scope": "No array COPY or CLEAR occurs in the two emitted mode macro words. This does not assert absence of private scratch in real-arithmetic lowering. Private zero arrays are excluded from productive paths; the allowed rewrite does not move a productive lifetime into them or reset its frame for free.", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/GEODESIC-REVIEW.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/GEODESIC-REVIEW.json new file mode 100644 index 0000000000..122afdbf40 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/GEODESIC-REVIEW.json @@ -0,0 +1,222 @@ +{ + "executed_negative_controls": [ + { + "control": "wrong_native_rank", + "rejected_by": "complete retained native inventory" + }, + { + "control": "persistent_clear", + "rejected_by": "no persistent reset or copy in this word" + }, + { + "control": "wrong_scalar_frame", + "rejected_by": "scalar access frame" + } + ], + "global_ledger": { + "ambient_rank": 73, + "before_boundary_rank_mass": 1116288, + "common_boundary_path_lower_bound": 1130624, + "literal_normalized_profile": { + "1": 363940, + "16": 512, + "2": 60192, + "24": 256, + "3": 62585, + "32": 256, + "4": 20448, + "40": 256, + "48": 5634, + "5": 11808, + "7": 7, + "8": 512, + "9": 1152 + }, + "minimum_added_rank": 14336, + "minimum_added_rank_per_replica_average": 896, + "moment_at_b_zero": "1", + "moment_for_every_b_positive": ">1", + "new_mode_families": 1152, + "old_native_rank_mass": 1041408, + "old_productive_families": 14336, + "productive_families": 15488, + "replicas": 16 + }, + "inherited_premises": [ + "Exact mode phases and full-F monomial access from the separate interface reviews", + "The whole-owner hosting and backfill invoice", + "The original selected supplier's native lowering" + ], + "local_method": "Construct each canonical Lagrangian with a Gaussian nullspace calculation. Compute each distance as the rank of the 9 by 9 symplectic pairing matrix between its two Lagrangians. This also covers source frames with singular Gram matrices. Check each persistent path and scalar access in all four mode words.", + "local_words": { + "FULL-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 19658, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + }, + "ONE-SIDED-MODE": { + "backward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + }, + "forward": { + "counts": { + "adapter": 1090, + "add": 20106, + "climb": 3486, + "residual_adapter": 480, + "scale": 731 + }, + "native_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82 + }, + "normalized_endpoint_distance_sum": 5746, + "persistent_paths": 704, + "rank_mass": 5522, + "scalar_uses_after_last_Y_paid_child": [ + 2 + ], + "scalar_uses_before_first_X_paid_child": [ + 1, + 2, + 5 + ] + } + } + }, + "maximum_resident_bytes": 121110528, + "not_rerun": [ + "A global native emitter", + "New owner allocation or supplier admission", + "The old selected supplier's full admission", + "Scalar or address pricing" + ], + "prior_credit": { + "source": "https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/format-limits-corrected/README.md#L392-L438", + "source_credit": "The pinned README credits DreamingOfClouds with Claude Opus 5.5 assistance. No external account identity was inferred.", + "statement": "Section C.2, Theorem N already gives the canonical-subspace port-gauge geodesic bound." + }, + "proof": [ + "Apply S(T)^-1 to both spaces in d(Z,S(T)S(U)^-1 Z) to obtain d(L(T),L(U)). This proves the stated order of U T^-1.", + "The two intersections inside a middle n-dimensional space give dim(L intersect H) >= dim(L intersect K)+dim(K intersect H)-n. This proves the path triangle bound in every dimension.", + "A left monomial Clifford preserves Z, so it cannot change L(T). A common right gauge at both helper endpoints applies one symplectic map to both spaces and preserves their distance.", + "The local frame IDs are relative chart labels in both orientations. The backward chart D_U=T_U F_9^-1 has one common right factor, which preserves every local distance. The global common-I/common-F boundary condition is a separate premise.", + "Retained paths with I and full-F endpoints each have distance 73. Native events belong to one path. Array permutations transport path labels. No productive path may receive a free frame reset or transfer into zero workspace.", + "The complete pinned profile plus the checked conditional mode delta gives 1116288 before normalizers. The 15488 common-boundary productive paths require 1130624, an increase of 14336, or 896 per replica on average.", + "All ranks in the literal normalized profile are below 73. Its rank mass equals 73N, so its moment equals one at exponent zero and exceeds one for every positive exponent. Any admitted retained-path fusion with ranks at most 73 still has moment at least one." + ], + "reviewed_files_sha256": { + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/cold-replay/GEODESIC-CHECKS.json": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/fixed-word-gauge-limits/annex/geodesic-boundary/frozen/lanes/source-domain/GEODESIC-BOUNDARY.md": "3484ef979015839ead3aaa1bb2b391fbac05dd7cfa37de07c140193d4652c53c", + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/fixed-word-gauge-limits/annex/geodesic-boundary/portable/check_geodesic_review.py": "801a2972f8a364f354db1a8e38a58bf9184f6c497a1ecba67f4510161ef299c6", + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/fixed-word-gauge-limits/annex/geodesic-boundary/portable/verify_geodesic.py": "5cee00883bf48953534da2232e970e82d4954754dafe0c50604a30b3e2b86213", + "/private/tmp/geodesic-boundary-independent-20261022-ukif8rvp/fixed-word-gauge-limits/checkers/review_wire_gauge.py": "1cce6ddeabd60f52e9ebafb02e2db4d289e68cdf5baaa106ca2397bf9cf7241a" + }, + "scope": "Retained persistent array paths, their scalar accesses, and common-I/common-F productive endpoints with identity joint content. This is not a lower bound for virtual-Q boundaries or changed controllers.", + "scratch_scope": "The emitted array macros have no COPY, CLEAR, or C-bank references. Private scalar temporaries do not add productive native paths. New persistent workspace and lifetime transfers are outside this theorem.", + "small_Clifford_control": { + "distinct_Lagrangians": 15, + "left_monomial_checks": 34560, + "metric_triples": 3375, + "ordered_frame_pairs": 518400, + "scope": "A complete two-bit control. The proof for general dimension uses invariance of intersection dimension and the triangle inequality.", + "symplectic_frames": 720, + "wrong_relative_order_rejected": true + }, + "source_archive_sha256": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "source_base": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "source_frames": 1004, + "source_git_pins": { + "research/community-frontier1094-audit/ASSEMBLY.json": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "research/complex-t16-rare-pattern-exchanges/data/PLAN.json": "7bd786ba8e66408f02aa9ef446eaf20c1bfe981ea2e4dd1e5a929f0aa7767bc0", + "research/format-limits-corrected/README.md": "1bcd80c1cd61fddae9f3a7f00fc9d1c796410408251e576600e94c19b16b1e5e" + }, + "source_member_pins": { + "slots/local/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "slots/local/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + }, + "source_program_pins": { + "history-encoding/FULL-MODE-PROGRAMS.json.gz": "ebc17d1d4c51a9c6b3cb05670d970db3d3e1000f26f1d864cdb27523ce1997dd", + "history-encoding/ONE-SHOT-MAX48.json": "6563798aeebe83d2d62c9d089012d2b7cea3818e673deaa4b2653be183a0ed21", + "history-encoding/ONE-SIDED-MODE-PROGRAMS.json.gz": "2f7d401c237b915db721d83b426cbe0bfa593e7c61170498f3be115cf20d16a7" + }, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/REPLAY.json b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/REPLAY.json new file mode 100644 index 0000000000..f4572f59ad --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/REPLAY.json @@ -0,0 +1,47 @@ +{ + "annex_manifest_sha256": "3ea3ad820cb4466d97aa0b79bd65c4e0fab2890015a69a4449ad7fe7f15966ff", + "application_scope": "Retained productive paths and scalar access, common I/full-F productive endpoints, identity joint content; inherited one-shot mode and whole-owner invoice", + "checks": [ + { + "all_other_typed_json_fields_equal": true, + "check": "producer", + "declared_metadata_changes": [ + "reader_sha256: pinned portable parent reader" + ], + "receipt": "GEODESIC-CHECKS.json", + "receipt_sha256": "826f1ee9de744102ce8b28006a24db6a3ae8767f11ab5de47928781f589c3ef3", + "seconds": 2.234603, + "status": "PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE" + }, + { + "all_other_typed_json_fields_equal": true, + "check": "independent", + "declared_metadata_changes": [ + "reviewed_files_sha256: actual paths and executed checker hashes", + "maximum_resident_bytes: runtime metadata", + "review_update: retained only in the frozen historical review" + ], + "receipt": "GEODESIC-REVIEW.json", + "receipt_sha256": "9fa84dfe8854e10593548b25e594e909465da0583161ac473d13a44dfc50dfe4", + "seconds": 3.752396, + "status": "ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION" + } + ], + "complete_kappa_improvement": false, + "frozen_source_files": 28, + "historical_source": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "not_rerun": [ + "Primary fixed-word package's mathematical checks", + "Global native emitter", + "One-shot mode native admission", + "Whole-owner hosting review", + "Current selected PR4470 replay", + "Scalar/address or recursive repricing" + ], + "optimized": true, + "parallel_workers": 1, + "parent_files_unchanged": 54, + "parent_manifest_sha256": "82c3a08fdb3a5d90fd44d7da70c8b51b518723cf8f2325e10cffba896557d836", + "python": "3.14.7 (main, Aug 5 2026, 10:29:49) [Clang 21.0.0 (clang-2100.1.1.101)]", + "status": "PASS_GEODESIC_BOUNDARY_ANNEX" +} diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/independent.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/independent.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/independent.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/independent.stdout.txt new file mode 100644 index 0000000000..62fba77ccb --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/independent.stdout.txt @@ -0,0 +1,2 @@ +ACCEPTED_INDEPENDENT_COMMON_BOUNDARY_PATH_OBSTRUCTION +all_four_local_words=true normalized_rank=1130624 minimum_added_rank=14336 diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/producer.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/producer.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/producer.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/producer.stdout.txt new file mode 100644 index 0000000000..03ce7d46cf --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/cold-replay/producer.stdout.txt @@ -0,0 +1,2 @@ +PASS_COMMON_BOUNDARY_GEODESIC_PREMISES_AND_INVOICE +local rank 5522 -> at least 5746; whole common-boundary rank 1130624; added rank 14336 diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/parent_integrity.stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/parent_integrity.stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/parent_integrity.stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/parent_integrity.stdout.txt new file mode 100644 index 0000000000..820584e488 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/geodesic-review/parent_integrity.stdout.txt @@ -0,0 +1 @@ +PASS_FIXED_WORD_GAUGE_PACKAGE_INTEGRITY diff --git a/research/publication-reviews/fixed-word-gauge-limits/scope_check.py b/research/publication-reviews/fixed-word-gauge-limits/scope_check.py new file mode 100644 index 0000000000..2794470f72 --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/scope_check.py @@ -0,0 +1,100 @@ +"""Check the stated scope arithmetic without package checker imports.""" + +from collections import Counter +from fractions import Fraction +from pathlib import Path +import gzip +import json + + +HERE = Path(__file__).resolve().parent +PACKAGE = HERE / "cold" / "package" + + +def check(condition, label): + if not condition: + raise ValueError(label) + + +def span(rows): + values = {0} + for row in rows: + values |= {value ^ row for value in values} + return values + + +def rank(rows): + pivots = {} + for value in rows: + while value: + bit = value.bit_length() - 1 + if bit not in pivots: + pivots[bit] = value + break + value ^= pivots[bit] + return len(pivots) + + +word = json.loads(gzip.decompress((PACKAGE / "data/CANONICAL-WORD.json.gz").read_bytes())) +programs = json.loads(gzip.decompress((PACKAGE / "data/LOCAL-PROGRAMS.json.gz").read_bytes())) +profiles = {} +for orientation, program in programs.items(): + profile = Counter() + for event in program: + if event[0] in ("center", "climb"): + profile[event[-1]] += 1 + elif event[0] in ("adapter", "residual_adapter"): + profile[0] += 1 + check(profile == {0: 1570, 1: 2412, 2: 418, 3: 432, 4: 142, 5: 82, 8: 8}, "source profile") + check(sum(profile.values()) == 5064, "event count") + check(sum(r * n for r, n in profile.items()) == 5586, "rank mass") + profiles[orientation] = dict(profile) + +basis = [30, 45, 75, 128, 256] +centres = [span(word["frames"][f]) for f in word["center_frames"]] +common = set.intersection(*centres) +check(common == span(basis) and len(common) == 32, "common intersection") +gram = [sum(((u & v).bit_count() % 2) << j for j, v in enumerate(basis)) for u in basis] +check(gram == [0, 0, 0, 8, 16] and rank(gram) == 2, "Gram rank") +sharp_ranks = [] +twisted_zero = [((1 << j) << 9) | ((1 << j) & 384) for j in range(9)] +for frame_id, values in zip(word["center_frames"], centres): + frame = word["frames"][frame_id] + perpendicular = [v for v in range(512) if all((v & u).bit_count() % 2 == 0 for u in frame)] + label = [u | (u << 9) for u in frame] + [v << 9 for v in perpendicular] + check(rank(label) == 9 and len(values) == 256, "centre dimensions") + fixed = {u for u in values if u == (u & 384)} + check(fixed == {0, 128, 256, 384}, "fixed space") + result = rank(label + twisted_zero) - 9 + check(result == 6, "sharp descent rank") + sharp_ranks.append(result) + +replay = json.loads((HERE / "cold-output/REPLAY.json").read_text()) +changed = {int(k): v for k, v in replay["frame415_counterexample"]["profile"].items()} +baseline = profiles["forward"] +check(sum(changed.values()) == 5064, "counterexample event count") +rank_delta = sum(r * n for r, n in changed.items()) - 5586 +child_delta = sum(n for r, n in changed.items() if r > 0) - sum(n for r, n in baseline.items() if r > 0) +check((rank_delta, child_delta) == (48, -1), "counterexample costs") +check(49**5 > 81 * 20**5, "first strict fifth-power bound") +check(303**5 < 8 * 200**5, "second strict fifth-power bound") +check(Fraction(24, 49) - Fraction(97, 200) == Fraction(47, 9800), "strict gap") +result = { + "status": "PASS_INDEPENDENT_SCOPE_ARITHMETIC", + "imports_package_checkers": False, + "source_profiles": profiles, + "source_native_events": 5064, + "source_rank_mass": 5586, + "all_nonzero_lines": 511, + "odd_lines": sum(a.bit_count() % 2 for a in range(1, 512)), + "common_odd_lines": sorted(a for a in common if a.bit_count() % 2), + "common_gram_rows": gram, + "common_gram_rank": 2, + "sharp_centre_ranks": sharp_ranks, + "frame415_counterexample_rank_delta": rank_delta, + "frame415_counterexample_paid_child_delta": child_delta, + "strict_moment_gap": "47/9800", + "scope": "Arithmetic checks for existing claims. The proof review supplies the general statements.", +} +(HERE / "SCOPE-CHECK.json").write_text(json.dumps(result, indent=2, sort_keys=True) + "\n") +print(result["status"]) diff --git a/research/publication-reviews/fixed-word-gauge-limits/stderr.txt b/research/publication-reviews/fixed-word-gauge-limits/stderr.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/research/publication-reviews/fixed-word-gauge-limits/stdout.txt b/research/publication-reviews/fixed-word-gauge-limits/stdout.txt new file mode 100644 index 0000000000..ab2c9edf0c --- /dev/null +++ b/research/publication-reviews/fixed-word-gauge-limits/stdout.txt @@ -0,0 +1,10 @@ +check common-rank +check common-thresholds +check product-thresholds +check frame415-thresholds +check four-state-thresholds +check all-lines-span +check all-lines-pairing +check common-product-rank +check negative-controls +PASS_FIXED_WORD_GAUGE_LIMITS